-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Applications from ApplicationSet flip rapidly between "Unknown" and "Synchronised" #16260
Comments
Why are you ignoring the status of the applications?
|
We are running into the same problem. The bug is present in all versions from 2.8.4 to 2.9.0. We are using the same type of setup as @rbowater. |
With the It looks like the applicationset controller is blowing away the application status because it's ignored then the application controller restores it. #14743 is when the applicationset code was introduced but it starts in 2.9.0. Interestingly enough, there was some refactoring to that code in #15965 which was put in v2.9.1. I feel the issue will still be there from my glance but maybe worth a test. |
argo-cd autopilot adds that to almost everything. Is it safe to remove? |
I have updated to the latest ArgoCD CRD's (manifest dir in the 2.9.0 release) and now CPU went back to normal. Maybe try that too. |
If you are committing the |
Same here, all good in 2.8.6, but after upgrade it to 2.9.0 it started flickering |
We are seeing the same issue but we don't have ignoreDifferences on /status |
Could relate to #15299 |
Are you talking about that you have spec.syncPolicy.applicationSync defined in some applicationSets and then this doesn't happen? If so what value are you using? spec:
syncPolicy:
applicationSync: {} Which I presume that would translate to this as sync is the default as the spec:
syncPolicy:
applicationSync: sync |
No, I am talking about the RollingSync / Progressive Sync feature: For ApplicationSets with spec.strategy.type set to RollingSync, this issue does not occur on our side, while we still observe this issue for other ApplicationSets. |
Could this #16085 be the culprit? Would be nice to get some comments from the ArgoCD Maintainers on this. This seems to be most active issue since argocd 2.9.0 |
I think we're seeing this at Intuit, too. Looking into it... |
This reproduces the issue in 2.9.0: apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: bug-16260
namespace: argocd
spec:
generators:
- git:
directories:
- path: helm-guestbook
repoURL: https://github.com/argoproj/argocd-example-apps.git
requeueAfterSeconds: 10
revision: master
template:
metadata:
name: bug-16260
spec:
project: default
source:
repoURL: https://github.com/argoproj/argocd-example-apps.git
path: helm-guestbook
destination:
server: https://kubernetes.default.svc
namespace: default
ignoreDifferences:
- group: argoproj.io
jsonPointers:
- /status
kind: Application |
I can't reproduce the issue on release-2.9 now that #16299 is merged. In the interest of time, I'll skip the deep-dive into why this bug exists and instead cut 2.9.1. If other weirdness appears, we'll tackle that as it comes. :-) Thanks everyone for your patience and help! I'll post here again when 2.9.1 is out. |
Just saw it got released 15 minutes ago, thanks a lot! |
v2.9.1 seems to have fixed this issue for us! |
We've rolled this out too and I agree that it seems to be fixed in 2.9.1. Thanks a lot for picking this up so quickly! |
Checklist:
argocd version
.Describe the bug
Since upgrading from ArgoCD 2.8.4 to 2.9.0 our applications that have been generated via ApplicationSets are constantly flapping multiple times a second between "Synchronised" and "Unknown" in the UI. From what I can tell from diffing the generated application as per https://argo-cd.readthedocs.io/en/stable/operator-manual/reconcile/#finding-resources-to-ignore, the sync status and repoURL under status -> sync is constantly flapping between "" and the desired value. I've included the logs further down.
The outcome of this is that argoCD essentially hammers itself with this constant and rapid flipping between states. I've included logs from the application controller which illustrates this behaviour.
We used argoCD autopilot to generate our applicationsets last year and I have found removing
ignoreDifferences
from the applicationset template spec stops the flapping. I'm not sure if this is expected behaviour, as creating an application directly withignoreDifferences
configured doesn't seem to do this.To Reproduce
Where the cluster resources directory contains a file called "in-cluster.json":
and a folder called "in-cluster" that contains a namespace definition (argocd-ns.yaml):
This isn't the only applicationset where this is happening, but was the most straight forward reproduction case for us.
Expected behavior
We expect the applications to remain in Synchronised status
Screenshots
Version
Logs
Application controller. This shows that in a second it's repeatedly going
Updated sync status: -> Synced
:Diff of the application CR. It seems to be rapidly switching between:
The text was updated successfully, but these errors were encountered: