特定のgroupやhostにはtaskを実行したくないという場合、whenを使ってやれば簡単に実現することができる。
- name: put /etc/hosts
template: src=hosts dest=/etc/hosts owner=root group=root mode=0644
tags: hosts
when: “'test1_servers' not in group_names"
taskを実行したくないgroupやhostが複数ある場合は新しくgroupを作って、whenの条件を作らないといけないのかなと思っていました。
なんだか微妙だなと思って、ふとwhenの条件は配列でもイケんじゃね?と思い試してみたところ、大当たり。
- name: put /etc/hosts
template: src=hosts dest=/etc/hosts owner=root group=root mode=0644
tags: hosts
when: [“'test1_servers' not in group_names", "'test2_servers' not in group_names"]
ぐぐってもwhenに配列が使えることが載ってる記事にヒットしなかったのでまとめ。