web-dev-qa-db-ja.com

OpenStackのクラウドインスタンスは公開SSHキーをインポートできません

ubuntu Cloud VM OpenStackのインスタンスがNova-apiのメタデータサーバーから公開キーをインポートできないという問題を実際に修正する方法を知っている人はいますか?

2012-07-18 11:05:45,409 - util.py[WARNING]: 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [113/120s]: url error [[Errno 111] Connection refused]
2012-07-18 11:05:52,419 - DataSourceEc2.py[CRITICAL]: giving up on md after 120 seconds

私はこの問題について多くの言及を見つけました(例 here または here )。機能しません。面白いルールは次のようです:

$ iptables -t nat -L -v | grep -n3 169.254.169.254
48-
49-Chain nova-network-PREROUTING (1 references)
50- pkts bytes target     prot opt in     out     source               destination         
51:   32  1920 DNAT       tcp  --  any    any     anywhere             169.254.169.254      tcp dpt:http to:128.131.172.155:8775
52-    0     0 DNAT       udp  --  any    any     anywhere             sneezy.infosys.tuwien.ac.at  udp dpt:1000 to:10.0.0.2:1194
53-
54-Chain nova-network-float-snat (1 references)

ところで、これを手動でデバッグする良い方法はありますか?

1
metakermit

オールインワン展開での問題の修正

IRCチャネル#openstack(zynzel、livemoon)の良き人々の助けを借りて、nova-apiを再起動するだけでこれを解決しました。

Sudo restart nova-api

次を発行することにより、メタデータサーバーが実際に起動していることを確認できます。

lsof -i:8775

コントローラーノードから、または

nmap -sS -sV -O -P0 -p8773-8776 <controller_ip>

コントローラノードのIPアドレスを使用して、ポート8775/tcpが開いてリッスンしていることを確認します。

メタデータサーバーを正しく初期化するには、nova-computeをインストールした後にnova-apiをインストールする必要があるため、これがDodai-deployの問題である可能性があります。

マルチノード展開の問題を修正する

マルチホスト展開を実行し、メタデータサーバーから公開キーを取得するUbuntuクラウドインスタンスを使用する場合は、コントローラーのnova.confでこれが必要です。

multihost=True
enabled_apis=metadata,ec2,osapi_compute,osapi_volume

これは、計算ノードのnova.confにあります。

multi_Host=True
enabled_apis=metadata

これがないと、インスタンスのコンソール出力(nova console-log test-instance)でメタデータサーバーに到達できず、sshできないというエラーが発生します。

別の解決策は、ユーザーデータダッシュボードフォーム(またはターミナル内のファイル)を介してLaunchpadにいるユーザーにインスタンスを伝え、そこから公開キーを取得できるようにすることです。構文は次のとおりです(他の場所では説明されていませんが、 ソースコード )。

#cloud-config
ssh_import_id: [your-launchpad-username]
1
metakermit