From 2a583d1bba89352b69421dd76f8bc0b8f9fb17ae Mon Sep 17 00:00:00 2001 From: MichaelFisher1997 Date: Mon, 2 Mar 2026 03:35:31 +0000 Subject: [PATCH] fix: avoid Helm wait hang and use explicit Loki rollout check --- ansible/roles/observability/tasks/main.yml | 27 ++++++++++++++-------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/ansible/roles/observability/tasks/main.yml b/ansible/roles/observability/tasks/main.yml index deeeead..36f0f7b 100644 --- a/ansible/roles/observability/tasks/main.yml +++ b/ansible/roles/observability/tasks/main.yml @@ -72,32 +72,38 @@ --namespace {{ observability_namespace }} --version {{ loki_chart_version }} --values /tmp/loki-values.yaml - --wait - --timeout 20m + --create-namespace register: loki_install failed_when: false changed_when: true +- name: Wait for Loki statefulset rollout + command: kubectl -n {{ observability_namespace }} rollout status statefulset/loki --timeout=10m + register: loki_rollout + failed_when: false + changed_when: false + when: loki_install.rc == 0 + - name: Show Loki pods on install failure command: kubectl -n {{ observability_namespace }} get pods -l app.kubernetes.io/name=loki -o wide register: loki_pods_status changed_when: false failed_when: false - when: loki_install.rc != 0 + when: loki_install.rc != 0 or (loki_rollout.rc | default(1)) != 0 - name: Show observability PVCs on Loki install failure command: kubectl -n {{ observability_namespace }} get pvc -o wide register: loki_pvc_status changed_when: false failed_when: false - when: loki_install.rc != 0 + when: loki_install.rc != 0 or (loki_rollout.rc | default(1)) != 0 - name: Get Loki pod name on install failure shell: kubectl -n {{ observability_namespace }} get pods -l app.kubernetes.io/name=loki -o jsonpath='{.items[0].metadata.name}' register: loki_pod_name changed_when: false failed_when: false - when: loki_install.rc != 0 + when: loki_install.rc != 0 or (loki_rollout.rc | default(1)) != 0 - name: Describe Loki pod on install failure command: kubectl -n {{ observability_namespace }} describe pod {{ loki_pod_name.stdout }} @@ -105,7 +111,7 @@ changed_when: false failed_when: false when: - - loki_install.rc != 0 + - loki_install.rc != 0 or (loki_rollout.rc | default(1)) != 0 - loki_pod_name.stdout | length > 0 - name: Show Loki pod logs on install failure @@ -114,7 +120,7 @@ changed_when: false failed_when: false when: - - loki_install.rc != 0 + - loki_install.rc != 0 or (loki_rollout.rc | default(1)) != 0 - loki_pod_name.stdout | length > 0 - name: Show observability events on Loki install failure @@ -122,7 +128,7 @@ register: loki_events changed_when: false failed_when: false - when: loki_install.rc != 0 + when: loki_install.rc != 0 or (loki_rollout.rc | default(1)) != 0 - name: Fail with Loki diagnostics fail: @@ -131,6 +137,9 @@ Helm stderr: {{ loki_install.stderr | default('') }} + Rollout status stderr: + {{ loki_rollout.stderr | default('') }} + Loki pods: {{ loki_pods_status.stdout | default('n/a') }} @@ -145,7 +154,7 @@ Events: {{ loki_events.stdout | default('n/a') }} - when: loki_install.rc != 0 + when: loki_install.rc != 0 or (loki_rollout.rc | default(1)) != 0 - name: Write Promtail values template: