다음 앤서블 코드의 의미는 머신이 프로덕션 서버일 때 다시 시작할 수 없다는 메시지를 종료하고 보내는 것입니다.
프로덕션 서버는 시스템의 호스트 이름에 있는 "prod"라는 단어로 식별할 수 있습니다.
hostname
server109.prod.domain.com
하지만 아래와 같이 컴퓨터 이름에 lab이 포함되어 있는 경우
server109.lab.domain.com
그럼 우리는 그만두고 싶지 않아
- name: exit if reboot needed
fail:
msg: after kernel update need reboot but reboot will not be on production machines
when: res.reboot_required
그래서 내 질문은 컴퓨터 이름에 "lab"이 포함되어 있을 때 종료하고 싶지 않은 경우 "언제"를 업데이트하는 방법입니다.
답변1
귀하의 예와 Ansible을 기반으로변수 발견: 사실과 마법의 변수이것ansible_facts
~ 할 것이다
ansible_hostname: "server109"
ansible_domain: "lab.domain.com"
그러므로가정 어구~해야 한다
when: (results.reboot_required) and (ansible_domain == "lab.domain.com")
또는
when: (results.reboot_required) and ("lab" in ansible_domain)
감사해요