-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
Checklist:
- I've included steps to reproduce the bug.
- I've included the version of argo rollouts.
Describe the bug
When we initialized rollout for a deployment with Istio traffic routing, we found rollout controller created a new RS from the current RS template with a new label key named 'rollouts-pod-template-hash', and the controller update Istio DR with the label immediately without considering whether the new RS is available or not. This leads 503 http error, no healthy upstreams.
To Reproduce
- create virtualservice & destinationrule resources as this.
- create rollout resource following the migration doc
- While creating the rollout resource, the rollout controller will create a RS for it ,and immediately update the Istio Destination Rule and Virtual Service resource, which leading
no healthy upstream
error because the the RS is not ready for traffic.
Expected behavior
The rollout controller shift the traffic to rollout's RS while the RS is available.
Version
argo-rollouts: v1.2.2
Could we add some determine statements to ensure the new RS is available before updating the Istio DR, which is the same like ensureSVCTarget does?
Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.