Chciałbym móc uruchomić zadanie ansibla tylko wtedy, gdy host bieżącego playbooka nie należy do określonej grupy. W pseudokodzie:
- name: my command
command: echo stuff
when: "if {{ ansible_hostname }} not in {{ ansible_current_groups }}"
Jak mam to zrobić?
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']
dlatego, że w przypadkach, gdy sama fuga nie istnieje, Ansible wyświetli błąd typu „Upewnij się, że nazwa zmiennej nie zawiera nieprawidłowych znaków, takich jak„ - ”: argument typu„ StrictUndefined ”nie jest iterowalny”Możesz ustawić zmienną kontrolną w plikach vars znajdujących się w
group_vars/
lub bezpośrednio w pliku hosts w następujący sposób:I uruchamiaj takie zadania:
źródło