You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
There is an issue with ManifestWork where an endless sync loop occurs when using the operation field in an ArgoCD Application CR deployed via a ManifestWork in a pull model setup.
To Reproduce
An Application CR like the following sitting idle:
Then the managed cluster will receive the operation field. However, when the Application controller on the managed cluster completes the sync and removes the operation field, the work agent adds it back, causing an endless sync.
Expected behavior
We need a feature in ManifestWork to provide the update but then not keep enforcing it.
Environment ie: OCM version, Kubernetes version and provider:
v0.14.0 KinD cluster
Describe the bug
There is an issue with ManifestWork where an endless sync loop occurs when using the operation field in an ArgoCD Application CR deployed via a ManifestWork in a pull model setup.
To Reproduce
An Application CR like the following sitting idle:
To trigger a sync, you insert the
operation
field at the same level as the spec and status (so it's not part of the spec)This will cause the ArgoCD Application controller to do the sync. When it's done with the sync, it removes the operation field so goes to
In the pull model, the Application is deployed to the managed cluster via ManifestWork.
If I modify that ManifestWork to contain
Then the managed cluster will receive the operation field. However, when the Application controller on the managed cluster completes the sync and removes the operation field, the work agent adds it back, causing an endless sync.
Expected behavior
We need a feature in ManifestWork to provide the update but then not keep enforcing it.
Environment ie: OCM version, Kubernetes version and provider:
v0.14.0 KinD cluster
Additional context
The OCM maintainers suggested maybe we can study how ArgoCD ignore difference work and implement something similar for the ManifestWork API: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/
The text was updated successfully, but these errors were encountered: