如何使用novaclient获取openstack实例的固定IP地址

时间:2014-08-12 12:12:02

标签: python openstack openstack-nova novaclient

我使用noveclient python api

启动openstack实例
server = nova.servers.create(name ="xxx",password="xxx",image="xxx",flavor= flavor.id ,key_name = "adikarikey",nics = [{'net-id': 'xxx','v4-fixed-ip': ''}])

我想获取已创建实例的IP地址。我该怎么办?

1 个答案:

答案 0 :(得分:0)

这是一种方法,不确定它是否效率最高,但这对Rackspace云服务器起作用。请注意,因为启动服务器是一项异步任务,所以在提取IP地址之前必须等待服务器正常运行。

ip_address = None
for network in server.networks['public']:
    if re.match('\d+\.\d+\.\d+\.\d+', network):
        ip_address = network
        break
if ip_address is None:
    print 'No IP address assigned!'
    sys.exit(1)
print 'The server is waiting at IP address {0}.'.format(ip_address)

此示例是我在nova API上撰写的文章的一部分,由Rackspace支持。完整的文章是here