Fórum Root.cz

Hlavní témata => Software => Téma založeno: czechsys 25. 07. 2019, 10:45:47

Název: Ansible - změna statusu tasku a restarty služby
Přispěvatel: czechsys 25. 07. 2019, 10:45:47
Ahoj,

badam nad timhle...mam treba netdata, a a konfiguruji v X souborech parametry dle daneho stroje. Kazdy soubor ma tedy svuj vlastni task (vse je v jednom .yml). A tedka...

1] nakonfiguruji netdata.conf -> register X
2] nakonfiguruji nginx.conf -> register Y

Rad bych restartoval sluzbu pouze jednou (reload neni u kazde sluzby pouzitelny). Muzu tedy udelat:

1] restart service, when: X is changed and Y is changed atd.
-> je tam prilis mnoho parametru
2] pouzit handler za kazdym taskem
-> prilis mnoho zbytecnych restartu

Jak z toho ven? Napr. ted tam ma 10x register a to je jen cast. Nejaka funkcni varianta, ktera by zareagovala na zmenu libovolneho tasku v danem playbooku (resp. taskbooku, je to v roli), nebo sla nejak pouzit specificka promenna, ktera by se nezmenila na puvodni stav? Ted me napada napr...

na zacatku celeho tastkbooku nastavit promennou result na False treba...ale jak ji zmenit na True, pokud task bude ve stavu "changed"?
Název: Re:Ansible - zmena statusu tasku a restarty sluzby
Přispěvatel: ⚫⚫⚫ 25. 07. 2019, 11:09:58
2] pouzit handler za kazdym taskem
-> prilis mnoho zbytecnych restartu
Nepousti se handler az na konci playbooku? Tzn, sluzba by se mela restartovat prave jednou.
Název: Re:Ansible - zmena statusu tasku a restarty sluzby
Přispěvatel: czechsys 25. 07. 2019, 11:24:10
2] pouzit handler za kazdym taskem
-> prilis mnoho zbytecnych restartu
Nepousti se handler az na konci playbooku? Tzn, sluzba by se mela restartovat prave jednou.

Tak to nevim, snad to nekdo potvrdi. Ale u handleru mam trochu problem s tim, ze pokud playbook padne na chybe jeste pred handlerem, tak na provedene zmeny jiz handler nereaguje, takze se mu vyhybam co muzu.
Název: Re:Ansible - zmena statusu tasku a restarty sluzby
Přispěvatel: ETNyx 25. 07. 2019, 13:11:40
Tak to nevim, snad to nekdo potvrdi. Ale u handleru mam trochu problem s tim, ze pokud playbook padne na chybe jeste pred handlerem, tak na provedene zmeny jiz handler nereaguje, takze se mu vyhybam co muzu.

Ano handler se pouští až na konci jednou.

Nadruhou stranu pokud playbook spadne na nějaké chybě a handler se neprovede (restart se neprovede) nezpůsobí to nekonzistení stavy, Vy playbook opravíte a službu hnadler restartuje až ve chvíli kdy ansible dosáhne kýženého výsledku.