Browse Source

Merge pull request #10885 from vrutkovs/devel-40-bootkube-logs

Collect bootkube logs if MCS failed to start
OpenShift Merge Robot 6 years ago
parent
commit
d7fe285556

+ 1 - 1
inventory/dynamic/gcp/group_vars/all/00_defaults.yml

@@ -21,7 +21,7 @@ openshift_master_cluster_public_hostname: "openshift-master.{{ public_hosted_zon
 openshift_master_default_subdomain: "{{ wildcard_zone }}"
 
 mcd_port: 49500
-mcd_endpoint: "{{ openshift_master_cluster_public_hostname }}:{{ mcd_port }}"
+mcd_endpoint: "https://{{ openshift_master_cluster_public_hostname }}:{{ mcd_port }}"
 
 # Cloud specific settings
 openshift_cloudprovider_kind: gce

+ 31 - 0
playbooks/deploy_cluster_40.yml

@@ -38,6 +38,37 @@
     vars:
       excluded_services:
       - progress.service
+  - name: Wait for MCS endpoint to show up
+    uri:
+      url: "{{ mcd_endpoint }}/config/master"
+      validate_certs: false
+    delay: 10
+    retries: 60
+    register: mcs
+    until:
+    - "'status' in mcs"
+    - mcs.status == 200
+    ignore_errors: true
+  - when: mcs is failed
+    block:
+    - name: Get node logs
+      command: journalctl --no-pager -u bootkube
+      register: bootkube_logs
+      ignore_errors: true
+    - name: Collect a list of containers
+      command: crictl ps -a -q
+      register: crictl_ps_output
+    - name: Collect container logs
+      command: "crictl logs {{ item }}"
+      register: crictl_logs_output
+      with_items: "{{ crictl_ps_output.stdout_lines }}"
+      ignore_errors: true
+    - debug:
+        var: crictl_logs_output
+    - debug:
+        msg: "{{ bootkube_logs.stdout_lines }}"
+    - fail:
+        msg: MCS start failed.
 
 - name: Start masters
   hosts: masters