Ansible Ignore Error

Ansible Ignore Error



Pri konfigurácii úlohy na inom hostiteľskom zariadení sa často vyskytujú chyby Ansible. Predstavujú jedinečné a možno významné stavy systému. Napriek tomu sa môžu vyskytnúť chyby, ktorým sa chceme vyhnúť, aby sa úlohy tiež vykonali a zobrazili výstup, ak boli úspešne vykonané. V tomto článku budeme hovoriť o chybách Ansible a o tom, ako ich ignorovať. Konkrétne demonštrujeme techniku na potlačenie a ignorovanie neúspechov pomocou Ansible.

Na rozdiel od opravy chýb, predchádzanie zlyhaniam znamená pokračovanie v úlohách, pokiaľ to neovplyvní aktivitu v príručke Ansible. Nástroj ansible vydá varovnú správu, keď nemôže dokončiť úlohu alebo príručku počas ladenia úlohy. Existuje niekoľko príčin, ale je na nás, aby sme ich identifikovali a našli riešenie. Bohužiaľ, nie všetky chyby sa dajú opraviť. Môžete sa rozhodnúť začať ignorovať chyby, ak si to neželáte alebo ak nedokážete problém vyriešiť.







Väčšina riadiacich pracovníkov v Ansible používa túto stratégiu pri pripájaní sa k cieľovým hostiteľom v reálnych scenároch. Ansible predvolene zastaví aktivity na cieľovom zariadení a pokračuje v aktivitách na niektorých iných serveroch vždy, keď vráti nenulový výsledok z príkazu alebo chybu z balíka. Aj keď existujú určité situácie, kedy možno budete chcieť konať inak. Vrátený výsledok, ktorý nie je nula, niekedy označuje pokrok. Často možno budete chcieť, aby sa spracovanie zastavilo na jednom serveri, aby sa zastavilo na všetkých hostiteľoch.



Spôsoby ignorovania chýb v Ansible

V Ansible sa používajú rôzne spôsoby vykonávania úloh zošita, ak ukazuje zlyhanie úlohy. Nasledujú rôzne spôsoby, ktoré pomôžu vykonať úlohu, aj keď Ansible vykazuje chyby:



1. Použitie príkazu Ignore_Errors=True





Aj keď úloha naďalej zlyháva, príručka sa naďalej vykonáva, ak v spodnej časti aktivity zadáte príkaz ignore_errors=true. Napriek tomu, že sa stará o dokončenie úlohy alebo neúspech, stále vykonáva následnú činnosť. Ak je aktivita nejakým spôsobom neúspešná, prejde na ďalšiu. Ak je aktivita úspešná, potom dokončí proces.

2. Použitie režimu kontroly v Ansible



Využite boolovské špeciálne premenné, režim kontroly Ansible, ktorý je definovaný ako True, keď je Ansible v metóde kontroly, aby ste obišli úlohu alebo ignorovali zlyhania úlohy, kedykoľvek sa použije verzia metódy kontroly Ansible.

3. Využitie príkazu Failed=When v Ansible Playbook

V Ansible môžeme tiež použiť podmienku failed_when, aby sme špecifikovali akékoľvek „zlyhanie“ pre každú aktivitu. Podobne ako pri všetkých podmienených príkazoch Ansible sú zoznamy mnohých kritérií neúspešných_pri kombinovaných s implicitným. Úloha teda zlyhá iba vtedy, ak sú splnené všetky podmienky.

Predpoklady na ignorovanie chýb v Ansible

Konfiguračný nástroj Ansible musí spĺňať potrebné kritériá, aby mohol obsahovať konkrétny príklad:

  • Hlavný server Ansible alebo môžeme povedať riadiaci server je potrebný, aby sme mohli nakonfigurovať príkazy na cieľovom zariadení.
  • Potrebujeme mať miestnych hostiteľov, aby sme každého z nich mohli kontaktovať a použiť rôzne spôsoby ignorovania chýb v softvéri Ansible. Lokálny hostiteľ v tomto prípade používame ako cieľový vzdialený server počas trvania aktivity.
  • Píšeme playbooky, spúšťame príkazy Ansible ignore error a používame zariadenie ansible-controller na sledovanie výsledkov na vzdialených hostiteľoch.

Aby sme študentovi pomohli pochopiť princíp využitia chyby ignorovania v príručke Ansible, implementujme nasledujúci príklad:

Príklad: Použitie príkazu Ignore_Errors=True

Toto je najjednoduchší príklad, ktorý používa Ansible na implementáciu, kde do príručky zahrnieme niekoľko úloh a úlohy vykonáme pomocou príkazu ignore error. Aby sme to dosiahli, najprv napíšeme nasledujúci kód do terminálu Ansible:

[ koreň @ majster ansible ] # nano ignore_errors.yml

Po vytvorení a spustení playbooku ignore_errors.yml teraz začneme zadávať príkazy do playbooku. Najprv použijeme možnosť „hosts“ a dodaných hostiteľov odošleme ako „localhost“. Do argumentu „zhromaždiť fakty“ zadávame hodnotu „false“, aby sme pri spustení príručky nemohli získať ďalšie informácie o miestnom hostiteľovi.

Potom začneme uvádzať každú úlohu, ktorú chceme dokončiť, pod možnosťou „úlohy“. V prvej úlohe zobrazíme dokument, ktorý v adresári Ansible neexistuje. Najprv odovzdáme názov úlohy, ktorú chceme realizovať. Potom použijeme možnosť príkazu a uložíme neexistujúci textový dokument a použijeme „ls“, aby sme mohli vykonať príkaz v prvej úlohe. Po prvej úlohe použijeme príkaz ignore_errors=true, takže ak úloha nad príkazom ignore zlyhá, úlohu ignoruje a presunie sa na ďalšiu úlohu a vykoná ju.

Uvádzame ďalšiu úlohu, ktorá sa používa. Ak prvá úloha zlyhá, nástroj Ansible musí vykonať ďalšiu úlohu. Potom použijeme parameter ladenia na spustenie úlohy v príručke.

- hostitelia: localhost
zhromaždiť_fakty: falošný
úlohy:
- meno: Uveďte neexistujúce súbor
príkaz: ls neexistujúci.txt
ignore_errors: pravda

- názov: ďalej úloha po zlyhaní
ladiť:
správa: 'Pokračovať v úlohe po zlyhaní'

Teraz uvádzame dostatok úloh na vykonanie a kontrolu príkazu ignorovať chybu. Teraz ukončíme hru a vrátime sa späť do hlavného terminálu. Potom spustíme príručku. Na to používame nasledujúce vyhlásenie:

[ koreň @ majster ansible ] # ansible-playbook ignore_errors.yml

Po vykonaní vyššie uvedeného príkazu dostaneme nasledujúci výstup. Ako vidíte, prvá úloha, ktorá uvádza neexistujúci súbor, ukazuje zlyhanie. Ale druhá úloha je úspešne vykonaná, pretože sme ignorovali prvú úlohu použitím ignore_error=true v príručke.

Záver

Dozvedeli sme sa, čo znamená chyba ignorovania v Ansible. O tom, ako to funguje, sme diskutovali v príručke Ansible. Diskutovali sme aj o rôznych spôsoboch ignorovania chyby v Ansible pri vykonávaní úloh. Implementovali sme príklad, aby bol každý koncept pre používateľa jasný.