11.16. Red Hat Enterprise Linux システムロール
Ansible 2.9 で RHEL システムロールを使用すると、command
モジュールで dnf
を使用することに関する警告が表示されることがあります。
RHEL 8.8 以降、RHEL システムロールは dnf
モジュールで warn
パラメーターを使用しなくなりました。これは、このパラメーターが Ansible Core 2.14 で削除されたためです。ただし、Ansible 2.9 で最新の rhel-system-roles
パッケージを使用し、ロールがパッケージをインストールすると、次のいずれかの警告が表示される場合があります。
[WARNING]: Consider using the dnf module rather than running 'dnf'. If you need to use command because dnf is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.
[WARNING]: Consider using the yum, dnf or zypper module rather than running 'rpm'. If you need to use command because yum, dnf or zypper is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.
これらの警告を非表示にする場合は、ansible.cfg
ファイルの [Defaults]
セクションに command_warnings = False
設定を追加します。ただし、この設定により Ansible のすべての警告が無効になることに注意してください。
Playbook またはインベントリーでホスト名 localhost
を使用して localhost
を管理できません
RHEL に ansible-core 2.13
パッケージが含まれているため、ノードを管理しているのと同じホストで Ansible を実行している場合は、Playbook またはインベントリーで localhost
ホスト名を使用して実行することはできません。これは、ansible-core 2.13
が python38
モジュールを使用し、ライブラリーの多くが欠落しているために発生します。たとえば、storage
ロールの場合は blivet
、network
ロールの場合は gobject
です。この問題を回避するには、Playbook またはインベントリーでホスト名 localhost
をすでに使用している場合は、ansible_connection=local
を使用するか、ansible_connection=local
オプションを使用して localhost
をリストするインベントリーファイルを作成することで接続を追加できます。これにより、localhost
上のリソースを管理できます。詳細は、記事 RHEL system roles playbooks fail when run on localhost を参照してください。
firewalld.service
がマスクされている場合、firewall
RHEL システムロールの使用が失敗する
RHEL システム上で firewalld.service
がマスクされている場合、firewall
RHEL システムロールは失敗します。この問題を回避するには、firewalld.service
のマスクを解除します。
systemctl unmask firewalld.service
rhc_auth
にアクティベーションキーが含まれている場合、rhc
システムロールはすでに登録されているシステムで失敗します。
rhc_auth
パラメーターにアクティベーションキーが指定されている場合、すでに登録されているシステムで Playbook ファイルを実行すると失敗します。この問題を回避するには、登録済みのシステムで Playbook ファイルを実行するときにアクティベーションキーを指定しないでください。