Comunitatea Ansible continuă să surprindă cu conținut nou – pluginuri și module – generând multă muncă nouă pentru cei care se ocupă de întreținerea Ansible, deoarece noul cod trebuie integrat cât mai repede în repositoarele existente. Respectarea termenelor nu este întotdeauna posibilă, iar lansarea unor produse complet pregătite poate fi amânată până la următoarea versiune oficială a Ansible Engine. Până nu demult, utilizatorul final avea doar o singură modalitate de a obține conținut nou Ansible – împreună cu noua versiune a Ansible Engine.

Pentru a elimina inconvenientele, comunitatea Ansible a început lucrările la variante mai flexibile de creare și obținere a conținutului.
Red Hat Ansible Engine 2.8: spre noi metode de procesare a conținutului Ansible
Ca răspuns la solicitările utilizatorilor, în Ansible Engine 2.8 au apărut modificări referitoare la procesarea conținutului, care nu face parte din lansarea oficială. Aceste modificări vor permite implementarea unei noi modalități de livrare a conținutului utilizatorilor, care nu va depinde de întreținerea Ansible în gestionarea atât a conținutului Ansible, cât și a codului platformei în sine.
Se preconizează că în următoarele lansări, creatorii de conținut vor putea livra acesta sub formă de pachete speciale, numite Colecții (Collection), care vor putea fi instalate în locul corespunzător pentru execuție pe nodul principal Ansible (control node) sau pe nodul gestionat (managed node). Creatorul colecțiilor va specifica direct în pachet detaliile execuției folosind roluri și playbook-uri. Datorită modificărilor menționate anterior în Ansible Engine, colecțiile vor deveni unul dintre instrumentele care vor permite separarea livrării conținutului de lansarea versiunilor oficiale Ansible Engine.
Noua construcție Become
Construcția Become există de ceva vreme, dar începând cu versiunea 2.8, cuvântul BECOME este folosit în mod implicit în Ansible Engine pentru a solicita parola la creșterea privilegiilor (privilegiile sudo în sistemele *nix sau modul enable pe dispozitivele de rețea). Cu alte cuvinte, acum BECOME este un instrument standard de creștere a autorităților, care determină singur cum să interacționeze cu sistemul țintă.
Iată un exemplu de utilizare:
ansible-playbook --become --ask-become-pass site.yml
BECOME password:
În Ansible Engine 2.8 a fost introdus și pluginul BECOME, care funcționează ca doas pe Linux și ca runas pe Windows, permițând executarea acțiunilor în numele unui utilizator specificat. Pentru a obține privilegii pe dispozitivele de rețea, se folosește pluginul de tip become enable.
Căutare Python interpreter
Probabil ați întâmpinat o astfel de eroare:
/usr/bin/python: bad interpreter: No such file or directory
Problema este că, în versiunile anterioare ale Ansible Engine, se considera implicit că interpreterul Python principal (utilizat în mod implicit) se află în folderul /usr/bin/python. Începând cu versiunea 2.8, Ansible caută interpreterul pe fiecare sistem țintă, verificând întâi tabela de căi și numele fișierului executabil pentru interpreterul principal Python în diverse distribuții și apoi folosind listele ordonate de interpretere alternative (fallback list), detalii suplimentare găsiți în .
Fișierele retry nu mai sunt create în mod implicit
Ați căutat de mult pe disk fișiere .retry? Dacă utilizați Ansible de ceva timp, probabil că aveți multe dintre ele, iar aceste fișiere ocupă spațiu util. Începând cu versiunea 2.8, Ansible Engine nu mai creează aceste fișiere în mod implicit (această opțiune poate fi inversată prin editarea fișierului ansible.cfg utilizat în mod implicit).
Recapitulare Play actualizată
Extras din :
Recapitularea Play acum ia în considerare sarcinile (tasks) cu statutul ignored și rescued, dar și ok, changed, unreachable, failed și skipped, datorită a două noi contoare statistice în callback-pluginul default. Sarcinile failed pentru care s-a setat flagul ignore_errors: yes sunt considerate ca ignored. Sarcinile failed pentru care apoi a fost executată secțiunea rescue sunt considerate ca rescued. Rețineți că, spre deosebire de versiunile anterioare ale Ansible, sarcinile rescued nu mai sunt contabilizate ca failed.
În tabelul Recap Play, după finalizarea playbook-ului, au fost adăugate coloane suplimentare pentru gazde: skipped, rescued și ignored:

Cloud și containere
În versiunea 2.8 au fost realizate îmbunătățiri și suplimente în modulele de cloud și containere pentru lucrul cu Amazon Web Services, Microsoft Azure, Google Cloud, Digital Ocean, și . De asemenea, merită menționat că fișierele TOML pot fi acum utilizate ca sursă de inventory.
Paramiko
Folosiți Red Hat Ansible Network Automation? Ansible Engine 2.8 nu mai conține paramiko și nu depinde de el. În mod implicit, Ansible Engine folosește ssh. Dacă aveți nevoie de paramiko, îl puteți instala cu comanda pip install paramiko.
Dacă aveți nevoie de asistență pentru utilizarea paramiko în cadrul abonamentului Red Hat, consultați articolul din baza de cunoștințe .
Astfel, noua versiune a Red Hat Ansible Engine a fost îmbogățită cu o listă impresionantă de îmbunătățiri și modificări, despre care puteți citi în continuare .
Red Hat Ansible Tower 3.5: mai multă automatizare
De la sfârșitul lunii mai, este disponibilă și noua versiune Red Hat Ansible Tower 3.5, care oferă câteva îmbunătățiri serioase pentru automatizare, despre care vom discuta, dacă nu ați apucat deja să verificați.
Așadar, mai întâi, iată cele principale:
- Suport pentru Red Hat Enterprise Linux 8;
- Suport pentru stocarea externă a acreditivelor folosind pluginuri corespunzătoare;
- Suport pentru pluginurile become în Ansible Tower.
În plus, în noua versiune au fost remediate mai mult de 160 de erori și probleme raportate.
Suport pentru Red Hat Enterprise Linux 8
Repetăm adesea că Red Hat Enterprise Linux (RHEL) este o bază robustă și versatilă pentru construirea, de exemplu, a unui cloud hibrid. Ansible Tower 3.5 (la fel ca Ansible Engine 2.8) asigură gestionarea gazdelor RHEL 8 și poate rula pe platforma Red Hat Enterprise Linux 8 ca nod de control al sistemului Red Hat Ansible Automation.
Stocarea externă a acreditivelor
Pe lângă stocarea integrată a acreditivelor, Ansible Tower 3.5 poate acum să utilizeze și stocări externe de acreditive, deoarece uneori este necesar să facem acreditivele mai accesibile pentru aplicații distribuite. Prin urmare, noua versiune Ansible Tower poate lucra direct cu diverse soluții de stocare a parolelor și cheilor, cum ar fi:
- HashiCorp Vault;
- CyberArk AIM;
- CyberArk Conjur;
- Microsoft Azure Key Vault.
Detalii despre modul de lucru cu aceste sisteme sunt prezentate în documentele .
Pluginuri noi pentru gestionarea inventarului și pentru creșterea privilegiilor
Urmând evoluția Ansible Engine, Ansible Tower 3.5 oferă noi pluginuri de inventar și un plugin pentru noul instrument de creștere a privilegiilor.
Datorită Ansible Tower poate acum să utilizeze ca sursă de inventar platformele Microsoft Azure, Google Cloud Platform și Red Hat OpenStack Platform, ceea ce permite funcționarea în medii cloud hibride „din cutie”.
Noul plugin de creștere a privilegiilor oferă o gestionare cuprinzătoare a sarcinilor de creștere a privilegiilor, oferind mult mai multă flexibilitate și control comparativ cu tradiționalele sudo și su.
Interfața UI a listelor a fost reproiectată
În noua versiune, lucrul cu listele a devenit mult mai convenabil. Acestea pot fi desfăcute pentru a afișa detalii și pliate pentru a arăta mai multe elemente pe ecran. Listele pot fi de asemenea sortate după diferite câmpuri și filtrate practic după orice proprietate.
Metrici îmbunătățite
Metricile au acum așa-numitele endpoint-uri (\/api\/v2\/metrics), grație cărora Ansible Tower poate fi monitorizat ușor cu Prometheus și alte sisteme similare, putând utiliza simultan mai multe sisteme, inclusiv cele în cloud.
Ansible Tower 3.5 este deja disponibil pentru descărcare, poate fi instalată atât local, cât și prin Vagrant sau Amazon AMI.
Webinarii despre Ansible: îmbunătățiți-vă abilitățile
Se completează constant depozitul de webinarii pe tema:
Pe 4 iunie a avut loc un webinar , dedicat noilor și îmbunătățitelor funcționalități ale Red Hat Ansible Tower și Red Hat Ansible Engine. Va fi disponibil în curând în depozit.
În limba rusă este disponibil.
Sursa: habr.com
