我编写了一些 python 代码来与 Openstack 实例交互;使用阴影库。
通话
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=严格的)
文件“/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()
localhost_supports_ipv6 中的文件“/usr/local/lib/python3.5/site-packages/shade-1.20.0-py3.5.egg/shade/_utils.py”,第 254 行,在 netifaces.gateways 中返回 netifaces.AF_INET6( )['默认']
AttributeError:模块“netifaces”没有属性“AF_INET6”
该系统的管理员告诉我那里没有启用 IPv6;也许这解释了失败。我做了一些研究,但找不到任何可以防止失败的东西。
欢迎任何想法。
更新:我编辑了我的clouds.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
- 但错误信息仍然存在。