답변:
이를 수행하는 또 다른 방법은 다음과 같습니다.
- name: my command
command: echo stuff
when: "'groupname' not in group_names"
group_names
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#accessing-information-about-other-hosts-with-magic-variables에 설명 된 매직 변수입니다 .
group_names는 현재 호스트가 속한 모든 그룹의 목록 (배열)입니다.
when: inventory_hostname not in groups.certain_groups
inventory_hostname in groups['groupname']
그라우트 자체가 존재하지 않는 경우에, Ansible이 같은 오류가 발생하기 때문에 '-' '반드시 당신의 변수 이름이 같은 잘못된 문자가 포함되어 있지 않습니다 확인 : 반복 가능한 아니다'StrictUndefined '형식의 인수를 "
다음 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
This one looks easy to fix. It seems that there is a value started with a quote, and the YAML parser is expecting to see the line ended with the same kind of quote.