diff --git a/roles/keepalived/tasks/main.yml b/roles/keepalived/tasks/main.yml index 87362375eeccd0cb840181fc3e6ce4a426ae0298..a7d77af91c49d0231e7e973833e77a030e6308e1 100644 --- a/roles/keepalived/tasks/main.yml +++ b/roles/keepalived/tasks/main.yml @@ -11,7 +11,7 @@ - name: Use buster-backports to install keepalived template: src: apt/preferences.d/keepalived.j2 - dest: apt/preferences.d/keepalived + dest: /etc/apt/preferences.d/keepalived owner: root group: root mode: 0644 @@ -35,8 +35,25 @@ mode: 0644 notify: Reload keepalived.service +- name: Create keepalived service directory for systemd + file: + path: /etc/systemd/system/keepalived.service.d + owner: root + group: root + mode: 0755 + state: directory + +- name: Override keepalived StopPost to stop some services after keepalived switch + template: + src: systemd/system/keepalived.service.d/override.conf.j2 + dest: /etc/systemd/system/keepalived.service.d/override.conf + owner: root + group: root + mode: 0644 + - name: Start and enable keepalived service: name: keepalived + daemon-reload: true state: started enabled: yes diff --git a/roles/keepalived/templates/systemd/system/keepalived.service.d/override.conf.j2 b/roles/keepalived/templates/systemd/system/keepalived.service.d/override.conf.j2 new file mode 100644 index 0000000000000000000000000000000000000000..9fa1e5df6e3de1dbef2f5484c6bd691811fa4067 --- /dev/null +++ b/roles/keepalived/templates/systemd/system/keepalived.service.d/override.conf.j2 @@ -0,0 +1,4 @@ +{{ ansible_header | comment }} + +[Service] +ExecStopPost=/bin/sh -c "{% for instance in keepalived.instances %}/var/local/services/keepalived/keepalived.py INSTANCE {{ instance.name }} STOP {{ instance.priority }}; {% endfor %}"