Je voudrais pouvoir exécuter une tâche ansible uniquement si l'hôte du playbook actuel n'appartient pas à un certain groupe. En semi pseudo code:
- name: my command
command: echo stuff
when: "if {{ ansible_hostname }} not in {{ ansible_current_groups }}"
Comment dois-je faire cela?
This one looks easy to fix. It seems that there is a value started with a quote, and the YAML parser is expecting to see the line ended with the same kind of quote.
when: inventory_hostname not in groups.certain_groups
inventory_hostname in groups['groupname']
parce que dans les cas où le coulis lui-même n'existe pas, Ansible lancera une erreur du type "Assurez-vous que le nom de votre variable ne contient pas de caractères invalides comme '-': l'argument de type 'StrictUndefined' n'est pas itérable"Vous pouvez définir une variable de contrôle dans les fichiers vars situés dans
group_vars/
ou directement dans le fichier hosts comme ceci:Et exécutez des tâches comme celle-ci:
la source