-
Notifications
You must be signed in to change notification settings - Fork 867
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
Rollback windows for fast-tracked rollbacks #574
Comments
Have you considered the opposite situation, for example, an application needs to avoid multiple instances being started at the same time due to insufficient performance of the surrounding system, but sometimes we need to rollback during the canary. In this case, can we choose not to use "fast-tracked rollback"? |
@jessesuen this will be a good addition to the current argo rollouts. Are we tracking this against any release? thanks! |
Howdy! Is anyone working on that feature already? will that be part of the next release? |
Hi Y'All, Is anyone working on this feature? I see it's been open for 2 years now. It is highly demanded on production environments where during incidents we need to rollback quickly to the previous stable version. Could you add --full flag feature to "kubectl argo rollouts undo"?
The only way I can speed up the rollback now is to terminate prePromotionAnalysis and postPromotionAnalysis runs. I think I could automate the three steps (undo, terminate pre, terminate post) based on the output of "kubectl argo rollouts get rollout", however the feature would be benefitial for all users of Argo Rollouts. |
One workaround we are using right now is to leave a timed pause step at the end of the Rollout. We manually terminate the analysis run so that the only way we will roll back is if someone manually triggers it. This works but it means that the "new" version is still marked as canary during that period, even though it is receiving 100% of traffic. I like the original idea proposed above but even if we could set the scaledown delay to a long period after the rollout is complete and allow quick rollback to that, it would be helpful. |
@jessesuen we're also interested in this feature. I can take a stab at implementing it, can you give me some hints where should this be? |
fixes: argoproj#574 Signed-off-by: Alex Eftimie <[email protected]>
fixes: argoproj#574 Signed-off-by: Alex Eftimie <[email protected]>
* feature: introduce rollback windows fixes: #574 Signed-off-by: Alex Eftimie <[email protected]> * feature: introduce rollback windows - generated files fixes: #574 Signed-off-by: Alex Eftimie <[email protected]> * ran codegen again Signed-off-by: Alex Eftimie <[email protected]> * More unit tests. New e2e Signed-off-by: Alex Eftimie <[email protected]> * More tests to make codecov happy Signed-off-by: Alex Eftimie <[email protected]> * increas lint timeout Signed-off-by: Alex Eftimie <[email protected]> * Exclude Experiment RS when computing rollback window Signed-off-by: Alex Eftimie <[email protected]> * Add documentation around new feature rollbackWindow Signed-off-by: Alex Eftimie <[email protected]> * Fix rollback window; cancel pauses and abort and skip to the end of analysis when the window is detected Signed-off-by: Alex Eftimie <[email protected]> Signed-off-by: Alex Eftimie <[email protected]>
* feature: introduce rollback windows fixes: argoproj#574 Signed-off-by: Alex Eftimie <[email protected]> * feature: introduce rollback windows - generated files fixes: argoproj#574 Signed-off-by: Alex Eftimie <[email protected]> * ran codegen again Signed-off-by: Alex Eftimie <[email protected]> * More unit tests. New e2e Signed-off-by: Alex Eftimie <[email protected]> * More tests to make codecov happy Signed-off-by: Alex Eftimie <[email protected]> * increas lint timeout Signed-off-by: Alex Eftimie <[email protected]> * Exclude Experiment RS when computing rollback window Signed-off-by: Alex Eftimie <[email protected]> * Add documentation around new feature rollbackWindow Signed-off-by: Alex Eftimie <[email protected]> * Fix rollback window; cancel pauses and abort and skip to the end of analysis when the window is detected Signed-off-by: Alex Eftimie <[email protected]> Signed-off-by: Alex Eftimie <[email protected]>
Spawned from #557.
Currently we perform a "fast-tracked rollback" (which skips pauses, steps, analysis) in two circumstances:
I think we should add more controls for intelligent, fast-tracked rollbacks for both the blue-green and canary strategies. For example, a use case is to have a fast-tracked rollback happen when moving to an older blue-green ReplicaSet even if it's scaled down (and not just if it's in the scaleDownDelay).
I think this can either be time based:
Or it could possibly be revision based (e.g. fast-rollback if we are moving to an n-2 revision):
I propose to even place the
rollbackWindow
stanza outside strategy since both blue-green and canary would benefit from it.The text was updated successfully, but these errors were encountered: