追記:
Ansible version1.9より、firewalldモジュールにimmediate
パラメータが追加され、よりわかりやすく記述できるようになりました。
tasks/firewalld.yml
- firewalld: zone=public service=http state=enabled permanent=true immediate=yes
tags: firewalld
これでランタイムと永続化が同時に出来るようです。便利!
↓ Ansible version1.9以前のお話
CentOS7向けのAnsible Playbookを作るときにハマったのでメモ。
Ansible Fireawlld Module
http://docs.ansible.com/firewalld_module.html
Ansibleのドキュメントを見ると、全てのサンプルがpermanent=true
になっているので、じゃあ、ってその通りやるとランタイムで入らない。(永続化の設定しか入らない)
tasks/firewalld.yml
- firewalld: zone=public service=http state=enabled permanent=true
tags: firewalld
永続化オプションはランタイムに直接影響しません。これらのオプションはリロードあるいは再起動後にのみ利用可能になります。ランタイムかつ永続的な設定をするには、両方を指定する必要があります。 --permanentオプションは全ての永続的引数の最初に無ければなりません。
https://fedoraproject.org/wiki/FirewallD/jp
ランタイムでFirewalldを変更する場合は、permanent=false
にする必要がある。
tasks/firewalld.yml
- firewalld: zone=public service=http state=enabled permanent=false
tags: firewalld