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)

novaこの例は、Rackspace でサポートされている APIについて私が書いた記事の一部です。記事全文はこちら.

于 2014-08-13T19:11:21.940 に答える