summaryrefslogtreecommitdiffstats
path: root/playbooks/openshift-etcd/private/upgrade_backup.yml
blob: 7dfea07f10d8ef323cc29c1a2097e0ec1877db32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
---
- name: Backup etcd
  hosts: oo_etcd_hosts_to_backup
  roles:
  - role: openshift_etcd_facts
  post_tasks:
  - include_role:
      name: etcd
      tasks_from: backup.yml
    vars:
      r_etcd_common_backup_tag: "{{ etcd_backup_tag }}"
      r_etcd_common_backup_sufix_name: "{{ lookup('pipe', 'date +%Y%m%d%H%M%S') }}"

- name: Gate on etcd backup
  hosts: localhost
  connection: local
  become: no
  tasks:
  - set_fact:
      etcd_backup_completed: "{{ hostvars
                                 | oo_select_keys(groups.oo_etcd_hosts_to_backup)
                                 | oo_collect('inventory_hostname', {'r_etcd_common_backup_complete': true}) }}"
  - set_fact:
      etcd_backup_failed: "{{ groups.oo_etcd_hosts_to_backup | difference(etcd_backup_completed) | list }}"
  - fail:
      msg: "Upgrade cannot continue. The following hosts did not complete etcd backup: {{ etcd_backup_failed | join(',') }}"
    when: etcd_backup_failed | length > 0