weixin_52331560 2025-09-07 11:26 采纳率: 55.6%
浏览 8

openstack创建实例报错

我有一个自建Dalmatian版本的openstack集群。一个控制节点一个计算节点。网络使用ml2 openvswich。创建实例报错:
消息
Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance a713361e-0029-43a3-a802-a2cc67f66421.
编码
500
详情
Traceback (most recent call last): File "/usr/lib/python3/dist-packages/nova/conductor/manager.py", line 705, in build_instances raise exception.MaxRetriesExceeded(reason=msg) nova.exception.MaxRetriesExceeded: Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instancea713361e-0029-43a3-a802-a2cc67f66421.

img

控制节点nova-conductor报错
2025-09-07 03:12:34.565 60343 ERROR nova.network.neutron [None req-0011a31e-4408-480d-891e-696af663d30c 3631995f37ce45399718c380046e63bb d02fa089a9b94586a8e89bad5a501ec1 - - default default] The [neutron] section of your nova configuration file must be configured for authentication with the networking service endpoint. See the networking service install guide for details: https://docs.openstack.org/neutron/latest/install/: nova.exception.MaxRetriesExceeded: Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance a713361e-0029-43a3-a802-a2cc67f66421.
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [None req-0011a31e-4408-480d-891e-696af663d30c 3631995f37ce45399718c380046e63bb d02fa089a9b94586a8e89bad5a501ec1 - - default default] [instance: a713361e-0029-43a3-a802-a2cc67f66421] Failed to deallocate networks: neutronclient.common.exceptions.Unauthorized: Unknown auth type: None
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] Traceback (most recent call last):
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] File "/usr/lib/python3/dist-packages/nova/conductor/manager.py", line 705, in build_instances
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] raise exception.MaxRetriesExceeded(reason=msg)
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] nova.exception.MaxRetriesExceeded: Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance a713361e-0029-43a3-a802-a2cc67f66421.
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421]
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] During handling of the above exception, another exception occurred:
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421]
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] Traceback (most recent call last):
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] File "/usr/lib/python3/dist-packages/nova/conductor/manager.py", line 448, in _cleanup_allocated_networks
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] self.network_api.deallocate_for_instance(
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] File "/usr/lib/python3/dist-packages/nova/network/neutron.py", line 1823, in deallocate_for_instance
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] self._unbind_ports(context, ports_to_skip, neutron)
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] File "/usr/lib/python3/dist-packages/nova/network/neutron.py", line 642, in _unbind_ports
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] port_client = get_client(context, admin=True)
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] File "/usr/lib/python3/dist-packages/nova/network/neutron.py", line 249, in get_client
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] auth_plugin = _get_auth_plugin(context, admin=admin)
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] File "/usr/lib/python3/dist-packages/nova/network/neutron.py", line 228, in _get_auth_plugin
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] _ADMIN_AUTH = _load_auth_plugin(CONF)
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] ^^^^^^^^^^^^^^^^^^^^^^^
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] File "/usr/lib/python3/dist-packages/nova/network/neutron.py", line 88, in _load_auth_plugin
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] raise neutron_client_exc.Unauthorized(message=err_msg)
2025-09-07 03:12:34.566 60343 ERROR nova.conductor.manager [instance: a713361e-0029-43a3-a802-a2cc67f66421] neutronclient.common.exceptions.Unauthorized: Unknown auth type: None

  • 写回答

4条回答 默认 最新

  • 檀越@新空间 2025-09-07 11:28
    关注

    上午好☀️☀️☀️️
    本答案参考通义千问

    根据你提供的错误信息,可以总结出以下关键问题:

    1. Nova 无法与 Neutron 进行通信

      • 报错 The [neutron] section of your nova configuration file must be configured for authentication with the networking service endpoint.
      • 表明 Nova 配置中未正确配置 Neutron 的认证信息,导致 Nova 无法访问 Neutron API。
    2. 认证失败

      • 报错 neutronclient.common.exceptions.Unauthorized: Unknown auth type: None
      • 说明 Neutron 客户端在尝试连接时没有正确的身份验证凭据
    3. 实例创建失败

      • 最终报错 Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures...
      • 由于 Nova 无法与 Neutron 正常交互,导致实例无法创建并最终超时。

    解决方案

    一、检查并配置 Nova 的 Neutron 认证信息

    1. 编辑 Nova 配置文件

    找到 /etc/nova/nova.conf 文件,并确保 [neutron] 部分已正确配置:

    [neutron]
    auth_url = http://<neutron-controller-ip>:5000/v3
    username = <neutron-user>
    password = <neutron-password>
    project_name = <neutron-project>
    user_domain_name = Default
    project_domain_name = Default
    

    注意:

    • <neutron-controller-ip> 是 Neutron 控制节点的 IP 地址。
    • <neutron-user><neutron-password> 是 Neutron 用户的凭据。
    • <neutron-project> 是 Neutron 对应的项目名称(通常是 servicedemo)。

    2. 重启 Nova 服务

    修改后,重启 Nova 相关服务以使配置生效:

    sudo systemctl restart openstack-nova-conductor
    sudo systemctl restart openstack-nova-compute
    

    二、确认 Neutron 服务正常运行

    1. 检查 Neutron 服务状态

    sudo systemctl status neutron-server
    

    如果服务未运行,启动它:

    sudo systemctl start neutron-server
    sudo systemctl enable neutron-server
    

    2. 确认 Neutron API 可访问

    使用 curl 测试 Neutron API 是否可达:

    curl -I http://<neutron-controller-ip>:9696
    

    如果返回 HTTP/1.1 200 OK,表示 API 可用。


    三、检查 OpenStack 身份认证服务(Keystone)

    1. 确保 Keystone 服务正常运行

    sudo systemctl status openstack-keystone
    

    2. 检查 Neutron 用户和项目是否在 Keystone 中存在

    openstack user show <neutron-user>
    openstack project show <neutron-project>
    

    如果没有,则需要在 Keystone 中创建对应的用户和项目。


    四、检查网络配置(ML2 + Open vSwitch)

    1. 确保 ML2 配置正确

    检查 /etc/neutron/plugins/ml2/ml2_conf.ini 文件:

    [ml2]
    type_drivers = flat,vlan,gre,vxlan
    tenant_network_types = vxlan
    mechanism_drivers = openvswitch
    

    2. 确保 Open vSwitch 服务正常运行

    sudo systemctl status openvswitch-switch
    

    如果未运行,启动它:

    sudo systemctl start openvswitch-switch
    sudo systemctl enable openvswitch-switch
    

    五、检查防火墙或 SELinux 设置

    1. 暂时关闭防火墙测试

    sudo ufw disable
    

    或者开放相关端口(如 5000, 9696, 80, 443 等)。

    2. 关闭 SELinux(临时)

    setenforce 0
    

    如果问题解决,可考虑永久关闭或调整策略。


    总结:关键点

    1. Nova 的 Neutron 配置必须正确,否则无法与 Neutron 通信。
    2. Neutron 服务必须正常运行,且 API 可达。
    3. Keystone 必须正确配置了 Neutron 用户和项目
    4. Open vSwitch 和 ML2 配置必须正确
    5. 防火墙或 SELinux 可能阻止通信,需临时关闭排查。

    示例修改后的 nova.conf 配置

    [neutron]
    auth_url = http://192.168.1.100:5000/v3
    username = neutron
    password = neutron_password
    project_name = service
    user_domain_name = Default
    project_domain_name = Default
    

    如果你仍然遇到问题,请提供以下信息以便进一步诊断:

    • nova.conf 文件内容
    • neutron.conf 文件内容
    • keystone 中的用户和项目信息
    • OpenStack 版本(Dalmatian 是一个较旧版本,建议升级到更稳定版本)
    评论

报告相同问题?

问题事件

  • 创建了问题 9月7日