From d309657b40b71fba2c16aa663397da81e126a2fb Mon Sep 17 00:00:00 2001
From: Scott Dodson <sdodson@redhat.com>
Date: Sun, 18 Jun 2017 16:30:23 -0400
Subject: Preserve etcd3 storage if it's already in use

This would be the case if for instance they'd upgraded and then
migrated.
---
 playbooks/common/openshift-master/config.yml | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

(limited to 'playbooks/common')

diff --git a/playbooks/common/openshift-master/config.yml b/playbooks/common/openshift-master/config.yml
index 429460b2c..70108fb7a 100644
--- a/playbooks/common/openshift-master/config.yml
+++ b/playbooks/common/openshift-master/config.yml
@@ -27,7 +27,17 @@
 
   - name: Set clean install fact
     set_fact:
-      l_clean_install: "{{ not master_config_stat.stat.exists }}"
+      l_clean_install: "{{ not master_config_stat.stat.exists | bool }}"
+
+  - name: Determine if etcd3 storage is in use
+    command: grep  -Pzo  "storage-backend:\n.*etcd3" /etc/origin/master/master-config.yaml -q
+    register: etcd3_grep
+    failed_when: false
+    changed_when: false
+
+  - name: Set etcd3 fact
+    set_fact:
+      l_etcd3_enabled: "{{ etcd3_grep.rc == 0 | bool }}"
 
   - set_fact:
       openshift_master_pod_eviction_timeout: "{{ lookup('oo_option', 'openshift_master_pod_eviction_timeout') | default(none, true) }}"
@@ -131,7 +141,8 @@
     etcd_cert_subdir: "openshift-master-{{ openshift.common.hostname }}"
     etcd_cert_config_dir: "{{ openshift.common.config_base }}/master"
     etcd_cert_prefix: "master.etcd-"
-    r_openshift_master_clean_install: hostvars[groups.oo_first_master.0].l_clean_install
+    r_openshift_master_clean_install: "{{ hostvars[groups.oo_first_master.0].l_clean_install }}"
+    r_openshift_master_etcd3_storage: "{{ hostvars[groups.oo_first_master.0].l_etcd3_enabled }}"
   - role: nuage_master
     when: openshift.common.use_nuage | bool
   - role: calico_master
-- 
cgit v1.2.3