5.10. Red Hat Enterprise Linux システムロール
新しい sshd_allow_restart
変数により、必要に応じて sshd
サービスを再起動できるようになる
この更新前は、sshd
RHEL システムロールは、必要なときに管理対象ノード上の sshd
サービスを再起動していませんでした。その結果、`/etc/sysconfig/` ディレクトリーの設定ファイルと環境ファイルに関連する一部の変更は適用されませんでした。この問題を解決するために、必要に応じて管理対象ノード上の sshd
サービスを再起動するための sshd_allow_restart
(ブール値、デフォルトは true
) 変数が導入されました。その結果、sshd
RHEL システムロールはすべての変更を正しく適用し、sshd
サービスが実際にそれらの変更を使用するようになりました。
podman
RHEL システムロールが、run_as_user
変数の使用時にシークレットの処理に失敗しなくなる
この更新前は、ユーザー情報が不足しているため、podman
RHEL システムロールは、run_as_user
変数を使用して特定のユーザーに指定されたシークレットを処理できませんでした。これにより、run_as_user
が設定されているシークレットを処理しようとしたときにエラーが発生しました。この問題は修正され、podman
RHEL システムロールは、run_as_user
変数を使用して特定のユーザーに指定されたシークレットを正しく処理するようになりました。
変更が適用された場合、firewall
RHEL システムロールが changed: True
を報告する
Playbook の処理中に、Playbook 内の interface
変数と管理対象ノード上の既存のネットワークインターフェイスを使用すると、firewall
RHEL システムロールの firewall_lib.py
モジュールによって changed
メッセージが False
に置き換えられていました。その結果、変更が行われた場合でも firewall
は changed: False
メッセージを報告し、forward_port
変数の内容は永続的に保存されませんでした。この更新により、firewall
RHEL システムロールは、changed
値が False
にリセットされないようにします。その結果、ロールは変更があった場合に changed: True
を報告し、forward_port
の内容は永続的に保存されます。
certificate
RHEL システムロールは、発行された証明書に秘密鍵がない場合にエラーを正しく報告する
証明書の秘密鍵が削除されると、管理対象ノード上の certmonger
ユーティリティーが無限ループに入りました。その結果、秘密鍵が削除された証明書を再発行すると、コントロールノード上の certificate
RHEL システムロールが応答しなくなりました。この更新により、certificate
RHEL システムロールは処理を停止し、修正手順を含むエラーメッセージが表示されます。その結果、説明したシナリオで certificate
が応答しなくなることはなくなりました。
Jira:RHEL-13333[1]
postgresql
RHEL システムロールは、TLS 証明書と秘密鍵へのパスの設定に失敗しなくなる
postgresql
RHEL システムロールの postgresql_cert_name
変数は、管理対象ノード上の接尾辞なしの TLS 証明書と秘密鍵への基本パスを定義します。この更新前は、ロールは証明書と秘密鍵の内部変数を定義していませんでした。その結果、postgresql_cert_name
を設定すると、Ansible タスクは次のエラーメッセージで失敗しました。
The task includes an option with an undefined variable. The error was: '__pg_server_crt' is undefined. '__pg_server_crt' is undefined
The task includes an option with an undefined variable. The error was: '__pg_server_crt' is undefined. '__pg_server_crt' is undefined
この更新により、ロールはこれらの内部変数を正しく定義し、タスクは PostgreSQL 設定ファイル内の証明書と秘密鍵へのパスを設定します。
network
RHEL システムロールが永続的な MAC アドレスの一致を優先する
以下の条件がすべて満たされた場合:
- ネットワーク接続が、親接続および Virtual Local Area Network (VLAN) 接続の設定のために、インターフェイス名と Media Access Control (MAC) アドレスの両方を指定した場合。
- 物理インターフェイスの永久 MAC アドレスと現行 MAC アドレスが同一な場合。
- ネットワーク設定が複数回適用された場合。
network
RHEL システムロールは、ユーザーが指定した MAC アドレスを、sysfs
仮想ファイルシステムの永続的な MAC アドレスまたは現行 MAC アドレスと比較しました。その後、インターフェイス名がユーザーが指定したものと異なる場合でも、ロールは現行 MAC との一致を有効として扱いました。その結果、"no such interface exists" というエラーが発生しました。この更新により、link_info_find()
メソッドは、永続的な MAC アドレスが有効かつ利用可能な場合に、一致するリンクを優先します。永続的な MAC が利用できない場合 (None または "00:00:00:00:00:00")、このメソッドは現行 MAC アドレスとの一致にフォールバックします。その結果、この変更により、永続アドレスが優先されると同時に、永続アドレスのないインターフェイスに対する信頼性の高いフォールバックメカニズムが維持されるため、MAC アドレスの一致がより堅牢になります。
ansible-doc
コマンドが redhat.rhel_system_roles
コレクションのドキュメントを再度提供する
この更新前は、vpn
RHEL システムロールに内部 Ansible フィルター vpn_ipaddr
のドキュメントは含まれていませんでした。その結果、ansible-doc
コマンドを使用して redhat.rhel_system_roles
コレクションのドキュメントをリスト表示すると、エラーが発生しました。この更新により、vpn
RHEL システムロールには、vpn_ipaddr
フィルター用に正しい形式の正しいドキュメントが含まれるようになりました。その結果、ansible-doc
はエラーをトリガーせず、正しいドキュメントを提供します。
storage
RHEL システムロールが論理ボリュームのサイズを正しく変更する
storage
RHEL システムロールの grow_to_fill
機能を使用して、基盤となる仮想ディスクのサイズを変更した後、LVM 物理ボリュームのサイズを自動的に変更したときに、物理ボリュームが最大サイズに変更されませんでした。その結果、既存の論理ボリュームのサイズを変更したり、新しい追加の論理ボリュームを作成したりするときに、ストレージの空き領域の一部が利用できず、storage
RHEL システムロールが失敗しました。この更新では、ソースコードの問題が修正され、grow_to_fill
を使用するときにロールが常に物理ボリュームを最大サイズに変更するようになります。
Jira:RHEL-73244[1]
storage
RHEL システムロールが、VDO を備えた RHEL 管理対象ノードで期待どおりに実行されるようになりました。
この更新前は、Virtual Data Optimizer (VDO) を使用する RHEL 管理対象ノードで、blivet
モジュールに kmod-kvdo
パッケージが必要でした。しかし、kmod-kvdo
のインストールに失敗し、その結果、storage
RHEL システムロールも失敗しました。この問題の修正により、RHEL の管理対象ノードでは kmod-kvdo
が必須パッケージではなくなりました。その結果、RHEL の管理対象ノードが VDO を使用する場合でも、storage
に障害が発生しなくなりました。
Jira:RHEL-82160[1]