【问题标题】:Connect to openstack is failing连接到 openstack 失败
【发布时间】:2017-04-24 09:26:24
【问题描述】:

我已经编写了一些 python 代码来与 Openstack 实例交互;使用shade 库。

电话

myinstance = shade.openstack_cloud(cloud='mycloud', **auth_data)

在我的本地 Ubuntu 安装上运行良好;但在我们的“后端”服务器(运行 RHEL 7.2)上失败。

文件“mystuff/core.py”,第 248 行,在 _create_connection myinstance = shade.openstack_cloud(cloud='mycloud', **auth_data)

文件“/usr/local/lib/python3.5/site-packages/shade-1.20.0-py3.5.egg/shade/init.py”,第 106 行,在openstack_cloud 返回 OpenStackCloud(cloud_config=cloud_config, strict=strict)

文件“/usr/local/lib/python3.5/site-packages/shade-1.20.0-py3.5.egg/shade/openstackcloud.py”,第 312 行,在 init self._local_ipv6 = _utils.localhost_supports_ipv6()

文件“/usr/local/lib/python3.5/site-packages/shade-1.20.0-py3.5.egg/shade/_utils.py”,第 254 行,在 localhost_supports_ipv6 在 netifaces.gateways()['default'] 中返回 netifaces.AF_INET6

AttributeError: 模块“netifaces”没有属性“AF_INET6”

该系统的管理员告诉我那里没有启用 IPv6;也许这解释了失败。我做了一些研究,但找不到任何可以防止失败的东西。

欢迎提出任何意见

更新:我编辑了我的 cloud.yml;它看起来像这样:

# openstack/shade config file 
# required to connect provisioning using the shade module
client:
    force_ipv4: true
clouds:
    mycloud:
        auth:
        user_domain_name: xxx
        auth_url: 'someurl'
    region_name: RegionOne

我也试过export OS_FORCE_IPV4=True - 但错误消息仍然存在。

【问题讨论】:

    标签: python openstack openstack-shade


    【解决方案1】:

    如果你通过 OpenStack os-client-config documentation,他们已经提到了 IPV6 相关问题。

    IPv6 是未来,如果您的云计算,您应该始终使用它 支持它,如果您的本地网络支持它。这两个都是 易于检测,所有友好的软件都应该做正确的事情。 但是,有时您可能存在于您拥有 IPv6 堆栈,但一些邪恶的东西导致它实际上无法运行。 在这种情况下,您可以设置一个配置选项来破解您 force_ipv4 或 OS_FORCE_IPV4 布尔环境变量。

    因此,使用这些boolean 配置,您可以强制使用适当的网络协议。将以下行添加到您的 clouds.yaml 文件中

     client:
       force_ipv4: true
    

    将强制IPV4 并希望它能解决您的问题。

    由 OP 编辑​​:不幸的是,以上没有帮助;通过返工修复它shade-1.20.0-py3.5.egg/shade/_utils.py:我更改了返回语句

    return netifaces.AF_INET6 in netifaces.gateways()['default']` 
    

    简单

    return False
    

    而且东西正在工作。当然,这只是一种解决方法;但也提交了错误报告。

    【讨论】:

    • 我无法复制您的问题,因此添加了一个可能的解决方案。
    • 谢谢@GhostCat ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 2020-08-27
    • 2012-05-25
    相关资源
    最近更新 更多