Как заставить Ansible playbook работать на первом хосте в группе?

Как я могу запустить playbook только на первом хосте в группе?

Я ожидаю что-то вроде этого:

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

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

Но это не работает, выдает ошибку:

«группы» не определены

Как я могу заставить его работать?


person Jakim    schedule 22.03.2017    source источник


Ответы (1)


Ты можешь использовать:

hosts: group_name[0]

Значения хостов инвентаризации (указанные в директиве hosts) обрабатываются специальным парсером, который не поддерживает выражения Jinja2, как это делает обычный механизм шаблонов.

Прочтите о шаблонах.

person techraf    schedule 22.03.2017