diff --git a/roles/etcd/handlers/backup.yml b/roles/etcd/handlers/backup.yml index ba6669b3f051827a03eb5a76c519e69c252607e9..d848cdbcb76ce7fd8d645ae2ebbd6c0145348f6b 100644 --- a/roles/etcd/handlers/backup.yml +++ b/roles/etcd/handlers/backup.yml @@ -8,7 +8,6 @@ - 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 @@ -61,9 +60,3 @@ 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-*' -type d | sort -n | head -n -{{ etcd_backup_retention_count }} | xargs rm -rf" - when: etcd_backup_retention_count >= 0 diff --git a/roles/etcd/handlers/backup_cleanup.yml b/roles/etcd/handlers/backup_cleanup.yml new file mode 100644 index 0000000000000000000000000000000000000000..e670f46f830a4fb7e5c96a90016de3379c543ada --- /dev/null +++ b/roles/etcd/handlers/backup_cleanup.yml @@ -0,0 +1,11 @@ +--- +- name: Cleanup etcd backups + command: /bin/true + notify: + - Remove old etcd backups + +- name: Remove old etcd backups + shell: + chdir: "{{ etcd_backup_prefix }}" + cmd: "find . -name 'etcd-*' -type d | sort -n | head -n -{{ etcd_backup_retention_count }} | xargs rm -rf" + when: etcd_backup_retention_count >= 0 diff --git a/roles/etcd/handlers/main.yml b/roles/etcd/handlers/main.yml index fa0d273c573dcd16dae9dcbc7c76206107e42b75..ccf8f8f64e163d2aaef70018ce6572422a3d12b9 100644 --- a/roles/etcd/handlers/main.yml +++ b/roles/etcd/handlers/main.yml @@ -6,6 +6,7 @@ - etcd | reload systemd - reload etcd - wait for etcd up + - Cleanup etcd backups - name: restart etcd-events command: /bin/true @@ -43,6 +44,8 @@ retries: 60 delay: 1 +- import_tasks: backup_cleanup.yml + - name: wait for etcd-events up uri: url: "https://{% if is_etcd_master %}{{ etcd_address }}{% else %}127.0.0.1{% endif %}:2383/health"