7.2.2. ベアメタルノードハードウェアのインベントリーの作成
ディレクターは、プロファイルのタグ付け、ベンチマーク、および手動のルートディスク割り当てのために、Red Hat OpenStack Platform (RHOSP) デプロイメント内のノードのハードウェアインベントリーを必要とします。
次のいずれかの方法を使用して、ハードウェアインベントリーをディレクターに提供できます。
- Automatic: 各ノードからハードウェア情報を収集するディレクターのイントロスペクションプロセスを使用できます。このプロセスは、各ノードでイントロスペクションエージェントを起動します。イントロスペクションエージェントは、ノードからハードウェアのデータを収集し、そのデータを director に送り返します。Director は、ハードウェアデータを OpenStack 内部データベースに保存します。
Manual: 各ベアメタルマシンの基本的なハードウェアインベントリーを手動で設定できます。このインベントリーは、ベアメタルプロビジョニングサービス (ironic) に保存され、ベアメタルマシンの管理とデプロイに使用されます。
注記ネットワークブートローダーの制約により、RHOSP はセキュアブートでのイントロスペクションをサポートしません。director 用の提供されたオーバークラウドイメージを使用してオーバークラウドノードがデプロイされている場合、オーバークラウドのデプロイ後にセキュアブートを有効にできる可能性があります(
overcloud-hardened-uefi-full.qcow2)。
ディレクターの自動イントロスペクションプロセスには、ベアメタルプロビジョニングサービスポートを手動で設定する方法に比べて、次の利点があります。
-
イントロスペクションは、接続されているすべてのポートをハードウェア情報に記録します。これには、
nodes.yamlでまだ設定されていない場合に PXE ブートに使用するポートも含まれます。 -
イントロスペクションは、属性が LLDP を使用して検出可能である場合、各ポートの
local_link_connection属性を設定します。手動による方法を使用する場合は、ノードを登録するときに各ポートにlocal_link_connectionを設定する必要があります。 -
イントロスペクションは、スパイン/リーフ型または DCN のアーキテクチャーをデプロイするときに、ベアメタルプロビジョニングサービスポートの
physical_network属性を設定します。
7.2.2.1. ディレクターのイントロスペクションを使用してベアメタルノードのハードウェア情報を収集する リンクのコピーリンクがクリップボードにコピーされました!
物理マシンをベアメタルノードとして登録した後、ディレクターイントロスペクションを使用して、ハードウェアの詳細を自動的に追加し、イーサネット MAC アドレスごとにポートを作成できます。
自動イントロスペクションの代わりに、ベアメタルノードのハードウェア情報をディレクターに手動で提供できます。詳細は、ベアメタルノードのハードウェア情報の手動設定 を参照してください。
director イントロスペクションは、セキュアブートをサポートしません。
前提条件
- オーバークラウドのベアメタルノードを登録しました。
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。$ source ~/stackrcpre-introspection 検証グループを実行して、プリイントロスペクションの要件を確認します。
(undercloud)$ validation run --group pre-introspection \ --inventory <inventory_file><inventory_file>ファイルを Ansible インベントリーファイルの名前および場所に置き換えます (例:~/tripleo-deploy/undercloud/tripleo-ansible-inventory.yaml)。注記検証を実行すると、出力の
Reasons列は 79 文字に制限されます。検証結果を完全に表示するには、検証ログファイルを表示します。
- 検証レポートの結果を確認します。
オプション: 特定の検証からの詳細な出力を確認します。
(undercloud)$ validation history get --full <UUID><UUID>は、確認するレポートの特定の検証の UUID に置き換えます。重要検証結果が
FAILEDであっても、Red Hat OpenStack Platform のデプロイや実行が妨げられることはありません。ただし、FAILEDの検証結果は、実稼働環境で問題が発生する可能性があることを意味します。
各ノードのハードウェア属性を検証します。すべてのノードまたは特定のノードのハードウェア属性を検査できます。
すべてのノードのハードウェア属性を検査します。
(undercloud)$ openstack overcloud node introspect --all-manageable --provide-
--all-manageableオプションを使用して、管理状態にあるノードのみをイントロスペクションします。ここでは、すべてのノードが管理状態にあります。 -
--provideオプションを使用して、イントロスペクション後に全ノードをavailableの状態に再設定します。
-
特定のノードのハードウェア属性を検査します。
(undercloud)$ openstack overcloud node introspect --provide <node1> [node2] [noden]-
--provideオプションを使用して、イントロスペクション後に指定されたすべてのノードをavailable状態にリセットします。 -
<node1>、[node2]、および[noden]までのすべてのノードを、イントロスペクションする各ノードの UUID に置き換えます。
-
別のターミナルウィンドウで、イントロスペクションの進捗ログを監視します。
(undercloud)$ sudo tail -f /var/log/containers/ironic-inspector/ironic-inspector.log重要イントロスペクションプロセスが完了するまで実行されていることを確認します。イントロスペクションは通常、ベアメタルノードの場合 15 分かかります。ただし、イントロスペクションネットワークのサイズが正しくないと、時間がかかる可能性があり、イントロスペクションが失敗する可能性があります。
オプション: IPv6 を介したベアメタルプロビジョニング用にアンダークラウドを設定した場合は、LLDP がベアメタルプロビジョニングサービス (ironic) ポートの
local_link_connectionを設定していることも確認する必要があります。$ openstack baremetal port list --long -c UUID -c "Node UUID" -c "Local Link Connection"ベアメタルノードのポートに対して Local Link Connection フィールドが空の場合、
local_link_connection値に偽のデータを手動で入力する必要があります。次の例では、偽のスイッチ ID を52:54:00:00:00:00に設定し、偽のポート ID をp0に設定します。$ openstack baremetal port set <port_uuid> \ --local-link-connection switch_id=52:54:00:00:00:00 \ --local-link-connection port_id=p0ローカルリンク接続フィールドにダミーのデータが含まれていることを確認します。
$ openstack baremetal port list --long -c UUID -c "Node UUID" -c "Local Link Connection"
イントロスペクション完了後には、すべてのノードが available の状態に変わります。