Skip to content
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

Prototype for frozen canaries. #1196

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

paichinger
Copy link

This is a prototype for #1186.

@paichinger paichinger mentioned this pull request May 11, 2022
return
}
} else {
canaryWeight = c.totalWeight(cd)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand the reasoning behind this. Why would we want to set .status.canaryWeight to 100, when it's not actually receiving 100% of the traffic?

if err := meshRouter.SetRoutes(cd, primaryWeight, canaryWeight, false); err != nil {
c.recordEventWarningf(cd, "%v", err)
return
if !cd.Spec.Analysis.FreezeOnFailure {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why restart only when FreezeOnFailure is disabled? Even, if FreezeOnFailue is true and the canary deployment changed, I think we'd want the canary analysis to restart.

@@ -834,7 +847,8 @@ func (c *Controller) checkCanaryStatus(canary *flaggerv1.Canary, canaryControlle

func (c *Controller) hasCanaryRevisionChanged(canary *flaggerv1.Canary, canaryController canary.Controller) bool {
if canary.Status.Phase == flaggerv1.CanaryPhaseProgressing ||
canary.Status.Phase == flaggerv1.CanaryPhaseWaitingPromotion {
canary.Status.Phase == flaggerv1.CanaryPhaseWaitingPromotion ||
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need to check for CanaryPhaseFrozen, because of the concern described in the above comment.

@aryan9600
Copy link
Member

@pjotre86 thanks for this PR! Could you please add e2e tests and sign off your commits? You can refer to this test in order to understand how to write the e2e test.

@paichinger
Copy link
Author

Hey @aryan9600 !
Thanks a lot for your feedback!
I will happily process it, but first I'd like to clarify: Is this feature wanted by you as maintainers? I would be good to know that before we put more work into it.
I had a conversation about this with @stefanprodan in the linked issue (#1186 (comment)) but that's still not resolved. Would be great if we could conclude this before we continue!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants