Puncte:1

Cum să suprascrieți variabila Ansible Playbook?

drapel br

Am un playbook asemănător cu cel de mai jos care folosește baza_acl variabil. Să ne prefacem base_acl: "default_acl.j2. Am o gazdă pe care vreau să o folosesc diferită baza_acl valoare pentru. M-am uitat peste prioritate ansible docs și nu văd o altă modalitate de a face asta decât utilizarea --extra-vars pe linia de comandă, ceea ce nu vreau să fac.

Am încercat să definesc baza_acl într-o host_vars fișier (ar trebui să aibă o prioritate mai mare în conformitate cu linkul de mai sus?) pentru gazda în cauză, totuși redarea imprimă în continuare „playbook” pentru valoarea variabilei atunci când rulează.

Există o modalitate de a spune și de a da? host_vars prioritate față de variabilele playbook-ului?

---
- gazde: toate
  gather_facts: nu
  vars:
    base_acl : "caiet de joc"
    
  sarcini:
  - depanare: msg="variabila este {{ base_acl }}"
Puncte:1
drapel fr

Am încercat să definesc base_acl într-un fișier host_vars (ar trebui să aibă o prioritate mai mare în conformitate cu linkul de mai sus?) pentru gazda în cauză, totuși redarea imprimă în continuare „playbook” pentru valoarea variabilei atunci când rulează.

Din linkul la care ați făcut referire în întrebarea dvs.:

...
8Â Â - fișierul de inventar sau scriptul gazdă vars
9Â Â - inventar host_vars/*
10Â - playbook host_vars/*
11Â - fapte gazdă / set_facts în cache
12Â - joc vars
...
22 - variante suplimentare (de exemplu, -e „utilizator=utilizatorul_meu”) (câștigă întotdeauna prioritate)

Deci, deoarece cel mai mare număr câștigă și că toate intrările legate de gazdă (de la 8 la 11) au un număr mai mic decât 12, declarația ta este de fapt greșită. Singura apreciere corectă este că un var suplimentar ar suprascrie întotdeauna totul.

De fapt, există multe modalități de a obține ceea ce cauți. Dar în situația ta, asta aș face.

  1. eliminați intrarea play var din playbook-ul dvs
  2. introduceți valoarea implicită group_vars/all.yml (fie la nivel de inventar sau de manual):
    base_acl: "caiet de joc"
    
  3. înlocuiți valoarea implicită pentru fiecare gazdă relevantă din host_vars/<gazda_dvs.>.yml (fie la nivel de inventar sau de manual):
    base_acl: „înlocuiți valoarea”
    

Rețineți că cele de mai sus vor funcționa și pentru a înlocui valoarea implicită pentru un anumit grup în group_vars/<grupul_dvs.>.yml (fie la nivel de inventar sau de playbook).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.