-
Notifications
You must be signed in to change notification settings - Fork 4
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
Route created with non-zero canary weight does not have canary weight set back to 0 on creation of Rollout #11
Comments
Hi @jgwest, I was not able to reproduce the issue. The canary weight in the Route was overwritten to zero once the Rollout was created. I followed the above example on OCP 4.16 with GitOps Operator v1.13.1. Looking at the logs, I could confirm that the Plugin API was called for the first time with the zero desired weight. Logs from the plugin process:
Logs from the rollouts controller:
The above logs were captured right after creating the Rollout resource and we can observe that the weight was updated to 0. Here's the code from the rollouts controller that calls the SetWeight() API. I also tried the K8s Gateway plugin with Argo Rollouts and observed a similar behavior. I couldn't install the Gateway on OCP. But I tried the quick start guide on a kind cluster. I followed these steps:
|
Included a simple e2e test to verify this behaviour: #13 |
Thanks @chetan-rns for the detailed investigation, for the walkthrough of the behaviour with Gateway API, and for the E2E test which will verify we don't regress this behaviour! |
When a new Route is created with non-zero canary, and then a new Rollout is created targeting that Route, I would expect that the Route would set the canary weight to 0 on the Route (under
.spec.alternateBackends
).Instead, it appears that when the Rollout is initially created, it does not touch the Route's canary weight: after the Rollout is created, the Route still has non-zero canary weight.
These instructions are roughly based on this.
Steps to reproduce:
NOTE: In the Route above, notice that the weight is 50/50 between canary/stable.
After you have created all of the above resources, I would expect that when the Rollout is reconciled by Argo Rollouts, Rollouts would call our plugin, and our plugin would set the Route canary weight to 0.
Instead, if you look at the
Route
, you will see it still has a canary weight of50
underalternateBackends
.But this is an assumption on my part that needs to be verified.
Issue criteria:
The text was updated successfully, but these errors were encountered: