5.12. Red Hat Enterprise Linux システムロール
IPv6 が無効な場合に、Networking システムロールが DNS 検索ドメインの設定に失敗しなくなりました
以前では、IPv6 プロトコルが無効になっている場合、libnm ライブラリーの nm_connection_verify() 機能は DNS 検索ドメインを無視していました。そのため、Networking RHEL システムロールを使用し、dns_search を ipv6_disabled: true とともに設定すると、システムロールが次のエラーで失敗しました。
nm-connection-error-quark: ipv6.dns-search: this property is not allowed for 'method=ignore' (7)
nm-connection-error-quark: ipv6.dns-search: this property is not allowed for 'method=ignore' (7)
今回の更新で、IPv6 が無効になっている場合、nm_connection_verify() 機能は DNS 検索ドメインを無視します。これにより、IPv6 が無効になっていても、期待どおりに dns_search を使用できます。
postfix ロール README がプレーンロール名を使用しなくなる
以前は、/usr/share/ansible/roles/rhel-system-roles.postfix/README.md で提供される例では、rhel-system-roles.postfix ではなく、プレーンバージョンのロール名 postfix を使用していました。そのため、ユーザーはドキュメントを参照し、完全修飾ロール名 (FQRN) ではなくプレーンロール名を誤って使用していました。今回の更新で問題が修正され、ドキュメントでは FQRN、rhel-system-roles.postfix の例が含まれ、ユーザーは Playbook を正しく作成できるようになりました。
Postfix RHEL システムロールの README.md の "Role Variables" セクションで欠落していた変数がなくなりました
以前は、postfix_check、postfix_backup、postfix_backup_multiple などの Postfix RHEL システムロール変数が、"Role Variables" セクションにありませんでした。そのため、Postfix ロールのドキュメントを参照できませんでした。今回の更新で、Postfix README セクションに、ロール変数のドキュメントが追加されました。ロール変数は、rhel-system-roles が提供する doc/usr/share/doc/rhel-system-roles/postfix/README.md ドキュメントで文書化され、ユーザーが利用できるようになりました。
同じ出力を実行する際にロールタスクが変わらない
以前のバージョンでは、同じ入力をもう一度実行しても、変更がない場合でも、ロールタスクの一部は CHANGED として報告されていました。そのため、ロールはべき等性を持ちませんでした。この問題を修正するには、以下のアクションを実行します。
-
設定変数の変更を確認してから、それらを適用します。この検証には
--checkオプションを使用できます。 -
Last Modified: $dateヘッダーを設定ファイルに追加しないでください。
その結果、ロールタスクはべき等になります。
logging_purge_confs オプションは不要な設定ファイルを正しく削除
logging_purge_confs オプションを true に設定すると、不要なログ設定ファイルが削除されます。ただし、以前は、logging_purge_confs が true に設定されていても、不要な設定ファイルは設定ディレクトリーから削除されませんでした。この問題は修正され、オプションは次のように再定義されました。logging_purge_confs が true に設定されている場合、Rsyslog は rsyslog.d ディレクトリーから rpm パッケージに属していないファイルを削除します。これには、以前の実行で生成される Logging ロールが含まれます。logging_purge_confs のデフォルト値は false です。
Grafana admin パスワードが変更された場合でも、Metrics ロールを使用する Playbook は複数回の実行で正常に完了します
以前は、metrics_graph_service: yes ブール値で Metrics ロールを実行した後に Grafana admin ユーザーパスワードを変更すると、Metrics ロールの後続の実行が失敗していました。これにより、Metrics ロールを使用した Playbook が失敗し、影響を受けるシステムはパフォーマンス分析用にのみ部分的に設定されました。現在、Metrics ロールは、Grafana deployment API が利用可能であり、必要な設定アクションを実行するためにユーザー名またはパスワードの知識を必要としない場合に、その API を使用します。その結果、管理者が Grafana admin パスワードを変更した場合でも、Metrics ロールを使用する Playbook は複数回の実行で正常に完了します。
Metrics ロールによる設定がシンボリックリンクを正しくたどるようになりました
mssql pcp パッケージがインストールされると、mssql.conf ファイルは /etc/pcp/mssql/ に配置され、シンボリックリンク /var/lib/pcp/pmdas/mssql/mssql.conf のターゲットになります。ただし、以前の Metrics ロールはシンボリックリンクをたどって、mssql.conf を設定する代わりにシンボリックリンクを上書きしていました。その結果、Metrics ロールを実行すると、シンボリックリンクが通常のファイルに変更され、/var/lib/pcp/pmdas/mssql/mssql.conf ファイルのみ設定の影響を受けました。これによりシンボリックリンクが失敗し、メインの設定ファイル /etc/pcp/mssql/mssql.conf は設定の影響を受けませんでした。この問題は修正され、シンボリックリンクをたどる follow: yes オプションが Metrics ロールに追加されました。その結果、Metrics ロールはシンボリックリンクを保持し、メイン設定ファイルを正しく設定します。
timesync ロールは、要求されたサービス ptp4l の検索に失敗しなくなりました。
以前は、RHEL の一部バージョンでは、Ansible の service_facts モジュールでサービスのファクトが誤って報告されていました。そのため、timesync ロールは ptp4l サービスの起動を試行するエラーを報告していました。今回の修正により、Ansible service_facts モジュールはタスクの戻り値をチェックして timesync サービスを停止します。返された値が failed したものの、エラーメッセージが Could not find the requested service NAME: である場合、モジュールは成功を想定します。その結果、timesync ロールは Could not find the requested service ptp4l などのエラーなしで実行されるようになりました。
(BZ#2058645)
kernel_settings configobj はマネージドホストで利用できます。
以前は、kernel_settings ロールはマネージドホストに python3-configobj パッケージをインストールしませんでした。そのため、configobj Python モジュールが見つからないことを示すエラーが返されました。この修正により、ロールは python3-configobj パッケージがマネージドホストに存在し、kernel_settings ロールが期待どおりに機能することを保証します。
Terminal Session Recording ロール tlog-rec-session が SSSD によって正しくオーバーレイされるようになりました
以前は、Terminal Session Recording RHEL システムロールは、System Security Services Daemon (SSSD) ファイルプロバイダーと有効化な authselect オプション with-files-domain に依存して、nsswitch.conf ファイルに正しい passwd エントリーを設定していました。RHEL 9.0 では、SSSD はデフォルトではファイルプロバイダーを暗黙的に有効にせず、SSSD による tlog-rec-session シェルオーバーレイは機能しませんでした。今回の修正により、Terminal Session Recording ロールが更新され、nsswitch.conf が更新され、SSSD が tlog-rec-session が正しくオーバーロードするようになりました。
SSHD システムロールが FIPS モードでシステムを管理できるようになりました
以前は、SSHD システムロールは、呼び出し時に not allowed HostKey タイプを作成できませんでした。そのため、SSHD システムロールは、Federal Information Processing Standard (FIPS) モードで RHEL 8 以前のシステムを管理できませんでした。この更新により、SSHD システムロールが FIPS モードを検出し、デフォルトの HostKey リストを正しく調整するようになります。その結果、システムロールはデフォルトの HostKey 設定を使用して FIPS モードで RHEL システムを管理できるようになります。
SSHD システムロールが正しいテンプレートファイルを使用するようになりました
以前は、SSHD システムロールが間違ったテンプレートファイルを使用していました。そのため、生成された sshd_config ファイルには ansible_managed コメントが含まれていませんでした。この更新では、システムロールが正しいテンプレートファイルを使用し、sshd_config に正しい ansible_managed コメントが含まれています。
Kdump RHEL システムロールが、再起動可能になり、再起動が必要であることを示せるようになりました
以前は、Kdump RHEL システムロールは、クラッシュカーネル用に予約されたメモリーがないマネージドノードを無視していました。そのため、システムが正しく設定されていない場合でも、ロールは "Success" ステータスで終了しました。RHEL 9 の今回の更新で、この問題が修正されました。マネージドノードにクラッシュカーネル用に予約されたメモリーがない場合、Kdump RHEL システムロールが失敗し、kdump_reboot_ok 変数を true に設定して、マネージドノードで kdump サービスを適切に設定することをユーザーに提案するようになりました。
Networking システムロールの nm プロバイダーがブリッジを正しく管理するようになりました
以前は、initscripts プロバイダーを使用した場合、Networking システムロールは、ブリッジインターフェイスを管理対象外としてマークするように NetworkManager を設定する ifcfg ファイルを作成していました。また、NetworkManager はフォローアップ initscript アクションを検出できませんでした。たとえば、initscript プロバイダーの down および absent アクションは、down および absent アクションの後に接続をリロードしない場合は、このインターフェイスのアンマネージ状態に関する NetworkManager の理解を変更しません。この修正により、Networking システムロールは、NM.Client.reload_connections_async() 関数を使用して、NetworkManager 1.18 を備えたマネージドホストで NetworkManager をリロードするようになります。その結果、NetworkManager は、プロバイダーを initscript から nm に切り替えるときにブリッジインターフェイスを管理します。
正しいボンディングモードの active-backup をサポートするようにタイプミスを修正する
以前は、active-backup ボンディングモードを指定する際に InfiniBand ポートをサポートする際に、タイプミス (active_backup) がありました。このタイプミスが原因で、接続は InfiniBand ボンディングポートの正しいボンディングモードをサポートできませんでした。この更新では、ボンディングモードを active-backup に変更することで、タイプミスを修正しています。これで、接続は InfiniBand ボンディングポートを正常にサポートします。
Logging システムロールがタスクを複数回呼び出さなくなりました
以前は、Logging ロールは 1 回だけ呼び出すべきタスクを複数回呼び出していました。そのため、余分なタスク呼び出しによりロールの実行速度が低下していました。この修正では、Logging ロールが変更され、タスクを 1 回だけ呼び出すようになり、Logging ロールのパフォーマンスが向上しました。
RHEL システムロールが、生成されたファイル内の複数行の ansible_managed コメントを処理するようになりました
以前は、一部の RHEL システムロールが、# {{ ansible_managed }} を使用して一部のファイルを生成していました。そのため、顧客が複数行のカスタム ansible_managed 設定を持っている場合、ファイルは正しく生成されませんでした。今回の修正により、すべてのシステムロールでファイルの生成時に {{ ansible_managed | comment }} と同等のものが使用されるようになり、複数行の ansible_managed 値を含め、ansible_managed 文字列は常に正しくコメントされるようになりました。その結果、生成されたファイルには正しい複数行の ansible_managed 値が含まれます。
Firewall システムロールが、target が変更されるとすぐにファイアウォールをリロードするようになりました
以前は、target パラメーターが変更されても、Firewall システムロールはファイアウォールをリロードしていませんでした。この修正により、target が変更されると Firewall ロールがファイアウォールを再ロードするようになりました。その結果、target の変更は即座に行われ、後続の操作で使用できるようになりました。
Certificate System ロールの group オプションによりグループが証明書にアクセスできなくなることがなくなりました
以前は、証明書のグループを設定する際に、mode はグループの読み取り権限を許可するように設定されませんでした。そのため、グループメンバーは、Certificate ロールが発行した証明書を読み取ることができませんでした。今回の修正で、グループ設定により、ファイルモードにグループ読み取り権限が確実に含まれるようになりました。その結果、グループの Certificate ロールにより発行された証明書に、グループメンバーがアクセスできます。
Logging ロールは、immark モジュールの間隔値の引用を見逃さなくなりました
以前のバージョンでは、immark モジュールが適切に設定されていないため、immark モジュールの interval フィールド値が適切に引用されませんでした。今回の修正により、interval の値が適切に引用符で囲まれるようになりました。これで、immark モジュールは期待どおりに機能します。
/etc/tuned/kernel_settings/tuned.conf ファイルには適切な ansible_managed ヘッダーがあります
以前は、kernel_settings RHEL システムロールに、/etc/tuned/kernel_settings/tuned.conf ファイルの ansible_managed ヘッダーにハードコードされた値がありました。その結果、ユーザーはカスタムの ansible_managed ヘッダーを提供できませんでした。この更新で問題が修正され、kernel_settings が /etc/tuned/kernel_settings/tuned.conf のヘッダーをユーザーの ansible_managed 設定で更新するようになりました。つまり、/etc/tuned/kernel_settings/tuned.conf には適切な ansible_managed ヘッダーがあります。
VPN システムロールフィルタープラグイン vpn_ipaddr が FQCN (完全修飾コレクション名) に変換されるようになりました
以前は、レガシーロールフォーマットからコレクションフォーマットへの変換で、フィルタープラグインの vpn_ipaddr が FQCN (Fully Qualified Collection Name) redhat.rhel_system_roles.vpn_ipaddr に変換されないことがありました。これにより、VPN ロールは短縮名でプラグインを見つけなくなり、エラーを報告していました。今回の修正により、変換スクリプトが変更され、フィルターがコレクションの FQCN 形式に変換されるようになりました。また、VPN ロールはエラーを発行せずに実行されるようになりました。
(BZ#2050341)
kdump.service のジョブに失敗しなくなりました。
以前は、カーネルクラッシュサイズを設定するための Kdump ロールコードは RHEL9 用に更新されていませんでした。これには、kdumpctl reset-crashkernel を使用する必要があります。これにより、kdump.service が起動しず、エラーが発生していました。今回の更新で、kdump.service ロールは kdumpctl reset-crashkernel を使用してクラッシュカーネルサイズを設定できるようになりました。kdump.service ロールは kdump サービスを正常に起動し、カーネルクラッシュサイズが正しく設定されるようになりました。
(BZ#2050419)