태스크 이름에서 인벤토리 사용 가능 호스트 이름 또는 사용 가능 호스트 이름


19

롤링 업그레이드 플레이 북을 작성 중이며 현재 호스트의 호스트 이름을 업그레이드하고 싶습니다.

내가 넣어 inventory_hostnameansible_hostname작업 이름에 있지만 일을하지 않았다 그

- name: upgrade softare on {{inventory_hostname}}
- name: current host is {{ansible_hostname}}

디버그 잘 작동

- name: Test a variable
  debug: var=inventory_hostname

TASK: [Test a variable] ******************************************************* 
ok: [SERV14] => {
    "var": {
        "inventory_hostname": "SERV14"
    }
}

작업 이름 설명에 이러한 변수를 사용하려면 어떻게해야합니까?

감사


4
현재는 이름으로 변수를 대체 할 수 없습니다. 여기를
cuonglm

답변:


27

v2.0부터 Ansible은 태스크 / 핸들러 이름 ( https://github.com/ansible/ansible/issues/10347) 에서 변수 대체를 지원 하므로 다음 예제는 예상대로 작동합니다.

- name: upgrade software on {{inventory_hostname}}
- name: current host is {{ansible_hostname}}

0

그 전에는 아직 사실을 수집하지 않았으므로 결과를 제공 할 수 없기 때문에 {{ ansible_hostname }}after을 작성해야한다고 생각합니다 tasks:. 나는 개념에 잘못되었을 수도 있지만 실제로는 성공했습니다.

tasks:
  - name: Install the httpd on {{ ansible_hostname }}
    yum: 
      name: httpd 
      state: latest

플레이 북

플레이 출력

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.