23.4. rhel_mgmt.redfish_info モジュールを使用したアウトオブバンド管理用コントローラーからの情報の照会
redhat.rhel_mgmt コレクションの redfish_info モジュールを使用すると、Redfish API 経由でアウトオブバンド管理用 (OOB) コントローラーからの情報をリモートで照会できます。返された値を表示するには、取得した情報を変数に登録し、その変数の内容を表示します。
この Ansible モジュールを使用する場合、3 つのホストが関係します。コントロールノード、管理対象ノード、および実際の操作が実行される OOB コントローラーを備えたホストです。コントロールノードは管理対象ノード上で Playbook を実行します。管理対象ホストは Redfish API を使用してリモート OOB コントローラーに接続し、操作を実行します。たとえば、Playbook で hosts: managed-node-01.example.com と baseuri: server.example.com を設定すると、managed-node-01.example.com が server.example.com で操作を実行します。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo権限がある。 -
ansible-collection-redhat-rhel_mgmtパッケージがコントロールノードにインストールされている。 - OOB コントローラーにアクセスするための認証情報がある。また、この認証情報に設定を照会する権限がある。
- 管理対象ノードがネットワーク経由でリモートの OOB コントローラーにアクセスできる。
手順
機密性の高い変数を暗号化されたファイルに保存します。
vault を作成します。
$ ansible-vault create ~/vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>ansible-vault createコマンドでエディターが開いたら、機密データを<key>: <value>形式で入力します。redfish_usr: <username> redfish_pwd: <password>- 変更を保存して、エディターを閉じます。Ansible は vault 内のデータを暗号化します。
次の内容を含む Playbook ファイル (例:
~/playbook.yml) を作成します。--- - name: Query information by using the Redfish API hosts: managed-node-01.example.com vars_files: - ~/vault.yml tasks: - name: Get CPU inventory redhat.rhel_mgmt.redfish_info: baseuri: <uri> username: "{{ redfish_usr }}" password: "{{ redfish_pwd }}" category: Systems command: GetCpuInventory register: result - name: Display the fetched information ansible.builtin.debug: msg: "{{ result.redfish_facts.cpu.entries | to_nice_json }}"サンプル Playbook で指定されている設定は次のとおりです。
baseuri: <uri>- OOB コントローラーの URI を定義します。これは、管理対象ノードがアクションを実行するホストの OOB コントローラーです。
category: <value>照会する情報のカテゴリーを設定します。以下のカテゴリーが利用可能です。
-
Accounts: OOB コントローラーのユーザーアカウント -
Chassis: シャーシ関連の設定 -
Manager: Redfish サービス -
Session: Redfish ログインセッション -
Systems(デフォルト): マシン関連の設定 -
Update: ファームウェア関連の設定 -
All: すべてのカテゴリーの情報
リストを使用する場合は、複数のカテゴリーを設定することもできます (例
["Systems", "Accounts"])。-
command: <command>- 実行するクエリーコマンドを設定します。
Playbook で使用されるすべての変数の詳細を参照するには、コントロールノードで
ansible-doc redhat.rhel_mgmt.redfish_infoコマンドを使用して、モジュールのドキュメントを参照してください。Playbook の構文を検証します。
$ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.ymlこのコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
$ ansible-playbook --ask-vault-pass ~/playbook.yml