Puncte:2

Folosirea listelor de variabile în ansible returnează o variabilă nedefinită

drapel ph

Iată fișierul meu cu listă de variabile vars/blah.yml:

---
chestie:
 - chestii1: factura
   chestii2: da în judecată

Încerc doar să obțin valorile chestiilor variabile.

Iată cartea mea de joc:

  gazde: toate
  deveni: da
  vars_files:
    - vars/blah.yml
  sarcini:

  - nume: test
    depanare:
      var: „{{ item.stuff1 }} {{ item.stuff2 }}”
    bucla:
      - "{{ chestie }}"

Primesc această eroare.

fatal: [node1]: FAILED! => {"msg": "Sarcina include o opțiune cu o variabilă nedefinită. Eroare a fost: „obiect listă” nu are atribut „lucruri1”\n\nEroarea pare să fie în „/home/automation/plays/test1” .yml': linia 11, coloana 5, dar poate\nsă fie în altă parte a fișierului, în funcție de problema exactă de sintaxă.\n\nRândul ofensator pare să fie:\n\n\n - nume: test\n ^ aici\ n"}

Poate cineva să-mi spună ce greșesc?

Am editat formatarea variabilelor. Încă obțin aceleași rezultate.

Puncte:1
drapel fr

TL;DR

  buclă: „{{ chestii }}”

Întreaga poveste

Dimpotrivă, fostul și încă folosit pe scară largă cu_articole:, un gol buclă: nu aplică un automat aplatiza (nivel=1) pe argumentele transmise.

Pentru mai multe informații despre această funcție, puteți vedea:

Dacă exemplul tău a fost folosit cu_articole

  cu_articole: 
    - "{{ chestie }}"

lista rezultată ar fi totuși exact cea pe care ați definit-o în fișierul dvs.

Acum folosit cu buclă

  buclă:
    - "{{ chestie }}"

treceți în buclă peste o listă de liste care arată ca (rețineți liniuța solo de deasupra exemplului de mai jos și indentarea restului conținutului: nu este o greșeală de scriere).

- 
  - chestii1: factura
    stuff2: da în judecată

Deci, primul element pe care îl primiți în bucla este de fapt lista dvs. completă din fișierul dvs. var.

Pentru a remedia asta, treceți variabila corect la buclă, adică

  buclă: „{{ chestii }}”
Puncte:1
drapel in

Formatul fișierului variabil este greșit. Nivelul superior nu este o listă, ar trebui să arate astfel:

---
chestie:
  - chestii1: factura
    chestii2: da în judecată

În plus, calea către fișierul vars ar trebui să înceapă cu un / de la rădăcina Ansible:

vars_files:
  - /vars/blah.yml
drapel ph
S-a schimbat formatarea și aceeași eroare.

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.