Browse Source
etcd/backup: native ansible modules instead of shell (#10540 )
This make native ansible features (dry-run, changed state) easier to
have, and should have a minimal performance impact, since it only runs
on the etcd members.
pull/10509/merge
Max Gautier
1 year ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
14 additions and
4 deletions
roles/etcd/handlers/backup_cleanup.yml
@ -2,11 +2,21 @@
- name : Cleanup etcd backups
- name : Cleanup etcd backups
command : /bin/true
command : /bin/true
notify:
notify:
- Find old etcd backups
- Remove old etcd backups
- Remove old etcd backups
- name : Find old etcd backups
ansible.builtin.find:
file_type : directory
recurse : false
paths : "{{ etcd_backup_prefix }}"
patterns : "etcd-*"
register : _etcd_backups
when : etcd_backup_retention_count >= 0
- name : Remove old etcd backups
- name : Remove old etcd backups
shell:
chdir : "{{ etcd_backup_prefix }}"
cmd : "set -o pipefail && find . -name 'etcd-*' -type d | sort -n | head -n -{{ etcd_backup_retention_count }} | xargs rm -rf"
executable : /bin/bash
ansible.builtin.file :
state : absent
path : "{{ item }} "
loop : "{{ (_etcd_backups.files | sort(attribute='ctime', reverse=True))[etcd_backup_retention_count:] | map(attribute='path') }}"
when : etcd_backup_retention_count >= 0
when : etcd_backup_retention_count >= 0