2016-07-27 3 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 

그러나 나는 '때'다음과 같이 사용하여 템플릿 모듈로 작업을 실행하고 때. 문제는 두 번째 조건에서 배포를 건너 뛰고 첫 번째 그룹에서 작업을 실행하고 있다는 것입니다. 어디 작업이 실행되는 경우에만 서버가 모두 하나의 그룹에 있습니다.이 경우에는 공통 서버를 가지고 있지 않습니다. 이걸 할 수 있니? 내가 도대체 ​​뭘 잘못하고있는 겁니까 ?

- 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 우수함했다! 답변을 수락했음을 표시하는 것을 잊지 마십시오. –