Browse Source

update the commands to restart master api and controller

sareti 6 years ago
parent
commit
2c831a9fe9
2 changed files with 25 additions and 13 deletions
  1. 24 11
      roles/nuage_master/handlers/main.yaml
  2. 1 2
      roles/nuage_master/tasks/main.yaml

+ 24 - 11
roles/nuage_master/handlers/main.yaml

@@ -1,15 +1,28 @@
 ---
-- name: restart master api
-  systemd: name={{ openshift_service_type }}-master-api state=restarted
-  when: (not master_api_service_status_changed | default(false))
-
-# TODO: need to fix up ignore_errors here
-# We retry the controllers because the API may not be 100% initialized yet.
-- name: restart master controllers
-  command: "systemctl restart {{ openshift_service_type }}-master-controllers"
-  retries: 3
+- name: restart master
+  command: /usr/local/bin/master-restart "{{ item }}"
+  with_items:
+  - api
+  - controllers
+  retries: 5
   delay: 5
   register: result
   until: result.rc == 0
-  when: (not master_controllers_service_status_changed | default(false))
-  ignore_errors: yes
+  notify: verify API server
+
+- name: verify API server
+  # Using curl here since the uri module requires python-httplib2 and
+  # wait_for port doesn't provide health information.
+  command: >
+    curl --silent --tlsv1.2 --max-time 2
+    --cacert {{ openshift.common.config_base }}/master/ca-bundle.crt
+    {{ openshift.master.api_url }}/healthz/ready
+  args:
+    # Disables the following warning:
+    # Consider using get_url or uri module rather than running curl
+    warn: no
+  register: l_api_available_output
+  until: l_api_available_output.stdout == 'ok'
+  retries: 120
+  delay: 1
+  changed_when: false

+ 1 - 2
roles/nuage_master/tasks/main.yaml

@@ -147,6 +147,5 @@
 - name: Restart daemons
   command: /bin/true
   notify:
-    - restart master api
-    - restart master controllers
+    - restart master
   ignore_errors: true