使用nova版本“2”对设置和功能性nova客户机的调用没有浮动的\u ips属性。在
from novaclient import client as NovaClient
class FloatingIpProvisioner():
def __init__(self, os_session):
self.nova = NovaClient.Client(version="2", session=os_session)
def AddFloatingIpToInstance(self, instance):
self.nova.floating_ip_pools
floating_ip = self.nova.floating_ips.create()
instance = self.nova.servers.find(name="test")
instance.add_floating_ip(floating_ip)
return floating_ip
instance = NovaClient.Client(version="2", session=session).servers.find(name="ansiblemaster")
floatingIp = FloatingIpProvisioner(session).AddFloatingIpToInstance(instance)
调用上述文件时出现错误:
^{pr2}$这就是Openstack和许多第三方教程向实例添加浮动ip的方式。在
大多数现代的OpenStack部署不再使用遗留的Nova网络实现,而是使用Neutron来管理网络和地址。这意味着Nova服务器不提供必要的API端点,因此
floating_ips
资源和方法不再可用。在为了创建一个新的浮动ip地址,您需要与中子进行交互。在
如果您正在编写自己的OpenStack客户机,您可能需要研究shade模块。这包围了许多OpenStack api,以提供更方便的编程接口。例如,您的代码变成:
相关问题 更多 >
编程相关推荐