Puncte:1

Cum pot vedea ce comenzi rulează ansible și rezultatele lor?

drapel us

Sunt nou în Ansible și da, știu că acest lucru a fost deja întrebat de multe ori, dar am încercat deja să aplic sfaturile pe care le-am văzut în altă parte.

am facut export ANSIBLE_STDOUT_CALLBACK=depanare și apoi ansible-playbook -vvvvvv arch-upgrade.yaml -l my-host cu arch-upgrade.yaml de mai jos:

- nume: ArchLinux actualizat
  gazde: toate
  sarcini:
    - nume: upgrade complet de sistem
      pacman:
        update_cache: da
        upgrade: da
      înregistrare: afară
    - depanare: msg="{{ out }}"

eu iau mult de detalii despre modul în care ansible își deschide conexiunile ssh, își transferă fișierul python, îl rulează de la distanță etc., dar din câte îmi pot da seama, nici un singur lucru despre ce comandă a rulat de fapt scriptul python și ce a returnat (stdout, stderr, cod de retur). De aceea nu includ aici acest jurnal foarte lung, dar pot la cerere.

Este cineva conștient de modul în care pot să întreb și să fiu mai detaliat ce da (și nu Cum o face)?

drapel br
Ansible vă poate oferi ieșirea unui modul. Consultați [Module de depanare](https://docs.ansible.com/ansible/latest/dev_guide/debugging.html#debugging-modules) dacă doriți să aflați mai multe. Este destul de simplu. Îi cereți lui Ansible să lase codul la nodul de la distanță. Vedeți ANSIBLE_KEEP_REMOTE_FILES. Apoi, la nodul de la distanță, despachetați codul și rulați *pdb*.
drapel us
Ok, mulțumesc, cred că acesta este o modalitate de a face asta. Pare totusi putin complicat.Nu există o modalitate „nativă” de a vedea ce se întâmplă din linia de comandă ansible? Adică lucruri precum `run_command` nu interacționează cu un fel de mecanism de înregistrare nativ în ansible?
drapel br
Nu Nu este. Imaginează-ți cum funcționează Ansible. În primul rând, la controler, toate datele și codul sunt comprimate într-un pachet ``AnsiballZ``. Apoi, acest pachet este trimis la un nod la distanță. La nodul de la distanță, datele și codul sunt extrase și executate. Când o sarcină se termină, ieșirea este trimisă înapoi de la nodul de la distanță la controler. Citiți linkul de mai sus.
drapel us
Da, ceea ce propuneți este simplu din punct de vedere al proiectării sistemelor. Nu este atât de simplu din punctul de vedere al utilizatorului. Sunt puțin surprins că nu există un cadru generic pentru a înregistra efectele secundare și ceea ce fac modulele (comenzi shell, apeluri de sistem, apeluri API etc.) fără a fi nevoie să-l rulați manual. Cu toate acestea, mulțumesc pentru informațiile despre interiorul ansible!
drapel br
Cu plăcere! Este necesar să înțelegeți că succesul Ansible constă în furnizarea unui cadru cuprinzător pentru a scrie module personalizate. Există [structură unificată a rezultatelor](https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html#creating-an-info-or-a-facts-module) dar, din cauza varietății dintre module, veți obține numai o astfel de ieșire oferită de autorul modulului. Sunt aproximativ 10k module în acest moment, presupun. Consultați [Colecții Ansible](https://github.com/orgs/ansible-collections/repositories).

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.