Puncte:0

Cum să înregistrezi o variabilă într-un rol și să o folosești în altul în Ansible?

drapel np

Încerc să înregistrez o variabilă într-un rol și apoi să o folosesc în altul.

Iată diferitele fișiere pe care le folosesc:

playbook.yml

---
- gazde: hostsgroup1
  [...]
  roluri:
    - rolul 1
- gazde: 127.0.0.1
  conexiune: locală
  roluri:
    - rolul2

rol1/tasks/principal.yml

- nume: Exemplul 1
  [...]
- nume: Exemplul 2
  coajă:
    qm agent {{ VM_id }} network-get-interfaces |grep ip-address |grep '172.20' |grep -oE '((1?[0-9][0-9]?|2[0-4][] 0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5] ])'
  înregistrare: var_role1

rol2/tasks/main.yml

- nume: Adăugarea serverului la bastion
  ansible.builtin.debug:
    msg: Test {{ var_role1.stdout }}

Pentru informare comanda qm agent îmi oferă o adresă IP și vreau să o folosesc în al doilea rol. Dar, evident, deocamdată afișează o eroare când execut playbook-ul:

fatal: [127.0.0.1]: FAILED! => {"msg": "Sarcina include o opțiune cu o variabilă nedefinită. Eroare a fost: \"hostvars['proxmoxhosts']\" este nedefinit\n\nEroarea pare să fie în '/root/ansible/roles /bastion_add/tasks/main.yml': linia 3, coloana 3, 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# fișier de activități pentru bastion_add \n- nume: Adăugarea serverului la bastion\n ^ aici\n"}

Pentru a rezuma, vreau să folosesc var_role1, înregistrat în rol1, în rol2.

Puncte:1
drapel in

set_fact ar trebui să facă șmecheria.

- nume: Exemplul 2
  coajă:
    qm agent {{ VM_id }} network-get-interfaces |grep ip-address |grep '172.20' |grep -oE '((1?[0-9][0-9]?|2[0-4][] 0-9]|25[0-5])\.){3}(1?[0-9][0-9]?|2[0-4][0-9]|25[0-5] ])'
  înregistrare: var_role1
- set_fact:
    var_role1: „{{ var_role1.stdout }}”
Milos Vé avatar
drapel np
Trebuie să apelez variabila altfel decât „{{ var_role1.stdout }}” în al doilea rol? Pentru că încă nu funcționează cu sfaturile tale
drapel in
TBH nu l-am testat cu adevărat. `var_role1`, desigur, nu a fost corect, `var_role1.stdout` ar trebui să fie corect

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.