Saya ingin menjalankan tugas yang mungkin hanya jika host dari pedoman saat ini bukan milik grup tertentu. Dalam kode semi pseudo:
- name: my command
command: echo stuff
when: "if {{ ansible_hostname }} not in {{ ansible_current_groups }}"
Bagaimana saya harus melakukan ini?
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']
karena dalam kasus di mana grout itu sendiri tidak ada, Ansible akan menampilkan kesalahan seperti "Pastikan nama variabel Anda tidak berisi karakter yang tidak valid seperti '-': argumen jenis 'StrictUndefined' tidak dapat diulang"Anda dapat mengatur variabel kontrol di file vars yang terletak di
group_vars/
atau langsung di file hosts seperti ini:Dan jalankan tugas seperti ini:
sumber