ArgoRollout & ArgoCd : Configmap update issue during rollout #4459
Unanswered
MaximeBOUDIER
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Context
I’m using Argo Rollouts with Argo CD (for GitOps) for progressive canary rollouts (~40 minutes, gradually increasing traffic).
To safely handle ConfigMap changes, I use the “versioned ConfigMap” pattern described in this kind documentation suggested in this discussion
Contrary to the doc I use Helm (not Kustomize) to render ConfigMaps, but the outcome is the same : one configmap for the stable replicaSet and an other CM object for the Canary ReplicaSet.
argocd.argoproj.io/sync-options: PruneLast=trueso the stable configmap is cleaned after the argocd Sync | after the rollout.This works in the happy path.
Problem
If the AnalysisRun fails during the canary, Argo Rollouts auto‑rolls back to the previous revision and Argo CD marks the app as Degraded. However, the “stable” ConfigMap still gets pruned, so the stable pods fail to start because their referenced ConfigMap no longer exists.
On a failed analysis (and auto‑rollback), the stable ConfigMap referenced by the stable ReplicaSet should not be pruned. Cleanup should occur only when the Argo CD app is Healthy that is the case only when the rollout is promoted.
Here is a diagram that illustrates the flow:

Questions
Thank you for your help !
Beta Was this translation helpful? Give feedback.
All reactions