From 25e213f79ba5e25bf51d584971064e26d3537b49 Mon Sep 17 00:00:00 2001 From: Scott Dodson 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/common/openshift-node') 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 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/common/openshift-node') 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