diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2018-01-23 17:22:41 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-23 17:22:41 -0800 |
commit | cd1c2e70df4fa519e88c75fde154cdc4bfc3b9d6 (patch) | |
tree | 9007e4fb698b54dfe0970c89ec474d6280d9855b /playbooks/openshift-etcd | |
parent | 1600ee8a77efef3b79120fa69f9fa82f3d426360 (diff) | |
parent | 0da99aa00c87299bf3f4e17833ba3690c6e1c345 (diff) | |
download | openshift-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.yml | 47 |
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 |