Ansiblu condiționată cu variabila

0

Problema

Trebuie să construim un cluster în cazul în care anumite pachete ar trebui să fie instalat pe toate gazde, în timp ce alte pachete sunt instalate pe gazde specifice numai.

Aș dori să adăugați un condiționată a mea yum install buclă pentru a selecta ținta gazdă pe baza de inventar grupuri (master, slave, toate).

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

Am înțeles că jinja2 templating nu este o opțiune, dar nu am putut găsi ceea ce este modul corect de a face asta. Multumesc!!!

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

Cel mai bun răspuns

3

Ai inteles gresit avertizare. Condiționale ca when sunt deja o Jinja exprimare, așa că nu ar trebui să folosească suplimentare Jinja delimitatori în cadrul acestora. Acest lucru nu înseamnă că nu poate folosi variabile, aceasta înseamnă că nu trebuie să faceți nimic special pentru a le accesa.

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

De mult apreciez! A lucrat ca un farmec!
János

În alte limbi

Această pagină este în alte limbi

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