summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Butcher <abutcher@redhat.com>2016-01-11 11:24:27 -0500
committerAndrew Butcher <abutcher@redhat.com>2016-01-12 12:20:21 -0500
commit8774f4995654715629be47a8cd5814bdb1962ec9 (patch)
treedeb5bb6fda581caccdc3b4f3cb02256f3794b5d0
parent920fdaab001e27e9064a939eba6b3082c7230f43 (diff)
downloadopenshift-8774f4995654715629be47a8cd5814bdb1962ec9.tar.gz
openshift-8774f4995654715629be47a8cd5814bdb1962ec9.tar.bz2
openshift-8774f4995654715629be47a8cd5814bdb1962ec9.tar.xz
openshift-8774f4995654715629be47a8cd5814bdb1962ec9.zip
Add wait for API before starting controllers w/ native ha install.
-rw-r--r--roles/openshift_master/tasks/main.yml16
1 files changed, 16 insertions, 0 deletions
diff --git a/roles/openshift_master/tasks/main.yml b/roles/openshift_master/tasks/main.yml
index 3b46a0df4..fbbcd2a8f 100644
--- a/roles/openshift_master/tasks/main.yml
+++ b/roles/openshift_master/tasks/main.yml
@@ -287,6 +287,22 @@
master_api_service_status_changed: "{{ start_result | changed }}"
when: openshift_master_ha | bool and openshift.master.cluster_method == 'native'
+- name: Wait for API to become available
+ # 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
+
+- fail:
+ msg: >
+ Unable to contact master API at {{ openshift.master.api_url }}
+ when: api_available_output.stdout.find("200 OK") == -1
+
- name: Start and enable master controller
service: name={{ openshift.common.service_type }}-master-controllers enabled=yes state=started
when: openshift_master_ha | bool and openshift.master.cluster_method == 'native'