23.5. rhel_mgmt.redfish_config モジュールを使用した BIOS、UEFI、およびアウトオブバンド管理用コントローラーの管理
redhat.rhel_mgmt
コレクションの redfish_config
モジュールを使用して、Redfish API 経由で BIOS、UEFI、およびアウトオブバンド管理用 (OOB) コントローラーの設定を指定できます。これにより、Ansible を使用してリモートで設定を変更できます。
この 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
$ ansible-vault create ~/vault.yml New Vault password: <vault_password> Confirm New Vault password: <vault_password>
Copy to Clipboard Copied! ansible-vault create
コマンドでエディターが開いたら、機密データを<key>: <value>
形式で入力します。redfish_usr: <username> redfish_pwd: <password>
redfish_usr: <username> redfish_pwd: <password>
Copy to Clipboard Copied! - 変更を保存して、エディターを閉じます。Ansible は vault 内のデータを暗号化します。
次の内容を含む Playbook ファイル (例:
~/playbook.yml
) を作成します。--- - name: Configure BIOS/UEFI settings by using the Redfish API hosts: managed-node-01.example.com vars_files: - ~/vault.yml tasks: - name: Change the boot mode to UEFI redhat.rhel_mgmt.redfish_config: baseuri: <uri> username: "{{ redfish_usr }}" password: "{{ redfish_pwd }}" category: Systems command: SetBiosAttributes bios_attributes: BootMode: "Uefi"
--- - name: Configure BIOS/UEFI settings by using the Redfish API hosts: managed-node-01.example.com vars_files: - ~/vault.yml tasks: - name: Change the boot mode to UEFI redhat.rhel_mgmt.redfish_config: baseuri: <uri> username: "{{ redfish_usr }}" password: "{{ redfish_pwd }}" category: Systems command: SetBiosAttributes bios_attributes: BootMode: "Uefi"
Copy to Clipboard Copied! サンプル Playbook で指定されている設定は次のとおりです。
baseuri: <uri>
- OOB コントローラーの URI を定義します。これは、管理対象ノードがアクションを実行するホストの OOB コントローラーです。
category: <value>
実行するコマンドのカテゴリーを設定します。以下のカテゴリーが利用可能です。
-
Accounts
: OOB コントローラーのユーザーアカウントを管理します。 -
Chassis
: シャーシ関連の設定を管理します。 -
Manager
: Redfish サービスへのアクセスを提供します。 -
Session
: Redfish ログインセッションを管理します。 -
Systems
(デフォルト): マシン関連の設定を管理します。 -
Update
: ファームウェアの更新関連の操作を管理します。
-
command: <command>
- 実行するコマンドを設定します。コマンドによっては、追加の変数を設定する必要があります。
Playbook で使用されるすべての変数の詳細は、コントロールノードで
ansible-doc redhat.rhel_mgmt.redfish_config
コマンドを使用して、モジュールのドキュメントを参照してください。Playbook の構文を検証します。
ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
$ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
Copy to Clipboard Copied! このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
ansible-playbook --ask-vault-pass ~/playbook.yml
$ ansible-playbook --ask-vault-pass ~/playbook.yml
Copy to Clipboard Copied!