Ansible - změna statusu tasku a restarty služby

Ansible - změna statusu tasku a restarty služby
« kdy: 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"?
« Poslední změna: 25. 07. 2019, 20:07:02 od Petr Krčmář »


Re:Ansible - zmena statusu tasku a restarty sluzby
« Odpověď #1 kdy: 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.

Re:Ansible - zmena statusu tasku a restarty sluzby
« Odpověď #2 kdy: 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.

ETNyx

Re:Ansible - zmena statusu tasku a restarty sluzby
« Odpověď #3 kdy: 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.