From 9a87d47f45b3cd661e811b0e9cda0e62835b462b Mon Sep 17 00:00:00 2001 From: stefanprodan Date: Wed, 19 Jun 2019 09:49:25 +0300 Subject: [PATCH] Check primary readiness on initialisation Wait for the primary to become ready before scaling down the canary in the init phase --- pkg/canary/deployer.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/canary/deployer.go b/pkg/canary/deployer.go index fdeb2fbc..83e549de 100644 --- a/pkg/canary/deployer.go +++ b/pkg/canary/deployer.go @@ -40,6 +40,11 @@ func (c *Deployer) Initialize(cd *flaggerv1.Canary) (label string, ports *map[st } if cd.Status.Phase == "" { + _, readyErr := c.IsPrimaryReady(cd) + if readyErr != nil { + return "", ports, readyErr + } + c.Logger.With("canary", fmt.Sprintf("%s.%s", cd.Name, cd.Namespace)).Infof("Scaling down %s.%s", cd.Spec.TargetRef.Name, cd.Namespace) if err := c.Scale(cd, 0); err != nil { return "", ports, err