Puncte:0

Cum ar trebui să scriu fișierul yaml pentru a fi utilizat în variabila ansible?

drapel us

Am început să implementez un server ansible și încercam să creez 5 utilizatori în gazdele client, printr-un playbook (add5userslist.yaml), cu o buclă care folosește variabile dintr-o listă dintr-un alt fișier (userslist.yaml), dar nu este lucru.

Și...acest este ceea ce ansible recuperează atunci când încerc să folosesc acest manual cu acea listă:

Se pare că problema este lista folosită, de fapt, ansible nici măcar nu vede asta ca o listă, dar sunt nou în ansible și nu știu ce ar trebui să aibă acel fișier.

codul playbook-ului:

- gazde: GrupoPrincipal

  sarcini:
    - include_vars:
        fișier: /etc/ansible/playbooks/userslist.yaml
        nume: lista de utilizatori
    - nume: Adăugați 5 utilizatori dintr-o listă
      ansible.builtin.user:
       nume: „{{ item.name }}”
       parola: „{{'abc123.' | password_hash('sha512')}}"
      buclă: „{{ lista de utilizatori }}”

codul userlist.yaml este doar acesta, este singurul lucru care a funcționat puțin:

nume: „utilizator1”
nume: „utilizator2”
nume: „utilizator3”
nume: „utilizator4”
nume: „utilizator5”

@Martin m-a ajutat cu problema de mai sus, dar acum încerc cu mai mult de 1 tip de articol, nu pare să funcționeze, iată cum am noul cod

- gazde: GrupoPrincipal

  sarcini:
    - include_vars:
        fișier: /etc/ansible/playbooks/userslist.yaml
        nume: lista de utilizatori

    - nume: Adăugați 5 utilizatori dintr-o listă și puneți-i în grupuri
      ansible.builtin.user:
       nume: „{{ item.names }}”
       grupuri: „{{ item.groups }}”
       parola: „{{'abc123.' | password_hash('sha512')}}"
      buclă:
      - { names: '{{ userslist.names }}', groups: '{{ userslist.groups }}' }

și noua listă yaml:

nume:
  - utilizator1
  - utilizator2
  - utilizator3
  - utilizator4
  - utilizator5
grupuri:
  - utilizatori
  - utilizatori
  - utilizatori
  - utilizatori
  - utilizatori
Puncte:1
drapel cn

Îi spui sarcinii tale să parcurgă un obiect care reprezintă variabilele fișierelor, dar bucla necesită o listă.

Trebuie să vă definiți fișierele var ca:

utilizatori:
  - utilizator1
  - utilizator2

Și apoi, în manualul dvs. principal, eliminând „item.name” pentru a utiliza doar elementul și precizați în interiorul fișierului dvs. var ce variabilă utilizați:

- gazde: GrupoPrincipal

  sarcini:
    - include_vars:
        fișier: /etc/ansible/playbooks/userslist.yaml
        nume: lista de utilizatori

    - nume: Adăugați 5 utilizatori dintr-o listă
      ansible.builtin.user:
       nume: „{{ item }}”
       parola: „{{'abc123.' | password_hash('sha512')}}"
      buclă: „{{ userslist.users }}”
drapel us
Mulțumiri! @Martin m-a ajutat foarte mult și acum funcționează, dar acum încerc să folosesc asta cu mai mult de 1 tip de articol în listă, adăugând grupuri la userlist.yaml, de exemplu, dar nu pare să funcționeze, am editat postarea principală cu cum este asta acum, mă poți ajuta din nou?

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.