summaryrefslogtreecommitdiffstats
path: root/playbooks
diff options
context:
space:
mode:
authorBrenton Leanhardt <bleanhar@redhat.com>2016-01-13 11:52:21 -0500
committerBrenton Leanhardt <bleanhar@redhat.com>2016-01-13 11:52:21 -0500
commit674e812aaac80c0060d57761a3f43762581b5cfe (patch)
tree41cb4c992b2de5896ea5e66ec27338af0ebe12e4 /playbooks
parent965c614859a0318c956b4a9ab312c7c856facaa1 (diff)
parent2e3e0ebe0d98f5374fbfb3a95145a9665d57fe69 (diff)
downloadopenshift-674e812aaac80c0060d57761a3f43762581b5cfe.tar.gz
openshift-674e812aaac80c0060d57761a3f43762581b5cfe.tar.bz2
openshift-674e812aaac80c0060d57761a3f43762581b5cfe.tar.xz
openshift-674e812aaac80c0060d57761a3f43762581b5cfe.zip
Merge pull request #1159 from abutcher/wait-for-api
API Verification
Diffstat (limited to 'playbooks')
-rw-r--r--playbooks/common/openshift-master/config.yml1
-rw-r--r--playbooks/common/openshift-node/config.yml19
2 files changed, 19 insertions, 1 deletions
diff --git a/playbooks/common/openshift-master/config.yml b/playbooks/common/openshift-master/config.yml
index 4ecdf2a0c..0df03f194 100644
--- a/playbooks/common/openshift-master/config.yml
+++ b/playbooks/common/openshift-master/config.yml
@@ -313,6 +313,7 @@
- name: Configure master instances
hosts: oo_masters_to_config
+ any_errors_fatal: true
serial: 1
vars:
sync_tmpdir: "{{ hostvars.localhost.g_master_mktemp.stdout }}"
diff --git a/playbooks/common/openshift-node/config.yml b/playbooks/common/openshift-node/config.yml
index 483a7768c..336cbed5e 100644
--- a/playbooks/common/openshift-node/config.yml
+++ b/playbooks/common/openshift-node/config.yml
@@ -215,6 +215,23 @@
| oo_collect('openshift.common.hostname') }}"
openshift_node_vars: "{{ hostvars | oo_select_keys(groups['oo_nodes_to_config']) }}"
pre_tasks:
-
+ # Necessary because when you're on a node that's also a master the master will be
+ # restarted after the node restarts docker and it will take up to 60 seconds for
+ # systemd to start the master again
+ - name: Wait for master API to become available before proceeding
+ # Using curl here since the uri module requires python-httplib2 and
+ # wait_for port doesn't provide health information.
+ command: >
+ curl -k --head --silent {{ openshift.master.api_url }}
+ register: api_available_output
+ until: api_available_output.stdout.find("200 OK") != -1
+ retries: 120
+ delay: 1
+ changed_when: false
+ when: openshift.common.is_containerized | bool
+ - fail:
+ msg: >
+ Unable to contact master API at {{ openshift.master.api_url }}
+ when: openshift.common.is_containerized | bool and api_available_output.stdout.find("200 OK") == -1
roles:
- openshift_manage_node