Open billyshambrook opened 1 year ago
We also observed a similar issue. After debugging the code we found a possible culprit here: https://github.com/argoproj/argo-cd/blob/master/applicationset/controllers/applicationset_controller.go#L1023 App Status is stuck in "pending" even though the sync was successful. The operationPhaseString is "Succeeded" therefore an update to the status is never performed. Possible fix there would be to check for (operationPhaseString == "Succeeded" && !appOutdated). Don't know if this relates to your issue as we did not check the ApplicationSetStatus.
@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:
- lastTransitionTime: "2024-03-22T13:01:35Z"
message: Successfully generated parameters for all Applications
reason: ApplicationSetUpToDate
status: "False"
type: ErrorOccurred
Meanwhile these errors pop-up in the appset controller:
time="2024-03-22T13:07:17Z" level=error msg="unable to set application set status: Operation cannot be fulfilled on applicationsets.argoproj.io \"argocd\": the object has been modified; please apply your changes to the latest version and try again" applicationset=argocd/argocd
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
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