Error d'ignoració d'Ansible

Error D Ignoracio D Ansible



Quan es configura la tasca en un altre dispositiu amfitrió, els errors d'Ansible són habituals. Representen estats del sistema únics i possiblement significatius. Malgrat això, pot haver-hi alguns errors que volem evitar perquè les tasques també s'executin i mostrin la sortida si s'executen amb èxit. En aquest article, parlarem dels errors d'Ansible i de com ignorar-los. Mostrem específicament una tècnica per suprimir i ignorar els errors amb Ansible.

En contrast amb la correcció d'errors, evitar errors implica continuar amb les tasques en la mesura que l'activitat del llibre de jugades d'Ansible no es vegi afectada. L'eina ansible emet un missatge d'advertència quan no pot acabar una tasca o un llibre de jugades mentre depura una tasca. Hi ha diverses causes, però depèn de nosaltres identificar-les i trobar una solució. Malauradament, no tots els errors es poden solucionar. Podeu optar per començar a ignorar els errors si no voleu o si no podeu resoldre el problema.







La majoria dels gestors que controlen a Ansible utilitzen aquesta estratègia mentre es connecten amb els amfitrions objectiu en escenaris del món real. Per defecte, Ansible deixa les activitats en un dispositiu de destinació i continua les activitats en alguns altres servidors sempre que retorna un resultat retornat diferent de zero d'una declaració o d'un error d'un paquet. Tot i que, hi ha certes situacions en què potser voldreu actuar de manera diferent. Un resultat retornat que no és zero ocasionalment denota progrés. Sovint, és possible que vulgueu que el processament s'aturi en un servidor perquè s'aturi a tots els amfitrions.



Maneres d'ignorar els errors a Ansible

A Ansible, s'utilitzen diferents maneres per dur a terme les tasques del llibre de jugades si mostra l'error de la tasca. A continuació es mostren les diferents maneres que us ajudaran a executar la tasca encara que Ansible mostri errors:



1. Utilitzant l'ordre Ignore_Errors=True





Tot i que la tasca continua fallant, el llibre de jugades continua executant-se si especifiqueu l'ordre ignore_errors=true a la part inferior de l'activitat. Tot i preocupar-se per la realització de la tasca o els fracassos, encara duu a terme l'activitat posterior. Si d'alguna manera l'activitat no té èxit, es passa a la següent. Si l'activitat té èxit, completarà un procés després.

2. Utilitzar el mode de comprovació a Ansible



Utilitzeu les variables especials booleanes, el mode de verificació Ansible, que es defineix com a True un cop Ansible està en el mètode de verificació per evitar una tasca o ignorar els errors d'una tasca sempre que s'utilitzi la versió del mètode de verificació d'Ansible.

3. Utilitzant l'ordre Fallada=Quan a Ansible Playbook

A Ansible, també podem utilitzar el condicional failed_when per especificar qualsevol 'falla' implicada per a cada activitat. De manera similar a totes les declaracions condicionals d'Ansible, les llistes de nombrosos criteris failed_when es combinen amb un implícit. Per tant, la tasca només falla si es compleixen totes les condicions.

Requisits previs per ignorar els errors d'Ansible

L'eina de configuració Ansible ha de complir els criteris necessaris per incloure l'exemple concret:

  • Un servidor principal Ansible o podem dir que un servidor de control és necessari perquè puguem configurar les ordres al dispositiu de destinació.
  • Hem de tenir els amfitrions locals perquè puguem contactar amb cadascun d'ells per utilitzar les diferents maneres d'ignorar els errors al programari Ansible. Utilitzem l'amfitrió local en aquest cas com a servidor remot de destinació durant la durada de l'activitat.
  • Escrivim els llibres de jugades, executem les ordres d'error Ansible ignore i utilitzem el dispositiu de control ansible per fer un seguiment dels resultats en amfitrions distants.

Per ajudar l'alumne a comprendre el principi d'utilitzar l'error d'ignorar en un llibre de jugades d'Ansible, implementem l'exemple següent:

Exemple: utilitzant l'ordre Ignore_Errors=True

Aquest és l'exemple més senzill que utilitza Ansible per a la implementació, on incloem diverses tasques al llibre de jugades i les executem amb l'ordre d'ignorar error. Per fer-ho, primer escrivim el codi següent al terminal Ansible:

[ arrel @ mestre ansible ] # nano ignore_errors.yml

Després de crear i llançar el llibre de jugades ignore_errors.yml, ara comencem a introduir les ordres al llibre de jugades. Primer, fem servir l'opció 'hosts', passant els hosts subministrats com a 'localhost'. Introduïm el valor 'fals' a l'argument 'recull fets' de manera que no puguem obtenir informació addicional sobre l'amfitrió local quan executem el llibre de jugades.

Després d'això, comencem a enumerar cada tasca que volem completar a l'opció 'tasques'. En la primera tasca, mostrem el document que no existeix al directori Ansible. Primer, passem el títol de la tasca que volem implementar. A continuació, utilitzem l'opció d'ordre i emmagatzemem el document de text inexistent i fem servir 'ls' perquè puguem executar l'ordre en la primera tasca. Després de la primera tasca, fem servir l'ordre ignore_errors=true de manera que si la tasca que hi ha a sobre de la instrucció ignore té un error, ignora la tasca i passa a la següent i l'executa.

Enumerem una altra tasca que s'utilitza. Si la primera tasca falla, l'eina Ansible ha d'executar la següent tasca. A continuació, utilitzem el paràmetre depuració per executar la tasca al llibre de jugades.

- hosts: localhost
gather_facts: fals
tasques:
- nom: enumerar un inexistent dossier
comandament: ls inexistent.txt
ignore_errors: veritat

- nom: continuar tasca després de fallar
depurar:
missatge: 'Continua la tasca després d'un error'

Ara, enumerem prou tasques per executar i comprovar l'ordre d'error ignora. Ara, tanquem el llibre de jocs i tornem al terminal principal. Després d'això, executem el llibre de jugades. Per a això, fem servir la següent afirmació:

[ arrel @ mestre ansible ] # ansible-playbook ignore_errors.yml

Després d'executar l'ordre esmentada anteriorment, obtenim la següent sortida. Com veieu, la primera tasca que enumera un fitxer inexistent mostra un error. Però la segona tasca s'executa amb èxit perquè vam ignorar la primera tasca utilitzant ignore_error=true al llibre de jugades.

Conclusió

Hem après què significa l'error d'ignorar a Ansible. Hem comentat com funciona al llibre de jugades Ansible. També vam parlar de les diferents maneres d'ignorar l'error a Ansible mentre executem les tasques. Hem implementat un exemple perquè cada concepte sigui clar per a l'usuari.