summaryrefslogtreecommitdiffstats
path: root/playbooks/openshift-etcd
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2018-01-23 17:22:41 -0800
committerGitHub <noreply@github.com>2018-01-23 17:22:41 -0800
commitcd1c2e70df4fa519e88c75fde154cdc4bfc3b9d6 (patch)
tree9007e4fb698b54dfe0970c89ec474d6280d9855b /playbooks/openshift-etcd
parent1600ee8a77efef3b79120fa69f9fa82f3d426360 (diff)
parent0da99aa00c87299bf3f4e17833ba3690c6e1c345 (diff)
downloadopenshift-cd1c2e70df4fa519e88c75fde154cdc4bfc3b9d6.tar.gz
openshift-cd1c2e70df4fa519e88c75fde154cdc4bfc3b9d6.tar.bz2
openshift-cd1c2e70df4fa519e88c75fde154cdc4bfc3b9d6.tar.xz
openshift-cd1c2e70df4fa519e88c75fde154cdc4bfc3b9d6.zip
Merge pull request #6802 from mgugino-upstream-stage/fix-etcd-scaleup
Automatic merge from submit-queue. Fix etcd scaleup playbook Currently, etcd scaleup playbook has no way to account for newly added prerequisites.yml play. This commit allows adding new etcd hosts via scaleup play and accounts for etcd hosts that are standalone or part of nodes or masters group.
Diffstat (limited to 'playbooks/openshift-etcd')
-rw-r--r--playbooks/openshift-etcd/scaleup.yml47
1 files changed, 47 insertions, 0 deletions
diff --git a/playbooks/openshift-etcd/scaleup.yml b/playbooks/openshift-etcd/scaleup.yml
index 7e9ab6834..656454fe3 100644
--- a/playbooks/openshift-etcd/scaleup.yml
+++ b/playbooks/openshift-etcd/scaleup.yml
@@ -1,4 +1,51 @@
---
+- import_playbook: ../init/evaluate_groups.yml
+
+- name: Ensure there are new_etcd
+ hosts: localhost
+ connection: local
+ gather_facts: no
+ tasks:
+ - fail:
+ msg: >
+ Detected no new_etcd in inventory. Please add hosts to the
+ new_etcd host group to add etcd hosts.
+ when:
+ - g_new_etcd_hosts | default([]) | length == 0
+
+ - fail:
+ msg: >
+ Detected new_etcd host is member of new_masters or new_nodes. Please
+ run playbooks/openshift-master/scaleup.yml or
+ playbooks/openshift-node/scaleup.yml before running this play.
+ when: >
+ inventory_hostname in (groups['new_masters'] | default([]))
+ or inventory_hostname in (groups['new_nodes'] | default([]))
+
+# We only need to run this if etcd is being installed on a standalone host;
+# If etcd is part of master or node group, there's no need to
+# re-run prerequisites
+- import_playbook: ../prerequisites.yml
+ vars:
+ # We need to ensure container_runtime is only processed for containerized
+ # etcd hosts by setting l_build_container_groups_hosts and l_etcd_scale_up_hosts
+ l_build_container_groups_hosts: "oo_new_etcd_to_config"
+ l_etcd_scale_up_hosts: "oo_hosts_containerized_managed_true"
+ l_scale_up_hosts: "oo_new_etcd_to_config"
+ l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config:oo_new_etcd_to_config"
+ l_sanity_check_hosts: "{{ groups['oo_new_etcd_to_config'] | union(groups['oo_masters_to_config']) | union(groups['oo_etcd_to_config']) }}"
+ when:
+ - inventory_hostname not in groups['oo_masters']
+ - inventory_hostname not in groups['oo_nodes_to_config']
+
+# If this etcd host is part of a master or node, we don't need to run
+# prerequisites, we can just init facts as normal.
- import_playbook: ../init/main.yml
+ vars:
+ skip_verison: True
+ l_init_fact_hosts: "oo_masters_to_config:oo_etcd_to_config:oo_lb_to_config:oo_new_etcd_to_config"
+ when:
+ - inventory_hostname in groups['oo_masters']
+ - inventory_hostname in groups['oo_nodes_to_config']
- import_playbook: private/scaleup.yml