-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stuck applicationset progressive rollout #12202
Comments
We also observed a similar issue. After debugging the code we found a possible culprit here: @crenshaw-dev please add label appset/progressive-rollouts. Thanks. |
same happens on 2.7.1 |
Same on 2.8 |
any updates on this issue? |
Hi - does anyone have any insights on this one? |
I can only say that I still have the problem with 2.10.4. |
Has anyone found a workaround for this one? I notice this too:
Meanwhile these errors pop-up in the appset controller:
The latter seems unrelated to the initial issue logged here but it is interesting to see that the progressive rollout also has issues with ArgoCD being managed by the progressive rollout. |
I also have this issue on 2.10.4 |
I believe @carlosrejano added some retries that might fix that in #19535. What worries me is that from my outsider perspective, an application status in the applicationset should always be able to move forward based on the real application statuses, it should not get stuck in a state based on its stored status. It seems like some re-work is needed of the pseudo state machine but I have a hard time to grasp all the logic 😅 |
Allright after some more digging I believe the logic I was talking about was rewritten in #17296 released in v2.12. I'm currently running a custom version with the cherry pick and it seems to work so far. There still seems to be potential "stuck in pending" problems mentioned in #19535 though with consecutive commits during a rolling sync. |
Checklist:
argocd version
.Describe the bug
A progressive rollout enabled ApplicationSet sometimes get's stuck between rollout steps.
Not sure if this is related, but I have noticed that the applicationset conditions seem to continuously flip between the following, seems like the controller does not append these but keeps overwriting itself:
After inspecting the code, it seems to be caused by the controller calling
r.setApplicationSetStatusCondition
here https://github.com/argoproj/argo-cd/blob/master/applicationset/controllers/applicationset_controller.go#L1154 with theparamtersGenerated
argument set tofalse
and then the controller within the same reconcile calls the function again here (maybe) https://github.com/argoproj/argo-cd/blob/master/applicationset/controllers/applicationset_controller.go#L277 with theparametersGenerated
set totrue
which overwrites the progressive condition.To Reproduce
Apply this applicationset.yaml. If the applicationset rollout works, try deleting the applicationset and re-applying it a few times.
Expected behavior
All applications rollout successfully.
Screenshots
Version
The text was updated successfully, but these errors were encountered: