Add immutability to PVC subrole
1. Remove the obsolete pvc-vacuum script install. 2. Remove notifies when modifying configs; we do not want to restart the daemons uncontrolled. 3. Add bootstrap check to package installs so they only happen on bootstrap. This ensures this part of the role, on re-runs, will *only* update configs and not actually touch the running daemon. This makes it safe to run before a oneshot/update-pvc-daemons.yml playbook run.
This commit is contained in:
parent
bb3b7e3922
commit
bea79b5102
|
@ -40,13 +40,3 @@
|
||||||
- name: restart ceph-mgr
|
- name: restart ceph-mgr
|
||||||
shell: "{% if is_coordinator %}sleep {{ 30 * (hostvars[inventory_hostname].ansible_local.host_id|int - 1) }} && systemctl restart ceph-mgr@{{ this_node }}.service{% endif %}"
|
shell: "{% if is_coordinator %}sleep {{ 30 * (hostvars[inventory_hostname].ansible_local.host_id|int - 1) }} && systemctl restart ceph-mgr@{{ this_node }}.service{% endif %}"
|
||||||
ignore_errors: true
|
ignore_errors: true
|
||||||
|
|
||||||
- name: restart pvcnoded
|
|
||||||
shell: "{% if is_coordinator %}sleep {{ 30 * (hostvars[inventory_hostname].ansible_local.host_id|int - 1) }} &&{% endif %} systemctl restart pvcnoded.service"
|
|
||||||
ignore_errors: true
|
|
||||||
when: bootstrap is not defined
|
|
||||||
|
|
||||||
- name: restart pvcapid
|
|
||||||
shell: "{% if is_coordinator %}sleep {{ 30 * (hostvars[inventory_hostname].ansible_local.host_id|int - 1) }} &&{% endif %} systemctl restart pvcapid.service"
|
|
||||||
ignore_errors: true
|
|
||||||
when: bootstrap is not defined
|
|
||||||
|
|
|
@ -10,13 +10,12 @@
|
||||||
- ethtool
|
- ethtool
|
||||||
- jq
|
- jq
|
||||||
state: latest
|
state: latest
|
||||||
|
when: bootstrap is defined and bootstrap
|
||||||
|
|
||||||
- name: install pvc node daemon configuration
|
- name: install pvc node daemon configuration
|
||||||
template:
|
template:
|
||||||
src: pvc/{{ item }}.j2
|
src: pvc/{{ item }}.j2
|
||||||
dest: /etc/pvc/{{ item }}
|
dest: /etc/pvc/{{ item }}
|
||||||
notify:
|
|
||||||
- restart pvcnoded
|
|
||||||
with_items:
|
with_items:
|
||||||
- pvcnoded.yaml
|
- pvcnoded.yaml
|
||||||
|
|
||||||
|
@ -24,8 +23,6 @@
|
||||||
template:
|
template:
|
||||||
src: pvc/{{ item }}.j2
|
src: pvc/{{ item }}.j2
|
||||||
dest: /etc/pvc/{{ item }}
|
dest: /etc/pvc/{{ item }}
|
||||||
notify:
|
|
||||||
- restart pvcapid
|
|
||||||
with_items:
|
with_items:
|
||||||
- pvcapid.yaml
|
- pvcapid.yaml
|
||||||
|
|
||||||
|
@ -55,12 +52,6 @@
|
||||||
run_once: yes
|
run_once: yes
|
||||||
when: bootstrap is defined and bootstrap and is_coordinator
|
when: bootstrap is defined and bootstrap and is_coordinator
|
||||||
|
|
||||||
- name: install daily vacuum script
|
|
||||||
template:
|
|
||||||
src: pvc/pvc-vacuum.j2
|
|
||||||
dest: /etc/cron.daily/pvc-vacuum
|
|
||||||
mode: 0755
|
|
||||||
|
|
||||||
- meta: flush_handlers
|
- meta: flush_handlers
|
||||||
|
|
||||||
- name: ensure services are started and running
|
- name: ensure services are started and running
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# Daily vaccuum script for PVC daemons
|
|
||||||
# {{ ansible_managed }}
|
|
||||||
|
|
||||||
# This script cleans up the PostgreSQL databases as well as the Zookeeper
|
|
||||||
# database. This prevents filesystem growth balooning after loong running
|
|
||||||
# periods.
|
|
||||||
|
|
||||||
echo -e "----------------------------" &>>/var/log/pvc/vacuum.log
|
|
||||||
echo -e "$( date )" &>>/var/log/pvc/vacuum.log
|
|
||||||
echo -e "----------------------------" &>>/var/log/pvc/vacuum.log
|
|
||||||
|
|
||||||
#
|
|
||||||
# PostgreSQL
|
|
||||||
#
|
|
||||||
|
|
||||||
# Don't run if we aren't the Patroni primary
|
|
||||||
HOSTNAME="$( hostname -s )"
|
|
||||||
PRIMARY="$( patronictl -c /etc/patroni/config.yml -d zookeeper://localhost:2181 list --format json \
|
|
||||||
| jq -r '.[] | select(.Role == "Leader") | .Member' )"
|
|
||||||
if [[ $HOSTNAME == $PRIMARY ]]; then
|
|
||||||
# Analyze the database
|
|
||||||
su postgres -c 'vacuumdb --verbose --analyze --all' &>>/var/log/pvc/vacuum.log
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Zookeeper
|
|
||||||
#
|
|
||||||
|
|
||||||
export ZOOCFG=/etc/zookeeper/conf/zoo.cfg
|
|
||||||
/usr/share/zookeeper/bin/zkCleanup.sh -n 7 &>>/var/log/pvc/vacuum.log
|
|
Loading…
Reference in New Issue