2014-01-13 7 views
6

私は、opensshckセットアップで、python-botoを使って複数のネットワークを設定してインスタンスを起動しようとしています。python-botoを使ってOpenstackインスタンスを起動する

しかし、私はエラー以下だ、

EC2ResponseError: EC2ResponseError: 400 Bad Request <?xml version="1.0"?> <Response><Errors><Error><Code>NetworkAmbiguous</Code><Message>Multiple possible networks found, use a Network ID to be more specific.</Message></Error></Errors><RequestID>req-28b5a4e8-3838-4111-95db-337c5048716d</RequestID></Response>

私のコードは、上記

from boto import ec2 
ostack = ec2.connection.EC2Connection(
    ec2_access_key, ec2_secret_key, is_secure=False, port=8773, region='nova', 
    path='/services/Cloud' 
) 

ostack.run_instances('ami-xxxxx', key_name='BotoTest') 

、ここのようなものであるOpenStackのように構成された単一のネットワークのため正常に動作しています。

注:run_instancesにはnetwork-idのキーワード引数はありません。

私は間違いや修正方法を教えてください。それともpython-botoのバグですか?

アドバンスin Thanks

+0

'right_aws'ルビーライブラリ'と同じ問題ec2.launch_instances' ...などあなたはそれがapiの問題だと言うでしょう – KCD

+0

まだopenstackの最新バージョンで確認してください。私はチェックを済ませたらあなたを更新します。 –

答えて

0

試しましたか? :

from boto import ec2 
ostack = ec2.connection.EC2Connection(
    ec2_access_key, ec2_secret_key, is_secure=False, port=8773, region='nova', 
    path='/services/Cloud', debug=1 
) 

はその後

ostack.run_instances('ami-xxxxx', subnet_id='your network id', key_name='BotoTest') 

AmazonはVPCのネットワークのためにこれを使用していますか?あなたはVPCを実行していますか?

2

これは、AWS-APIと通信するために作成されたbotoのバグではないと私は信じています。ほとんどのEC2-AWS機能はEC2-OpenStack APIでうまく機能しますが、一部の機能は実装されておらず、HTTPエラー500または400で回答されます。

AWSではVPC(Virtual Private Cloud)サブネットとしての可用性ゾーン両方ともデフォルト設定があります。これは、新しいインスタンスを作成するときにさらに仕様がない場合に行われます。しかし、OpenStackでは、ネットワークとサブネットをデフォルトとしてマークすることはできません。

私の試みでは、private_ip_addresssubnet_idも、OpenStackで複数ある場合はrun_instances()にネットワーク/サブネットを指定しません。

編集:あなたが唯一のネットワーク/サブネットを持っている場合は、次のコードは、trystack.orgでのbotoで正常に動作します:

import boto 
conn = boto.connect_ec2_endpoint("http://8.21.28.222:8773/services/Cloud",aws_access_key_id='...',aws_secret_access_key='...') 
new_instance = conn.run_instances("ami-00000020", key_name="trystack", security_groups=["default"], instance_type="m1.small") 
+0

ええ、あなたは正しいです。しかし、私はそれを無効にしようとしています。この問題はすぐに更新されます:-) –

+1

[ここ](https://wiki.openstack.org/wiki/Blueprint-aws-vpc-support#EC2_Instance_API_changes) –

+0

を確認できますか?OpenStack EC2 APIがフィルタリングされていないことがわかりました[run_instances](https://github.com/openstack/nova/blob/master/nova/api/ec2/cloud.py#L1267)のvpc /サブネット/ネットワークID – andpei

関連する問題