25.2. ハードウェアのイントロスペクションに関するトラブルシューティング
イントロスペクションのプロセスは最後まで実行する必要があります。ただし、イントロスペクション ramdisk が応答しない場合には、ironic-inspector がデフォルトの 1 時間が経過した後にタイムアウトします。イントロスペクション ramdisk にバグがあることを示している可能性もありますが、通常は環境の設定ミス (特に、BIOS のブート設定) によりこのタイムアウトが発生します。
典型的な環境の誤設定の問題を診断して解決するには、以下の手順を実施します。
手順
stackrcファイルを取得します。source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow director は OpenStack Object Storage (swift) を使用して、イントロスペクションプロセス中に取得するハードウェアデータを保存します。このサービスが稼働していない場合には、イントロスペクションは失敗する場合があります。以下のコマンドを実行して、OpenStack Object Storage に関連したサービスをすべてチェックし、このサービスが稼働中であることを確認します。
(undercloud) $ sudo systemctl list-units tripleo_swift*
(undercloud) $ sudo systemctl list-units tripleo_swift*Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノードを
manageableの状態にします。イントロスペクションは、デプロイメント用を意味するavailableの状態にあるノードを検査しません。availableの状態にあるノードを検査するには、イントロスペクションの前にノードのステータスをmanageableの状態に変更します。(undercloud) $ openstack baremetal node manage [NODE UUID]
(undercloud) $ openstack baremetal node manage [NODE UUID]Copy to Clipboard Copied! Toggle word wrap Toggle overflow イントロスペクション ramdisk への一時的なアクセスを設定します。一時パスワードまたは SSH 鍵のいずれかを指定して、イントロスペクションのデバッグ中にノードにアクセスすることができます。ramdisk へのアクセスを設定するには、以下の手順を実施します。
一時パスワードを指定して
openssl passwd -1コマンドを実行し、MD5 ハッシュを生成します。(undercloud) $ openssl passwd -1 mytestpassword $1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/
(undercloud) $ openssl passwd -1 mytestpassword $1$enjRSyIw$/fYUpJwr6abFy/d.koRgQ/Copy to Clipboard Copied! Toggle word wrap Toggle overflow /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=0kernel 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=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow あるいは、
sshkeyパラメーターに公開 SSH 鍵 を追加します。注記rootpwdおよびsshkeyパラメーターには、いずれも引用符を含めます。
ノード上でイントロスペクションを実行します。
(undercloud) $ openstack overcloud node introspect [NODE UUID] --provide
(undercloud) $ openstack overcloud node introspect [NODE UUID] --provideCopy to Clipboard Copied! Toggle word wrap Toggle overflow イントロスペクションの完了後にノードの状態を
availableに変更するには、--provideオプションを使用します。dnsmasqログでノードの IP アドレスを特定します。(undercloud) $ sudo tail -f /var/log/containers/ironic-inspector/dnsmasq.log
(undercloud) $ sudo tail -f /var/log/containers/ironic-inspector/dnsmasq.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow エラーが発生する場合には、root ユーザーおよび一時アクセス用の詳細を使用してノードにアクセスします。
ssh root@192.168.24.105
$ ssh root@192.168.24.105Copy to Clipboard Copied! Toggle word wrap Toggle overflow イントロスペクション中にノードにアクセスして、診断コマンドを実行してイントロスペクションの失敗に関するトラブルシューティングを行います。
イントロスペクションのプロセスを停止するには、以下のコマンドを実行します。
(undercloud) $ openstack baremetal introspection abort [NODE UUID]
(undercloud) $ openstack baremetal introspection abort [NODE UUID]Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロセスがタイムアウトするまで待つことも可能です。
注記イントロスペクションの最初の中止後、Red Hat OpenStack Platform director は実行を 3 回試みます。イントロスペクションを完全に中止するには、それぞれの試行時に
openstack baremetal introspection abortコマンドを実行します。