Değişkenli Ansible koşullu

0

Soru

Diğer paketler yalnızca belirli ana bilgisayarlara yüklenirken, belirli paketlerin tüm ana bilgisayarlara yüklenmesi gereken bir küme oluşturmam gerekiyor.

Envanter gruplarıma (master, slave, all) göre hedef ana bilgisayarı seçmek için yum yükleme döngüsüne bir koşullu eklemek istiyorum.

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

Jinja2 şablonlamanın bir seçenek olmadığını anlıyorum, ancak bunu yapmanın doğru yolunun ne olduğunu bulamadım. Teşekkürler!

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

En iyi cevabı

3

Uyarıyı yanlış anladınız. Gibi koşullar when bu zaten bir Jinja ifadesidir, bu yüzden içlerinde ek Jinja sınırlayıcıları kullanmamalısınız. Bu, değişkenleri kullanamayacağınız anlamına gelmez, bunlara erişmek için özel bir şey yapmanız gerekmediği anlamına gelir.

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

Çok takdir! Bir tılsım gibi çalıştı!
János

Diğer dillerde

Bu sayfa diğer dillerde

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