ansible + 머신 호스트 이름이 uniq인 상황을 제외하는 방법

ansible + 머신 호스트 이름이 uniq인 상황을 제외하는 방법

다음 앤서블 코드의 의미는 머신이 프로덕션 서버일 때 다시 시작할 수 없다는 메시지를 종료하고 보내는 것입니다.

프로덕션 서버는 시스템의 호스트 이름에 있는 "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)

감사해요

관련 정보