以下の API 呼び出しで nova python クライアントを使用して cirros インスタンスを生成しようとしました。
server = nova.servers.create(name = "cirros_vm",
image = image.id,
flavor = flavor.id )
次のエラーが表示されます。
novaclient.exceptions.BadRequest: Multiple possible networks
found, use a Network ID to be more specific. (HTTP 400)
(Request-ID: req-c3aba1d2-23e9-4751-badc-60142286232e)
これは、テナント内に複数のネットワークがあるためです。ヘルプ ドキュメントには、オプションのnics
引数を使用する必要があることが示されています。
:param nics: (optional extension) an ordered list of nics to be
added to this server, with information about
connected networks, fixed ips, port etc.
しかし、ネットワーク ID をこの API に渡す方法がわかりません。ネットワークIDを順序付きリストとして与えると、
server = nova.servers.create(name = "api_cir_test",
image = image.id,
flavor = flavor.id,
nics=[ network1.id, network2.id])
次のエラーが表示されます。
AttributeError: 'unicode' object has no attribute 'get'
以下は、使用される変数の詳細です。
nova is an object of Client in module novaclient.v1_1.client
image = nova.images.find(name="cirros")
flavor =nova.flavors.find(name="m1.small")
network =nova.networks.find(label="test_net")