IT story

호스트가 그룹에 속하지 않는 경우에만 작업 실행

hot-time 2020. 9. 11. 19:41
반응형

호스트가 그룹에 속하지 않는 경우에만 작업 실행


현재 플레이 북의 호스트가 특정 그룹에 속하지 않는 경우에만 ansible 작업을 실행하고 싶습니다 . 반 의사 코드에서 :

- name: my command
  command: echo stuff
  when: "if {{ ansible_hostname }} not in {{ ansible_current_groups }}"

어떻게해야합니까?


이를 수행하는 또 다른 방법은 다음과 같습니다.

- name: my command
  command: echo stuff
  when: "'groupname' not in group_names"

group_nameshttp://docs.ansible.com/playbooks_variables.html#magic-variables-and-how-to-access-information-about-other-hosts에 설명 된대로 매직 변수입니다 .

group_names는 현재 호스트가 속한 모든 그룹의 목록 (배열)입니다.


다음 group_vars/과 같이 호스트 파일 에있는 vars 파일에서 제어 변수를 직접 설정할 수 있습니다 .

[vagrant:vars]
test_var=true

[location-1]
192.168.33.10 hostname=apollo

[location-2]
192.168.33.20 hostname=zeus

[vagrant:children]
location-1
location-2

그리고 다음과 같은 작업을 실행하십시오.

- name: "test"
  command: "echo {{test_var}}"
  when: test_var is defined and test_var

참고 URL : https://stackoverflow.com/questions/21008083/run-task-only-if-host-does-not-belong-to-a-group

반응형