Puncte:0

Ansible: al doilea playbook legat nu poate rula un script pentru variabilele transmise de la mai multe gazde din primul playbook

drapel in

Folosesc 2 cărți de joc legate, detaliile menționate mai jos.

playbook1: colectați date brute de la mai multe mașini

- gazde: target_1
  gather_facts: false


  sarcini:
   - nume: Înregistrați o nouă valoare
     shell: df -h|awk '{gsub("%","|");printează $5 $6}'
     înregistrare: PLAY1VAR

   - depanare: msg="{{PLAY1VAR.stdout}}"

   - nume: Înregistrați o nouă valoare
     shell: nume de gazdă
     înregistrare: PLAY2VAR

   - depanare: msg="{{PLAY2VAR.stdout}}"

   - nume: Înregistrați gazda inactivă cu variabilă
     add_host:
       nume: „DUMMY_HOST”
       PLAY1VAR_NEW: „{{ PLAY1VAR.stdout }}”

   - nume: Înregistrați gazda inactivă cu variabilă
     add_host:
       nume: „DUMMY_HOST_1”
       PLAY2VAR_NEW: „{{ PLAY2VAR.stdout }}”
- gazde: target_2
  gather_facts: false


  sarcini:
   - nume: Înregistrați o nouă valoare

playbook2: analizați datele folosind script-ul Python

- gazde: localhost
  gather_facts: false

  sarcini:
   - nume: Echo ieșirea - PLAY1 vaule variabilă
     comandă: python3 /opt/diskspace_watcher/watcher.py '{{hostvars['DUMMY_HOST']['PLAY1VAR_NEW']}}' '{{hostvars['DUMMY_HOST_1']['PLAY2VAR_NEW']}}'
     înregistrare: PLAY2_RESULTS

   - depanare: msg="{{PLAY2_RESULTS.stdout}}"

Trec câteva variabile din primul manual la altul, când rulez acest lucru pentru o singură gazdă, funcționează conform așteptărilor, dar când încerc să rulez pentru mai multe gazde, nu poate să transmită argumentele pentru toată gazda menționată în inventar fișier și preia doar o variabilă pentru o anumită gazdă.

Caut o modalitate de a executa asta. Orice ajutor/idee este apreciat!!

drapel in
Vă rugăm să adăugați un exemplu reproductibil.
U880D avatar
drapel ca
Puteți adăuga detaliile pe care le-ați menționat modificând întrebarea dvs.?
Rishabh Shukla avatar
drapel in
@U880D, am adăugat configurația playbooks
Rishabh Shukla avatar
drapel in
@GeraldSchneider, a adăugat
drapel in
Nu văd nimic în primul manual care să ruleze al doilea.
Rishabh Shukla avatar
drapel in
@GeraldSchneider Am rulat ambele printr-un al treilea manual, adică vi global.yaml - import_playbook: playbook1.yaml - import_playbook: playbook2.yaml
Zeitounator avatar
drapel fr
Dacă înțeleg corect modul în care încercați să utilizați `dummy_host` pentru a înregistra o variabilă între redări, vor fi reținute doar ultimele valori înregistrate pentru ultima gazdă din bucla gazdă a primei dvs. redări. Ar trebui să editați întrebarea și să oferiți o imagine de ansamblu mai largă a ceea ce încercați să rezolvați aici, deoarece sunt aproape sigur că sunteți blocat într-o [problema x/y](https://xyproblem.info).

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.