From 25e213f79ba5e25bf51d584971064e26d3537b49 Mon Sep 17 00:00:00 2001
From: Scott Dodson <sdodson@redhat.com>
Date: Thu, 7 Jan 2016 21:59:46 -0500
Subject: Add a Verify API Server handler that waits for the API server to
 become available

---
 playbooks/common/openshift-node/config.yml | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

(limited to 'playbooks')

diff --git a/playbooks/common/openshift-node/config.yml b/playbooks/common/openshift-node/config.yml
index 483a7768c..fbaf64300 100644
--- a/playbooks/common/openshift-node/config.yml
+++ b/playbooks/common/openshift-node/config.yml
@@ -215,6 +215,15 @@
                          | 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 to become available before proceeding
+    wait_for:
+      host: "{{ hostvars[groups.oo_first_master.0].openshift.common.ip }}"
+      port: "{{ hostvars[groups.oo_first_master.0].openshift.master.api_port }}"
+      state: started
+      timeout: 180
+    when: openshift.common.is_containerized | bool
   roles:
   - openshift_manage_node
-- 
cgit v1.2.3


From 609469eb8d25baeee30cda96377c9b3fda6e499d Mon Sep 17 00:00:00 2001
From: Andrew Butcher <abutcher@redhat.com>
Date: Tue, 12 Jan 2016 17:18:18 -0500
Subject: Update api verification.

---
 playbooks/common/openshift-node/config.yml | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

(limited to 'playbooks')

diff --git a/playbooks/common/openshift-node/config.yml b/playbooks/common/openshift-node/config.yml
index fbaf64300..336cbed5e 100644
--- a/playbooks/common/openshift-node/config.yml
+++ b/playbooks/common/openshift-node/config.yml
@@ -218,12 +218,20 @@
   # 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 to become available before proceeding
-    wait_for:
-      host: "{{ hostvars[groups.oo_first_master.0].openshift.common.ip }}"
-      port: "{{ hostvars[groups.oo_first_master.0].openshift.master.api_port }}"
-      state: started
-      timeout: 180
+  - 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
-- 
cgit v1.2.3


From 2e3e0ebe0d98f5374fbfb3a95145a9665d57fe69 Mon Sep 17 00:00:00 2001
From: Andrew Butcher <abutcher@redhat.com>
Date: Wed, 13 Jan 2016 10:16:43 -0500
Subject: Add wait in between api and controllers start for native ha.

---
 playbooks/common/openshift-master/config.yml | 1 +
 1 file changed, 1 insertion(+)

(limited to 'playbooks')

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 }}"
-- 
cgit v1.2.3