From 4b858b6466ace736eb536fade00b567ca5227dca Mon Sep 17 00:00:00 2001 From: axelgobletbdr <40762710+axelgobletbdr@users.noreply.github.com> Date: Fri, 23 Oct 2020 16:09:57 +0200 Subject: [PATCH] Fixes 6621 etcd backup directory is consuming much rootfs disk space (#6836) * added an ansible var to manage retention of etcd backups * refactord ls/grep into find in etcd backup removal command --- roles/etcd/defaults/main.yml | 2 ++ roles/etcd/handlers/backup.yml | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/roles/etcd/defaults/main.yml b/roles/etcd/defaults/main.yml index f4f4acff8..e23f0f6ef 100644 --- a/roles/etcd/defaults/main.yml +++ b/roles/etcd/defaults/main.yml @@ -9,6 +9,8 @@ etcd_events_cluster_enabled: false etcd_backup_prefix: "/var/backups" etcd_data_dir: "/var/lib/etcd" +# Number of etcd backups to retain. Set to a value < 0 to retain all backups +etcd_backup_retention_count: -1 etcd_config_dir: /etc/ssl/etcd etcd_cert_dir: "{{ etcd_config_dir }}/ssl" diff --git a/roles/etcd/handlers/backup.yml b/roles/etcd/handlers/backup.yml index 966da538b..aeaa2b5fb 100644 --- a/roles/etcd/handlers/backup.yml +++ b/roles/etcd/handlers/backup.yml @@ -8,6 +8,7 @@ - Stat etcd v2 data directory - Backup etcd v2 data - Backup etcd v3 data + - Remove old etcd backups when: etcd_cluster_is_healthy.rc == 0 - name: Refresh Time Fact @@ -57,3 +58,9 @@ register: etcd_backup_v3_command until: etcd_backup_v3_command.rc == 0 delay: "{{ retry_stagger | random + 3 }}" + +- name: Remove old etcd backups + shell: + chdir: "{{ etcd_backup_prefix }}" + cmd: "find . -name 'etcd-*' | head -n -{{ etcd_backup_retention_count }} | xargs rm -rf" + when: etcd_backup_retention_count >= 0