Ansible condizionale con il variabile

0

Domanda

Devo costruire un cluster in cui alcuni pacchetti devono essere installati su tutti gli host, mentre altri pacchetti non sono installati su host specifici solo.

Vorrei aggiungere un condizionale al mio yum install loop per selezionare l'host di destinazione sulla base della mia inventario gruppi (master, slave, tutti).

- name: Install Package
  when: inventory_hostname in groups[ {{item.host }} ]
  yum:
    name: "{{ item.name }}"
    state: present
  loop:
    - {name: 'package_1', host: 'master'}
    - {name: 'package_2', host: 'slave'}
    - {name: 'package_3', host: 'all'}

Capisco che jinja2 template non è un'opzione, ma non riuscivo a trovare qual'è il modo giusto per farlo. Grazie!

ansible conditional-statements loops
2021-11-23 07:42:47
1

Migliore risposta

3

Hai frainteso il messaggio di avviso. I condizionali come when sono già un Jinja espressione, quindi, non si dovrebbe usare ulteriori Jinja delimitatori al loro interno. Questo non significa che non è possibile utilizzare le variabili, significa che non hai bisogno di fare nulla di speciale per accedervi.

  when: inventory_hostname in groups[item.host]
2021-11-23 09:16:49

Molto apprezzato! Funzionato come un fascino!
János

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................