diff --git a/pkg/canary/status.go b/pkg/canary/status.go index cfbacd9c..a744d437 100644 --- a/pkg/canary/status.go +++ b/pkg/canary/status.go @@ -156,7 +156,7 @@ func (c *Deployer) SetStatusPhase(cd *flaggerv1.Canary, phase flaggerv1.CanaryPh cdCopy.Status.Phase = phase cdCopy.Status.LastTransitionTime = metav1.Now() - if phase != flaggerv1.CanaryPhaseProgressing { + if phase != flaggerv1.CanaryPhaseProgressing && phase != flaggerv1.CanaryPhaseWaiting { cdCopy.Status.CanaryWeight = 0 cdCopy.Status.Iterations = 0 } diff --git a/pkg/controller/scheduler.go b/pkg/controller/scheduler.go index f08ef22e..bca27600 100644 --- a/pkg/controller/scheduler.go +++ b/pkg/controller/scheduler.go @@ -134,9 +134,8 @@ func (c *Controller) advanceCanary(name string, namespace string, skipLivenessCh return } - isApproved := c.runConfirmRolloutHooks(cd) - - if !isApproved { + // check gates + if isApproved := c.runConfirmRolloutHooks(cd); !isApproved { return } @@ -552,6 +551,7 @@ func (c *Controller) runConfirmRolloutHooks(canary *flaggerv1.Canary) bool { return false } c.recordEventInfof(canary, "Confirm-rollout check %s passed", webhook.Name) + return false } } }