fix: avoid Helm wait hang and use explicit Loki rollout check
Some checks failed
Deploy Cluster / Terraform (push) Successful in 48s
Deploy Cluster / Ansible (push) Failing after 19m27s

This commit is contained in:
2026-03-02 03:35:31 +00:00
parent 27711e0661
commit 2a583d1bba

View File

@@ -72,32 +72,38 @@
--namespace {{ observability_namespace }} --namespace {{ observability_namespace }}
--version {{ loki_chart_version }} --version {{ loki_chart_version }}
--values /tmp/loki-values.yaml --values /tmp/loki-values.yaml
--wait --create-namespace
--timeout 20m
register: loki_install register: loki_install
failed_when: false failed_when: false
changed_when: true 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 - name: Show Loki pods on install failure
command: kubectl -n {{ observability_namespace }} get pods -l app.kubernetes.io/name=loki -o wide command: kubectl -n {{ observability_namespace }} get pods -l app.kubernetes.io/name=loki -o wide
register: loki_pods_status register: loki_pods_status
changed_when: false changed_when: false
failed_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 - name: Show observability PVCs on Loki install failure
command: kubectl -n {{ observability_namespace }} get pvc -o wide command: kubectl -n {{ observability_namespace }} get pvc -o wide
register: loki_pvc_status register: loki_pvc_status
changed_when: false changed_when: false
failed_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 - 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}' shell: kubectl -n {{ observability_namespace }} get pods -l app.kubernetes.io/name=loki -o jsonpath='{.items[0].metadata.name}'
register: loki_pod_name register: loki_pod_name
changed_when: false changed_when: false
failed_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 - name: Describe Loki pod on install failure
command: kubectl -n {{ observability_namespace }} describe pod {{ loki_pod_name.stdout }} command: kubectl -n {{ observability_namespace }} describe pod {{ loki_pod_name.stdout }}
@@ -105,7 +111,7 @@
changed_when: false changed_when: false
failed_when: false failed_when: false
when: when:
- loki_install.rc != 0 - loki_install.rc != 0 or (loki_rollout.rc | default(1)) != 0
- loki_pod_name.stdout | length > 0 - loki_pod_name.stdout | length > 0
- name: Show Loki pod logs on install failure - name: Show Loki pod logs on install failure
@@ -114,7 +120,7 @@
changed_when: false changed_when: false
failed_when: false failed_when: false
when: when:
- loki_install.rc != 0 - loki_install.rc != 0 or (loki_rollout.rc | default(1)) != 0
- loki_pod_name.stdout | length > 0 - loki_pod_name.stdout | length > 0
- name: Show observability events on Loki install failure - name: Show observability events on Loki install failure
@@ -122,7 +128,7 @@
register: loki_events register: loki_events
changed_when: false changed_when: false
failed_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 - name: Fail with Loki diagnostics
fail: fail:
@@ -131,6 +137,9 @@
Helm stderr: Helm stderr:
{{ loki_install.stderr | default('') }} {{ loki_install.stderr | default('') }}
Rollout status stderr:
{{ loki_rollout.stderr | default('') }}
Loki pods: Loki pods:
{{ loki_pods_status.stdout | default('n/a') }} {{ loki_pods_status.stdout | default('n/a') }}
@@ -145,7 +154,7 @@
Events: Events:
{{ loki_events.stdout | default('n/a') }} {{ 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 - name: Write Promtail values
template: template: