Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Systemd daemon-reload Handler #38

Open
belzebub40k opened this issue Apr 25, 2020 · 0 comments
Open

Systemd daemon-reload Handler #38

belzebub40k opened this issue Apr 25, 2020 · 0 comments

Comments

@belzebub40k
Copy link
Member

In unseren Rollen haben wir seperate Handler für den Reload von systemd units. Da die Handler üblicherweise alle gleich heißen (reload systemd) wird der Handler nur ein mal aufgerufen. Da der Handler scheinbar immer im Kontext der letzten Rolle, die diesen aufgerufen hat, ausgeführt wird führt dies dazu, dass vorherige Services bereits neu gestartet werden obwohl noch kein Reload des systemd erfolgt ist.

Bsp.

RUNNING HANDLER [service-cpthook : restart cpthook] *********************************
changed: [gurke.freifunk-mwu.de]

RUNNING HANDLER [service-prometheus : restart prometheus] ***************************
changed: [gurke.freifunk-mwu.de]

RUNNING HANDLER [service-yanic : restart yanic] *************************************
changed: [gurke.freifunk-mwu.de]

RUNNING HANDLER [service-yanic : restart respondd] **********************************
changed: [gurke.freifunk-mwu.de]

RUNNING HANDLER [service-bird-lg : reload systemd] **********************************
ok: [gurke.freifunk-mwu.de]

RUNNING HANDLER [service-bird-lg : restart bird-lg-webservice] **********************
changed: [gurke.freifunk-mwu.de]

service-prometheus und service-bird-lg haben ein "reload systemd" ausgelöst aber es findet kein Reload vor dem Restart von Prometheus statt.

Laut Ansible Doku sollte der Parameter daemon_reload beim Restart des Service gesetzt werden.

- name: restart service cron on centos, in all cases, also issue daemon-reload to pick up config changes
  systemd:
    state: restarted
    daemon_reload: yes
    name: crond

https://docs.ansible.com/ansible/latest/modules/systemd_module.html#examples

In manchen Rollen wird service statt systemd für die Restart/Reloads verwendet. Da wir keine anderen Distros außer Debian 9 und 10 unterstützen sehe ich da kein Problem darin alles auf das systemd Modul umzustellen. @freifunk-mwu/admin spricht aus eurer Sicht etwas dagegen?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant