-
Notifications
You must be signed in to change notification settings - Fork 895
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
feat(controller): Capping the replica count during a canary deployment #1743
feat(controller): Capping the replica count during a canary deployment #1743
Conversation
Signed-off-by: yonatanelkad <[email protected]>
Signed-off-by: yonatanelkad <[email protected]>
Signed-off-by: yonatanelkad <[email protected]>
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
The behavior of rounding up was actually by design and we have tests that explicitly test for this (which are now failing in this PR):
So this is a breaking change and will need to be carefully considered whether or not if this change can be accepted based on how different the behavior vs. the actual improvements (e.g. if the new calculations approximate the desired canary weights better). Could you provide some example numbers on the differences in the calculation from before and after to help decide? Also, as you may or not be aware, a workaround, it's possible to avoid the rounding behavior but only if you use replica counts which are evenly divisible to 100. e.g. If you have a replica count of 4, you can use canary weights of 25, 50, 75. Similarly, a replica count of 5 could use canary weights of 20, 40, 60, 80. Unfortunately, you could not use replica counts which are not divisible to 100. e.g. you could not use a replica count of 3 because the rollout would choose to round up. |
Hi, The use-case we're trying to solve is performing a Canary rollout to kafka consumers. In Kafka, the number of replicas of pods (consumers) should be in correlation to the number of partitions configured on the Kafka topic. I guess this change in behavior will pop up again for other companies as well. |
I do understand the use case with respect to kafka consumers and ensuring it does not exceed replica count. This is normally achieved by setting maxSurge to |
I have created PR #1759 which reworks the basic canary calculation such that |
This PR is following an issue we encountered during our adoption of ArgoRollouts.
There is an open issue I created here:
#1707