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
We are using ArgoCD v2.10.9 to manage several CRDs deployed in our Kubernetes cluster.
Additionally, we have other applications that deploy CRs based on these CRDs through ArgoCD as well.
Whenever a new field is added to an existing CRD, it is successfully applied to the cluster, and all existing CRs are reconciled without issues. However, we encounter the following problem when trying to sync a CR based off this CRD through ArgoCD:
Error on ArgoCD Sync:
During the serverside diff operation, we receive the following error:
ComparisonError: Failed to compare desired state to live state: failed to calculate diff from cache: error calculating server side diff:
serverSideDiff error: error removing non config mutations for resource CustomStatefulSet/test-app-1:
error converting predicted live state from unstructured to example.com/v1alpha1, Kind=CustomStatefulSet: .spec.application.resourceRequirements: field not declared in schema
Similar error is seen on Hard Refresh and sync:
ComparisonError: Failed to compare desired state to live state: failed to calculate diff: error calculating server side diff:
serverSideDiff error: error removing non config mutations for resource CustomStatefulSet/test-app-1:
error converting predicted live state from unstructured to example.com/v1alpha1, Kind=CustomStatefulSet: .spec.application.resourceRequirements: field not declared in schema
To Reproduce
Apply a CRD through ArgoCD with ServerSide diff set to true.
Apply corresponding CRs for that CRD using ArgoCD.
Add a new field to the CRD (preferably with a default value).
Ensure that the new field is updated across all CRs in the Kubernetes cluster.
Sync the CR in ArgoCD—this is where the error should occur.
Expected behavior
The cache to be reset timely when the updated CRD is applied.
Or when a sync is performed on the CR
msg="Applying resource CustomStatefulSet/erbium-seas-cloud-searcher-i002 in cluster: https://10.244.0.1:443, namespace: seas-cloud-searcher-6a8f2" dry-run=server manager=argocd-controller serverSideApply=true serverSideDiff=true
msg="Normalized app spec: {\"status\":{\"conditions\":[{\"lastTransitionTime\":\"2024-10-17T19:40:50Z\",\"message\":\"Failed to compare desired state to live state: failed to calculate diff from cache: error calculating server side diff: serverSideDiff error: error removing non config mutations for resource CustomStatefulSet/erbium-seas-cloud-searcher-i002: error converting predicted live state from unstructured to example.com/v1alpha1, Kind=CustomStatefulSet: .spec.application.resourceRequirements: field not declared in schema\",\"type\":\"ComparisonError\"}]}}" application=argocd/seas-cloud-searcher
Mitigated through
A rollout restart of statefulset seems to fix the issue and the sync on CR goes through
Checklist:
SImilar to Error: topologySpreadConstraints .matchLabelKeys: field not declared in schema #15176 but for CRD caching
argocd version
.Describe the bug
We are using ArgoCD v2.10.9 to manage several CRDs deployed in our Kubernetes cluster.
Additionally, we have other applications that deploy CRs based on these CRDs through ArgoCD as well.
Whenever a new field is added to an existing CRD, it is successfully applied to the cluster, and all existing CRs are reconciled without issues. However, we encounter the following problem when trying to sync a CR based off this CRD through ArgoCD:
During the serverside diff operation, we receive the following error:
To Reproduce
Expected behavior
The cache to be reset timely when the updated CRD is applied.
Or when a sync is performed on the CR
Version
Logs
Mitigated through
A rollout restart of statefulset seems to fix the issue and the sync on CR goes through
The text was updated successfully, but these errors were encountered: