7.11. Red Hat Enterprise Linux システムロール
同じ出力を実行する際にロールタスクが変わらない
以前のバージョンでは、同じ入力をもう一度実行しても、変更がない場合でも、ロールタスクの一部は CHANGED
として報告されていました。そのため、ロールはべき等性を持ちませんでした。この問題を修正するには、以下のアクションを実行します。
-
設定変数の変更を確認してから、それらを適用します。この検証には
--check
オプションを使用できます。 -
Last Modified: $date
ヘッダーを設定ファイルに追加しないでください。
その結果、ロールタスクはべき等になります。
Postfix ドキュメントに relayhost
パラメーターが不適切に定義されなくなりました
以前は、Postfix RHEL システムロールの relayhost
パラメーターは、rhel-system-roles
で提供される doc /usr/share/doc/rhel-system-roles/postfix/README.md
ドキュメントで relay_host
として定義されていました。今回の更新で問題が修正され、Postfix
ドキュメントに relayhost
パラメーターが正しく定義されるようになりました。
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
ドキュメントで文書化され、ユーザーが利用できるようになりました。
postfix
ロール README がプレーンロール名を使用しなくなる
以前は、/usr/share/ansible/roles/rhel-system-roles.postfix/README.md
で提供される例では、rhel-system-roles.postfix
ではなく、プレーンバージョンのロール名 postfix
を使用していました。そのため、ユーザーはドキュメントを参照し、完全修飾ロール名 (FQRN) ではなくプレーンロール名を誤って使用していました。今回の更新で問題が修正され、ドキュメントでは FQRN、rhel-system-roles.postfix
の例が含まれ、ユーザーは Playbook を正しく作成できるようになりました。
timesync
の出力ログでは、有害なエラーしか報告されません
以前では、timesync
RHEL システムロールは、ignore_errors
ディレクティブを使用し、多くのタスクでタスクの失敗を個別にチェックしていました。そのため、成功したロール実行の出力ログには、安全性に問題のないエラーが多数含まれていました。ユーザーはこれらのエラーを無視することは安全ですが、それでも見ることは負担でした。今回の更新により、関連するタスクが ignore_errors
を使用しないように書き換えられました。その結果、出力ログがクリーンになり、ロール停止エラーのみが報告されるようになりました。
requirements.txt
ファイルが Ansible コレクションで欠落しなくなりました。
以前のバージョンでは、python 依存関係を指定する requirements.txt
ファイルが Ansible コレクションで欠落していました。今回の修正により、正しい依存関係がある欠落していたファイルが /usr/share/ansible/collections/ansible_collections/redhat/rhel_system_roles/requirements.tx
パスに追加されました。
storage_pools
に type: partition
が設定されているときに Traceback
が確認されなくなりました
以前のバージョンでは、Playbook の storage_pools
に変数 type
を partition
として設定すると、この Playbook の実行に失敗し、traceback
が示されていました。今回の更新で問題が修正され、Traceback
エラーが表示されなくなりました。
SELinux
ロールが不要なリロードを実行しなくなる
以前は、SElinux
ロールは、SElinux
ポリシーを再読み込みする前に、実際に変更が適用されたかどうかを確認しませんでした。これにより、SElinux
ポリシーが不必要に再読み込みされ、システムリソースに影響がありました。今回の修正により、SElinux
ロールは Ansible ハンドラーおよび条件を使用して、変更がある場合にのみポリシーが再読み込みされるようになりました。これにより、SElinux
ロールはより迅速に実行されます。
RHEL6 ホストにインストールされた sshd_config
ファイルで sshd
ロールの起動に失敗することがなくなりました。
これまでは、管理ノードが RHEL6 を実行している場合、インストールタスクによって追加されたマッチ条件で、OpenSSH のバージョンが"Match all"をサポートしていませんでした。その結果、RHEL6 ホストにインストールされた sshd_config
ファイルでの sshd
の起動に失敗しました。この更新では、RHEL6 の sshd_config
設定ファイルの "Match all" を "Match address *" に置き換えることで、この問題を修正しました。この条件は OpenSSH のバージョンでサポートされるためです。その結果、RHEL6 ホストにインストールされた sshd_config ファイルを使用して、sshdRHEL システムロールが正常に起動します。
README.md
の例にある SSHD ロール名に誤りが無くなる
これまでは、sshd の README.md
ファイルの中で、willshersystems.sshd
という名前のロールを呼び出す例を紹介していました。今回の更新により問題が修正され、参照例では rhel_system_roles.sshd というロールが正しく参照されるようになりました。
tls
が false
の場合、key/certs
のソースファイルがコピーされなくなりました。
これまでは、logging
RHEL システムロールの elasticsearch 出力において、コントロールホスト上の key/certs
ソースファイルのパスが Playbook で設定されている場合、tls
が false
に設定されていても、管理下のホストにコピーされていました。そのため、key/cert
のファイルパスが設定され、tls
が false
に設定されていると、コピー元のファイルが存在しないため、コマンドが失敗してしまいます。今回の更新により問題が修正され、tls
パラメーターが true
に設定されている場合にのみ、key/certs
のコピーが実行されるようになりました。
metric
ロールで対象ホストのログを有効にするタスクが動作するようになりました。
これまでは、metric
RHEL システムロールのバグにより、enabling the performance metric logging
タスクで対象となるホストを参照することができませんでした。その結果、パフォーマンスメトリックのロギング用のコントロールファイルが生成されませんでした。この更新により問題が修正され、対象となるホストが正しく参照されるようになりました。その結果、コントロールファイルが正常に作成され、パフォーマンスメトリックのロギング実行が可能になります。
sshd_hostkey_group
および sshd_hostkey_mode
変数が Playbook で設定可能になりました。
以前は、sshd_hostkey_group
および sshd_hostkey_mode
変数が defaults
および vars
ファイルの両方で意図せずに定義されていました。そのため、ユーザーは Playbook でこれらの変数を設定することができませんでした。この修正により、vars
ファイルで定数値を定義するために、sshd_hostkey_group
が __sshd_hostkey_group
に、sshd_hostkey_mode
が __sshd_hostkey_mode
に名前が変更されます。defaul
ファイルでは、sshd_hostkey_group
には __sshd_hostkey_group
が、sshd_hostkey_mode
には __sshd_hostkey_mode
が設定されています。その結果、ユーザーは Playbook で sshd_hostkey_group
および sshd_hostkey_mode
変数を設定できるようになりました。
README.md
の RHEL システムロールの内部リンクがリンク切れにならない
これまでは、README.md
ファイルで利用できる内部リンクがリンク切れになっていました。そのため、ユーザーが特定のセクションのドキュメントリンクをクリックしても、特定の README.md
セクションにはリダイレクトされませんでした。今回の更新では、この問題が修正され、内部リンクが正しいセクションを示すようになりました。