2017-03-17 03:38:13 +08:00
|
|
|
---
|
|
|
|
- name: Backup etcd data
|
|
|
|
command: /bin/true
|
|
|
|
notify:
|
|
|
|
- Refresh Time Fact
|
|
|
|
- Set Backup Directory
|
|
|
|
- Create Backup Directory
|
2017-08-31 23:23:24 +08:00
|
|
|
- Stat etcd v2 data directory
|
2017-03-17 03:38:13 +08:00
|
|
|
- Backup etcd v2 data
|
|
|
|
- Backup etcd v3 data
|
|
|
|
when: etcd_cluster_is_healthy.rc == 0
|
|
|
|
|
|
|
|
- name: Refresh Time Fact
|
|
|
|
setup: filter=ansible_date_time
|
|
|
|
|
|
|
|
- name: Set Backup Directory
|
|
|
|
set_fact:
|
|
|
|
etcd_backup_directory: "{{ etcd_backup_prefix }}/etcd-{{ ansible_date_time.date }}_{{ ansible_date_time.time }}"
|
|
|
|
|
|
|
|
- name: Create Backup Directory
|
|
|
|
file:
|
|
|
|
path: "{{ etcd_backup_directory }}"
|
|
|
|
state: directory
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: 0600
|
|
|
|
|
2017-08-31 23:23:24 +08:00
|
|
|
- name: Stat etcd v2 data directory
|
|
|
|
stat:
|
|
|
|
path: "{{ etcd_data_dir }}/member"
|
|
|
|
register: etcd_data_dir_member
|
|
|
|
|
2017-03-17 03:38:13 +08:00
|
|
|
- name: Backup etcd v2 data
|
2017-08-31 23:23:24 +08:00
|
|
|
when: etcd_data_dir_member.stat.exists
|
2017-03-24 00:56:30 +08:00
|
|
|
command: >-
|
|
|
|
{{ bin_dir }}/etcdctl backup
|
|
|
|
--data-dir {{ etcd_data_dir }}
|
|
|
|
--backup-dir {{ etcd_backup_directory }}
|
2017-03-17 03:38:13 +08:00
|
|
|
environment:
|
|
|
|
ETCDCTL_API: 2
|
|
|
|
retries: 3
|
|
|
|
delay: "{{ retry_stagger | random + 3 }}"
|
|
|
|
|
|
|
|
- name: Backup etcd v3 data
|
2017-03-24 00:56:30 +08:00
|
|
|
command: >-
|
|
|
|
{{ bin_dir }}/etcdctl
|
|
|
|
--endpoints={{ etcd_access_addresses }}
|
|
|
|
snapshot save {{ etcd_backup_directory }}/snapshot.db
|
2017-03-17 03:38:13 +08:00
|
|
|
environment:
|
|
|
|
ETCDCTL_API: 3
|
|
|
|
retries: 3
|
|
|
|
delay: "{{ retry_stagger | random + 3 }}"
|