summaryrefslogtreecommitdiffstats
path: root/playbooks/openshift-master/private/restart_hosts.yml
diff options
context:
space:
mode:
authorRussell Teague <rteague@redhat.com>2017-11-22 11:02:21 -0500
committerGitHub <noreply@github.com>2017-11-22 11:02:21 -0500
commit012be35217f7415d50afe5e74b7e2e995feea6b5 (patch)
treeaefe2efd52afcc36f3c9c504e70a9cc281371b7a /playbooks/openshift-master/private/restart_hosts.yml
parentda85fd6aa7d71f97bfcaad3a2003921a5581a067 (diff)
parent78f11c8f671015d40a630208b548d0790ec3a823 (diff)
downloadopenshift-012be35217f7415d50afe5e74b7e2e995feea6b5.tar.gz
openshift-012be35217f7415d50afe5e74b7e2e995feea6b5.tar.bz2
openshift-012be35217f7415d50afe5e74b7e2e995feea6b5.tar.xz
openshift-012be35217f7415d50afe5e74b7e2e995feea6b5.zip
Merge pull request #6151 from mtnbikenc/consolidate-openshift-master
Playbook Consolidation - openshift-master
Diffstat (limited to 'playbooks/openshift-master/private/restart_hosts.yml')
-rw-r--r--playbooks/openshift-master/private/restart_hosts.yml40
1 files changed, 40 insertions, 0 deletions
diff --git a/playbooks/openshift-master/private/restart_hosts.yml b/playbooks/openshift-master/private/restart_hosts.yml
new file mode 100644
index 000000000..a5dbe0590
--- /dev/null
+++ b/playbooks/openshift-master/private/restart_hosts.yml
@@ -0,0 +1,40 @@
+---
+- 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
+
+# WARNING: This process is riddled with weird behavior.
+
+# Workaround for https://github.com/ansible/ansible/issues/21269
+- set_fact:
+ wait_for_host: "{{ ansible_host }}"
+
+# Ansible's blog documents this *without* the port, which appears to now
+# just wait until the timeout value and then proceed without checking anything.
+# port is now required.
+#
+# However neither ansible_ssh_port or ansible_port are reliably defined, likely
+# only if overridden. Assume a default of 22.
+- name: Wait for master to restart
+ local_action:
+ module: wait_for
+ host="{{ wait_for_host }}"
+ state=started
+ delay=10
+ timeout=600
+ port="{{ ansible_port | default(ansible_ssh_port | default(22,boolean=True),boolean=True) }}"
+ become: no
+
+# Now that ssh is back up we can wait for API on the remote system,
+# avoiding some potential connection issues from local system:
+- name: Wait for master API to come back online
+ wait_for:
+ host: "{{ openshift.common.hostname }}"
+ state: started
+ delay: 10
+ port: "{{ openshift.master.api_port }}"
+ timeout: 600