Ansible condicional de la variable

0

Pregunta

Tengo que crear un clúster donde ciertos paquetes que deben ser instalados en todos los hosts, mientras que otros paquetes están instalados en máquinas específicas solamente.

Quiero añadir un condicional para mi yum install lazo para seleccionar el host de destino basado en mi inventario de grupos (maestro, esclavo, todos).

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

Entiendo que jinja2 de plantillas no es una opción, pero no pude encontrar cuál es la manera correcta de hacerlo. Gracias!

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

Mejor respuesta

3

Usted ha malinterpretado la advertencia. Los condicionales como when ya Jinja expresión, así que usted no debe usar adicionales Jinja delimitadores dentro de ellos. Esto no significa que usted no puede utilizar las variables, significa que usted no necesita hacer nada especial para acceder a ellos.

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

Mucho aprecio! Trabajó como un encanto!
János

En otros idiomas

Esta página está en otros idiomas

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