Skip to content

Commit 5579648

Browse files
committed
add tasks to restart deamons epliclty on config chages
1 parent 462091b commit 5579648

File tree

2 files changed

+40
-3
lines changed

2 files changed

+40
-3
lines changed

ansible/postgresql-playbooks/postgresql-deploy-primary.yml

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,13 +235,33 @@
235235
PGPASSWORD: "{{ repmgr_password }}"
236236
register: repmgr_connection_test
237237

238-
- name: Start repmgrd service
238+
- name: Determine if repmgrd needs restart
239+
ansible.builtin.set_fact:
240+
repmgrd_needs_restart: >-
241+
{{
242+
(update_repmgr_password is defined and update_repmgr_password.changed) or
243+
primary_conf_result.changed
244+
}}
245+
246+
- name: Restart repmgrd if password or config changed
247+
ansible.builtin.systemd:
248+
name: "repmgrd@{{ postgresql_version }}-main"
249+
state: restarted
250+
enabled: yes
251+
daemon_reload: yes
252+
when:
253+
- repmgr_connection_test is succeeded
254+
- repmgrd_needs_restart
255+
256+
- name: Start repmgrd service (if not restarted)
239257
ansible.builtin.systemd:
240258
name: "repmgrd@{{ postgresql_version }}-main"
241259
state: started
242260
enabled: yes
243261
daemon_reload: yes
244-
when: repmgr_connection_test is succeeded
262+
when:
263+
- repmgr_connection_test is succeeded
264+
- not repmgrd_needs_restart
245265

246266
- name: Verify repmgrd is running
247267
ansible.builtin.systemd:

ansible/postgresql-playbooks/postgresql-deploy-replica.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
group: postgres
8585
mode: "{{ item.mode }}"
8686
backup: yes
87+
register: replica_conf_result
8788
loop:
8889
- src: ../templates/postgresql/pg_hba.conf.j2
8990
dest: "{{ postgresql_conf_dir }}/pg_hba.conf"
@@ -303,12 +304,28 @@
303304
sudo -u postgres repmgr node status
304305
when: (verify_replica_reg.query_result[0].cnt | int) != 1
305306

306-
- name: Start repmgrd service
307+
- name: Determine if repmgrd needs restart
308+
ansible.builtin.set_fact:
309+
repmgrd_needs_restart: >-
310+
{{
311+
replica_conf_result.changed
312+
}}
313+
314+
- name: Restart repmgrd if config changed
315+
ansible.builtin.systemd:
316+
name: "repmgrd@{{ postgresql_version }}-main"
317+
state: restarted
318+
enabled: yes
319+
daemon_reload: yes
320+
when: repmgrd_needs_restart
321+
322+
- name: Start repmgrd service (if not restarted)
307323
ansible.builtin.systemd:
308324
name: "repmgrd@{{ postgresql_version }}-main"
309325
state: started
310326
enabled: yes
311327
daemon_reload: yes
328+
when: not repmgrd_needs_restart
312329

313330
- name: Verify repmgrd is running
314331
ansible.builtin.systemd:

0 commit comments

Comments
 (0)