您好,当我在 openstack 仪表板中创建一个实例并尝试分配一个 IP 地址时,我看到:
错误:404-{u'NeutronError':{u'message':u'无法从子网 ce361cbe-9e1b-46a3-aa27-5ab6e757cf82 访问外部网络 a522b82c-7640-4108-8bdb-72e6218aace7。因此,无法将端口 b8caff6b-e2cc-4a1f-8cb3-bf06c583ea8b 与浮动 IP 关联。',u'type':u'ExternalGatewayForFloatingIPNotFound',u'detail':u''}} × 错误:无法关联 IP 地址 192.168.1.138。
我有一台 MAAS 服务器和两个节点。我的网络是:
213.149.xx ==> 192.168.1.1 ==> 192.168.50.1 ==> MAAS + 节点 + 节点
您能给我建议一下我的网络拓扑应该是什么样的吗?谢谢!
答案1
感谢您的报告!
这是 juju-core 中已确认的错误,您帮助发现了它:https://bugs.launchpad.net/juju-core/+bug/1283866。
这基本上意味着 Juju 的 OpenStack 提供程序尚未与更高版本的 OpenStack 兼容,包括 Grizzly(在某些情况下)。由于当前开发的一部分强调更可定制的网络和 Juju 环境中实体之间更好的可寻址性,因此您的问题被视为回归,并且很可能会在下一个稳定的 Juju 版本(1.18.0)中修复。
同时,您可以手动或通过 OpenStack 命令行客户端重现建议的修复:
- 不要创建 2 个带有网络掩码 /24 的独立子网,而是创建带有掩码 /16 的子网。
- 使用足够新的 OpenStack(至少是 Havana)的方式:看这里)您可以创建一个路由器、网关,将其中一个分配给另一个,并确保它们都适合相同的 /16 网络掩码。这样,您就可以启用顺序耗尽的浮动 IP 分配(选择下一个可用的 IP 地址,然后将其转换为每个子网的 IP 地址)。
- 也可以看看http://openstack.redhat.com/Running_an_instance_with_Neutron