如何让Ansible playbook在组中的第一个主机上运行?

时间:2017-03-22 04:40:54

标签: ansible ansible-inventory

如何仅在群组中的第一台主机上运行剧本?

我期待这样的事情:

---
- name: playbook that only run on first host in the group
  hosts: "{{ groups[group_name] | first }}"

  tasks:
   - debug:
       msg: "on {{ inventory_hostname }}"

但这不起作用,给出错误:

  

'组'未定义

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:13)

您可以使用:

hosts: group_name[0]

使用自定义解析器处理库存主机值(在hosts指令中指定),该解析器不允许像常规模板引擎那样使用Jinja2表达式。

了解Patterns