最近ansibleを始めた。
動機としては、
- redhatが買収した
- chefはめんどい
- 2.0からdockerプラグインが追加された
といったところ。
dockerは積極的ではないが、
構成管理ツールの必要性は認識してたから、ちょうどよいかなと。
ただ、ある条件の元で、冪等性が確保できないケースがあった。
以下である。
- name: configure httpd before lineinfile: dest=/etc/httpd/conf/httpd.conf state=present insertbefore={{item.insertbefore}} line={{item.line}} backup=yes with_items: - insertbefore: '^IncludeOptional conf\.d/\*\.conf' line: "<VirtualHost *:80>\n</VirtualHost>" tags: httpd
これは、httpdにおいて、
デフォルトVHを設定している際に、
VirtualHostディレクティブに改行を挟んでいるのだが、
これが原因で、二度目の実行の際、さらに追加されるというものであった。
ソース確認してないからわからないが、
改行を入れると、冪等性が確保されないのかもしれない。
以上
コメントがあればどうぞ