Ansible podmienené s premenlivými

0

Otázka

Mám postaviť klastra, kde určité balíky by mal byť nainštalovaný na všetkých hostí, zatiaľ čo iné balíky sú nainštalované v konkrétnych hostitelia len.

Prial by som si, ak chcete pridať podmienené moje yum install slučky vyberte cieľové hosť na základe mojich zásob skupiny (master, slave, všetky).

- 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'}

Chápem, že jinja2 templating nie je možnosť, ale nemohla som nájsť to, čo je správny spôsob, ako to urobiť. Vďaka!

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

Najlepšiu odpoveď

3

Máte zle varovanie. Podmienkové ako when už Jinja prejavu, takže by ste nemali používať ďalšie Jinja oddeľovače v rámci nich. To neznamená, že nie je možné použiť premenné, znamená to, že nemusíte robiť nič špeciálne na prístup k nim.

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

Moc si to vážim! Pracoval ako kúzlo!
János

V iných jazykoch

Táto stránka je v iných jazykoch

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