Skip to content

Commit 60aecd5

Browse files
fix(vpa): break circular wait between parent install and nested vpa-for-vpa HR
The packages/system/vertical-pod-autoscaler chart's vpa-for-vpa.yaml template emits an HR in cozy-vpa-for-vpa that the parent helm install applies and waits on. That nested HR had `dependsOn: monitoring-agents`, which never resolves: parent VPA helm install waits for nested vpa-for-vpa HR Ready waits for monitoring-agents HR Ready waits for cozystack.vertical-pod-autoscaler PackageSource Ready waits for parent VPA HR Ready <-- back to start Symptom observed on PR #2619 e2e (cozyreport): Helm upgrade failed for release cozy-vertical-pod-autoscaler/ vertical-pod-autoscaler with chart cozy-vertical-pod-autoscaler@...: timeout waiting for: [HelmRelease/cozy-vpa-for-vpa/vpa-for-vpa status: 'InProgress'] The recommender's /health-check readiness probe is served by the binary itself and doesn't require Prometheus. Removing the dependsOn lets the nested HR become Ready quickly; the recommender will log connection errors against vmselect until monitoring-agents installs later in the boot sequence, then start producing recommendations normally. Assisted-By: Claude <[email protected]> Signed-off-by: Myasnikov Daniil <[email protected]>
1 parent a23b5d2 commit 60aecd5

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

‎packages/system/vertical-pod-autoscaler/templates/vpa-for-vpa.yaml‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,14 @@ spec:
2020
kind: ExternalArtifact
2121
name: cozystack-vertical-pod-autoscaler-default-vpa-for-vpa
2222
namespace: cozy-system
23-
dependsOn:
24-
- name: monitoring-agents
25-
namespace: cozy-monitoring
23+
# Do NOT add dependsOn: monitoring-agents — it creates a circular wait:
24+
# helm install of the parent vertical-pod-autoscaler HR waits for this nested
25+
# HR's Ready condition; this HR waits for monitoring-agents; monitoring-agents
26+
# PackageSource waits for cozystack.vertical-pod-autoscaler Ready; that waits
27+
# for the parent HR. The recommender's /health-check probe is served by the
28+
# binary itself and doesn't require Prometheus, so the pod becomes Ready
29+
# immediately and starts producing recommendations when monitoring-agents
30+
# finishes installing later.
2631
install:
2732
crds: Skip
2833
remediation:

0 commit comments

Comments
 (0)