argo-rollouts
argo-rollouts copied to clipboard
when SyncOption's ServerSideApply=true, Blue/Green deployments doesn't work well
Checklist:
- [ ] I've included steps to reproduce the bug.
- [ ] I've included the version of argo rollouts.
Describe the bug
When SyncOption is set to ServerSideApply=true, features such as autoPromoteEnabled and AnalysisRun are not generated.
To Reproduce
I'm deploying a application using below yaml
Even though the AnalysisTemplate exists, AnalysisRun is not generated. Additionally, despite autoPromoteEnable being set to false, automatic promotion still occurs. Moreover, options such as previewReplicaCount in Blue/Green deployments are not functioning correctly.
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: app-demo
namespace: continuous-system
spec:
generators:
- list:
elements:
- deployTier: dev
targetRevision: feature-0b154b
template:
metadata:
name: "app-demo-{{deployTier}}"
namespace: continuous-system
spec:
project: pf
destination:
namespace: insight
server: "https://kubernetes.default.svc"
source:
chart: app-demo
repoURL: "https://privates/repository/helm-hosted"
targetRevision: "{{targetRevision}}"
plugin:
name: avp-helm
env:
- name: HELM_ARGS
value: -f values-{{deployTier}}.yaml
syncPolicy:
automated:
prune: true
selfHeal: true
retry:
limit: 3
backoff:
duration: 5s
factor: 2
maxDuration: 3m
syncOptions:
- ServerSideApply=false #-- to false
Expected behavior
ServerSideApply=false
Screenshots
Version
Argo Rollout Helm Chart v2.34.3
Logs
All log levels are info
Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.
My org is also experiencing this issue. We disabled ServerSideApply in our cluster as a successful workaround for the time-being. But we'd really prefer to have the option of using ServerSideApply in the future.
We're also experiencing this, when managing rollouts via ArgoCD. If we use kubectl apply -f rollout.yaml
, then change the image tag and finally kubectl apply -f rollout.yaml --server-side
, rollouts work as intended. It looks like this is specific to how ArgoCD is managing server-side apply.