任务名称中的Ansible Useventory_hostname或ansible_hostname


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

Answers:



0

我认为您应该在{{ ansible_hostname }}之后编写tasks:,因为在此之前它尚未收集事实,因此无法给出结果。对于这个概念,我可能是错的,但实际上它是成功的。

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

剧本

播放输出

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.