3

我使用 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 地址。我该怎么做 ?

4

1 回答 1

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)

这个例子是我写的一篇关于novaAPI 的文章的一部分,由 Rackspace 支持。完整的文章在这里

于 2014-08-13T19:11:21.940 回答