web-dev-qa-db-fra.com

Comment faire fonctionner le playbook Ansible sur le premier hôte du groupe?

Comment puis-je exécuter un playbook uniquement sur le premier hôte du groupe?

J'attends quelque chose comme ça:

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

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

Mais cela ne fonctionne pas, donne une erreur:

"groupes" n'est pas défini

Comment puis-je le faire fonctionner?

11
Jakim

Vous pouvez utiliser:

hosts: group_name[0]

Les valeurs des hôtes d'inventaire (spécifiées dans la directive hosts) sont traitées avec un analyseur personnalisé, qui n'autorise pas les expressions Jinja2 comme le fait le moteur de modèle standard.

Lisez à propos de Patterns .

15
techraf