Durante la configurazione dell'attività su un altro dispositivo host, gli errori ansible sono un evento comune. Rappresentano stati di sistema unici e forse significativi. Nonostante ciò, potrebbero esserci alcuni errori che vogliamo evitare in modo che anche le attività eseguino e mostrino l'output se vengono eseguite correttamente. In questo articolo, parleremo di errori di Ansible e di come ignorarli. Dimostriamo specificamente una tecnica per sopprimere e ignorare i fallimenti con Ansible.
In contrasto con la fissazione degli errori, evitare che i guasti comportano il continuo con le attività tanto quanto l'attività nel playbook Ansible non è influenzata. Lo strumento Ansible emette un messaggio di avviso quando non può finire un'attività o un playbook durante il debug di un'attività. Ci sono diverse cause, ma spetta a noi identificarle e trovare una soluzione. Sfortunatamente, non tutti gli errori possono essere risolti. Puoi scegliere di iniziare a ignorare gli errori se non lo desideri o se non sei in grado di risolvere il problema.
La maggior parte del controllo dei manager in Ansible usa questa strategia mentre si connette con gli host target in scenari del mondo reale. Ansible Impostazione di cessare le attività su un dispositivo target e attività continue su altri server ogni volta che restituisce un risultato restituito diverso da zero da una dichiarazione o un errore da un pacchetto. Anche se ci sono alcune situazioni in cui potresti voler agire in modo diverso. Un risultato restituito che non è zero occasionalmente indica il progresso. Spesso, potresti volere che l'elaborazione si fermi su un server in modo che si fermi su tutti gli host.
Modi per ignorare gli errori in Ansible
In Ansible, diversi modi vengono utilizzati per svolgere le attività del playbook se mostra l'insufficienza dell'attività. I seguenti sono i diversi modi che aiuteranno a eseguire l'attività anche se Ansible mostra errori:
1. Utilizzo del comando Ignore_errors = True
Anche se l'attività continua a fallire, il playbook continua a eseguire se si specifica il comando Ignore_errors = True nella parte inferiore dell'attività. Nonostante si prenda cura del completamento o dei guasti dell'attività, svolge ancora l'attività successiva. Se in qualche modo l'attività non ha successo, passa al prossimo. Se l'attività ha esito positivo, completa un processo successivo.
2. Utilizzo della modalità di controllo in Ansible
Utilizzare le variabili speciali booleane, la modalità di controllo Ansible, che è definita in true una volta che Ansible è nel metodo di controllo per bypassare un'attività o ignorare gli errori su un'attività ogni volta che viene utilizzata la versione del metodo di controllo di Ansible.
3. Utilizzo del fallimento = quando comando nel playbook Ansible
In Ansible, possiamo anche utilizzare il fallito_ quando specifica per specificare qualsiasi "fallimento" implicito per ogni attività. Simile a tutte le dichiarazioni condizionali di Ansible, gli elenchi di numerosi criteri non riusciti sono combinati con un implicito. Quindi, l'attività fallisce solo se tutte le condizioni sono soddisfatte.
Prerequisiti per ignorare gli errori in Ansible
Lo strumento di configurazione Ansible deve rispettare i criteri necessari per includere l'esempio concreto:
Per aiutare lo studente a capire il principio di utilizzare l'errore di ignorare in un playbook Ansible, implementiamo il seguente esempio:
Esempio: utilizzando il comando Ignore_errors = True
Questo è l'esempio più semplice che utilizza Ansible per l'implementazione in cui includiamo diverse attività nel playbook ed eseguiamo le attività utilizzando il comando Ignore Error. Per fare ciò, scriviamo prima il seguente codice nel terminale Ansible:
[root@master ansible]# nano ignore_errors.YML
Dopo la creazione e il lancio di Ignore_errors.Playbook YML, ora iniziamo ad inserire i comandi nel playbook. Innanzitutto, utilizziamo l'opzione "host", passando gli host forniti come "localhost". Inseriamo l'argomento "falso" nell'argomento "raccolta fatti" in modo che non saremo in grado di ottenere ulteriori informazioni sull'host locale quando eseguiamo il playbook.
Successivamente, iniziamo a elencare ogni attività che desideriamo completare con l'opzione "Attività". Nel primo compito, visualizziamo il documento inesistente nella directory Ansible. Innanzitutto, passiamo il titolo del compito che vogliamo implementare. Quindi, utilizziamo l'opzione di comando e archiviamo il documento di testo inesistente e utilizziamo "LS" in modo da poter eseguire il comando nella prima attività. Dopo la prima attività, utilizziamo il comando Ignore_errors = True in modo che se l'attività sopra l'istruzione Ignore abbia un errore, ignora l'attività e si sposta nella attività successiva ed eseguiamola.
Elenchiamo un'altra attività che viene utilizzata. Se la prima attività non riesce, lo strumento Ansible deve eseguire l'attività successiva. Quindi, utilizziamo il parametro di debug per eseguire l'attività nel playbook.
- Host: localhost
Gather_Facts: false
compiti:
- Nome: elenca un file inesistente
Comando: LS inesistente.TXT
Ignore_errors: vero
- Nome: continua l'attività dopo aver fallito
debug:
MSG: "Continua l'attività dopo il fallimento"
Ora, elenchiamo attività sufficienti per eseguire e verificare il comando Ignora Error. Ora interromiamo il playbook e torniamo al terminale principale. Dopodiché, gestiamo il playbook. Per questo, utilizziamo la seguente affermazione:
[root@master ansible]# ansible-playbook ignore_errors.YML
Dopo aver eseguito il comando sopra menzionato, otteniamo il seguente output. Come vedi, la prima attività che elenca un file inesistente mostra un errore. Ma la seconda attività viene eseguita correttamente perché abbiamo ignorato la prima attività utilizzando Ignore_error = true nel playbook.
Conclusione
Abbiamo imparato cosa significa l'errore ignorato in Ansible. Abbiamo discusso di come funziona nel playbook Ansible. Abbiamo anche discusso dei diversi modi per ignorare l'errore in Ansible mentre eseguiamo le attività. Abbiamo implementato un esempio in modo che ogni concetto sia chiaro per l'utente.