2016-07-27 10 views
0

4つのグループで実行されるタスクを作成しようとしています。それらのうちの2つは、ロケーション 'sb' 'ada'に基づいており、2つは配信に基づいています。それぞれの組み合わせは、別々のテンプレートがあります。条件付き実行が失敗する

sb - redhat - template 1 
sb - aix  - template 2 
ada - redhat - template 3 
ada - aix  - template 4 

ホスト:

[redhat] 
redhat1 
redhat2 

[sb] 
sdbcf1 
aix2 
aix2 

しかし、私は「とき」として以下を使用してテンプレートモジュールでタスクを実行していたとき。課題は、タスクが1番目のグループで実行されており、2番目の条件ではスキップされているということです。私は、タスクが実行されるのは、サーバが両方ともグループに入っている場合だけです。この場合、共通のサーバはありません。これはできますか?私は間違って何をしていますか?

- name: Copying our rsyslog template to Redhat servers in sb 
    template: src=rsyslog.conf.sb.lx.j2 dest=/etc/rsyslog.conf.test owner=root mode=0600 
    when: (ansible_distribution == "RedHat" and "'sb' in {{group_names}}") 
    notify: restart rsyslog 

答えて

0

when:文の中のテンプレートのものを使用しないでください:

when: ansible_distribution == "RedHat" and "sb" in group_names 
+0

おかげ氏スヴォーロフはそれが:) –

+0

@GanaSagarグレートを働きました!答えることを忘れないでください。 –

関連する問題