diff options
author | Brenton Leanhardt <bleanhar@redhat.com> | 2016-01-13 10:07:35 -0500 |
---|---|---|
committer | Brenton Leanhardt <bleanhar@redhat.com> | 2016-01-13 10:07:35 -0500 |
commit | 965c614859a0318c956b4a9ab312c7c856facaa1 (patch) | |
tree | 389a40f3d2a5cbbd1591a83ab210f149f0abc06d /playbooks/common/openshift-master/restart_hosts.yml | |
parent | 607d45f426c7e86a256edc7fd442eb126867c243 (diff) | |
parent | 97be5890e2a34036a22d2d1e2586c83009ae6064 (diff) | |
download | openshift-965c614859a0318c956b4a9ab312c7c856facaa1.tar.gz openshift-965c614859a0318c956b4a9ab312c7c856facaa1.tar.bz2 openshift-965c614859a0318c956b4a9ab312c7c856facaa1.tar.xz openshift-965c614859a0318c956b4a9ab312c7c856facaa1.zip |
Merge pull request #1121 from abutcher/rolling-restarts-pacemaker
Rolling restart playbook for masters
Diffstat (limited to 'playbooks/common/openshift-master/restart_hosts.yml')
-rw-r--r-- | playbooks/common/openshift-master/restart_hosts.yml | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/playbooks/common/openshift-master/restart_hosts.yml b/playbooks/common/openshift-master/restart_hosts.yml new file mode 100644 index 000000000..ff206f5a2 --- /dev/null +++ b/playbooks/common/openshift-master/restart_hosts.yml @@ -0,0 +1,39 @@ +- name: Restart master system + # https://github.com/ansible/ansible/issues/10616 + shell: sleep 2 && shutdown -r now "OpenShift Ansible master rolling restart" + async: 1 + poll: 0 + ignore_errors: true + become: yes +# When cluster_method != pacemaker we can ensure the api_port is +# available. +- name: Wait for master API to come back online + become: no + local_action: + module: wait_for + host="{{ inventory_hostname }}" + state=started + delay=10 + port="{{ openshift.master.api_port }}" + when: openshift.master.cluster_method != 'pacemaker' +- name: Wait for master to start + become: no + local_action: + module: wait_for + host="{{ inventory_hostname }}" + state=started + delay=10 + port=22 + when: openshift.master.cluster_method == 'pacemaker' +- name: Wait for master to become available + command: pcs status + register: pcs_status_output + until: pcs_status_output.stdout | validate_pcs_cluster([inventory_hostname]) | bool + retries: 15 + delay: 2 + changed_when: false + when: openshift.master.cluster_method == 'pacemaker' +- fail: + msg: > + Pacemaker cluster validation failed {{ inventory hostname }} is not online. + when: openshift.master.cluster_method == 'pacemaker' and not (pcs_status_output.stdout | validate_pcs_cluster([inventory_hostname])) | bool |