22.2. ハードウェアのイントロスペクションに関するトラブルシューティング
イントロスペクションのプロセスは最後まで実行する必要があります。ただし、イントロスペクション ramdisk が応答しない場合には、ironic-inspector
がデフォルトの 1 時間が経過した後にタイムアウトします。イントロスペクション ramdisk にバグがあることを示している可能性もありますが、通常は環境の設定ミス (特に、BIOS のブート設定) によりこのタイムアウトが発生します。
以下の手順で、環境設定が間違っている場合の典型的なシナリオ、および診断/解決方法に関するアドバイスについて説明します。
手順
stackrc
ファイルを取得します。$ source ~/stackrc
director は OpenStack Object Storage (swift) を使用して、イントロスペクションプロセス中に取得したハードウェアデータを保存します。このサービスが稼働していない場合には、イントロスペクションは失敗する場合があります。以下のコマンドを実行して、OpenStack Object Storage に関連したサービスをすべてチェックし、このサービスが稼働中であることを確認します。
(undercloud) $ sudo systemctl list-units tripleo_swift*
ノードが
manageable
の状態であることを確認します。イントロスペクションは、デプロイメント用を意味するavailable
の状態のノードを検査しません。その場合には、イントロスペクションの前にノードの状態をmanageable
に変更します。(undercloud) $ openstack baremetal node manage [NODE UUID]
イントロスペクション ramdisk への一時的なアクセスを設定します。一時パスワードまたは SSH 鍵のいずれかを指定して、イントロスペクションのデバッグ中にノードにアクセスすることができます。ramdisk へのアクセスを設定するには、以下の手順を実施します。
一時パスワードを指定して
openssl passwd -1
コマンドを実行し、MD5 ハッシュを生成します。(undercloud) $ openssl passwd -1 mytestpassword $1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/
/var/lib/ironic/httpboot/inspector.ipxe
ファイルを編集し、kernel
で始まる行を特定し、rootpwd
パラメーターおよび MD5 ハッシュを追記します。以下に例を示します。kernel http://192.2.0.1:8088/agent.kernel ipa-inspection-callback-url=http://192.168.0.1:5050/v1/continue ipa-inspection-collectors=default,extra-hardware,logs systemd.journald.forward_to_console=yes BOOTIF=${mac} ipa-debug=1 ipa-inspection-benchmarks=cpu,mem,disk rootpwd="$1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/" selinux=0
あるいは、
sshkey
パラメーターに公開 SSH 鍵 を追加します。注記rootpwd
およびsshkey
パラメーターには、いずれも引用符を含めます。
ノード上でイントロスペクションを実行します。
(undercloud) $ openstack overcloud node introspect [NODE UUID] --provide
--provide
オプションを使用すると、イントロスペクションの完了時にノードの状態がavailable
に変わります。dnsmasq
ログでノードの IP アドレスを特定します。(undercloud) $ sudo tail -f /var/log/containers/ironic-inspector/dnsmasq.log
エラーが発生する場合には、root ユーザーおよび一時アクセス用の詳細を使用してノードにアクセスします。
$ ssh root@192.168.24.105
イントロスペクション中にノードにアクセスすると、診断コマンドを実行してイントロスペクションの失敗に関するトラブルシューティングを行うことができます。
イントロスペクションのプロセスを停止するには、以下のコマンドを実行します。
(undercloud) $ openstack baremetal introspection abort [NODE UUID]
プロセスがタイムアウトするまで待つことも可能です。
注記イントロスペクションの最初の中止後、OpenStack Platform director は実行を 3 回試みます。イントロスペクションを完全に中止するには、それぞれの試行時に
openstack baremetal introspection abort
コマンドを実行します。