diff --git a/pkg/canary/config_tracker.go b/pkg/canary/config_tracker.go index 16ad9333..75c6102b 100644 --- a/pkg/canary/config_tracker.go +++ b/pkg/canary/config_tracker.go @@ -272,7 +272,7 @@ func (ct *ConfigTracker) CreatePrimaryConfigs(cd *flaggerv1.Canary, refs map[str case ConfigRefMap: config, err := ct.KubeClient.CoreV1().ConfigMaps(cd.Namespace).Get(ref.Name, metav1.GetOptions{}) if err != nil { - return fmt.Errorf("configmap %s.%s query failed : %w", ref.Name, cd.Name, err) + return fmt.Errorf("configmap %s.%s get query failed : %w", ref.Name, cd.Name, err) } primaryName := fmt.Sprintf("%s-primary", config.GetName()) primaryConfigMap := &corev1.ConfigMap{ @@ -309,7 +309,7 @@ func (ct *ConfigTracker) CreatePrimaryConfigs(cd *flaggerv1.Canary, refs map[str case ConfigRefSecret: secret, err := ct.KubeClient.CoreV1().Secrets(cd.Namespace).Get(ref.Name, metav1.GetOptions{}) if err != nil { - return err + return fmt.Errorf("secret %s.%s get query failed : %w", ref.Name, cd.Name, err) } primaryName := fmt.Sprintf("%s-primary", secret.GetName()) primarySecret := &corev1.Secret{ diff --git a/pkg/canary/daemonset_controller.go b/pkg/canary/daemonset_controller.go index 1eded3eb..4beb1b1d 100644 --- a/pkg/canary/daemonset_controller.go +++ b/pkg/canary/daemonset_controller.go @@ -32,7 +32,7 @@ func (c *DaemonSetController) ScaleToZero(cd *flaggerv1.Canary) error { targetName := cd.Spec.TargetRef.Name dae, err := c.kubeClient.AppsV1().DaemonSets(cd.Namespace).Get(targetName, metav1.GetOptions{}) if err != nil { - return fmt.Errorf("daemonset %s.%s query error: %w", targetName, cd.Namespace, err) + return fmt.Errorf("daemonset %s.%s get query error: %w", targetName, cd.Namespace, err) } daeCopy := dae.DeepCopy() @@ -72,8 +72,8 @@ func (c *DaemonSetController) ScaleFromZero(cd *flaggerv1.Canary) error { return nil } -// Initialize creates the primary DaemonSet and -// delete the canary DaemonSet and returns the pod selector label and container ports +// Initialize creates the primary DaemonSet, scales down the canary DaemonSet, +// and returns the pod selector label and container ports func (c *DaemonSetController) Initialize(cd *flaggerv1.Canary, skipLivenessChecks bool) (err error) { err = c.createPrimaryDaemonSet(cd) if err != nil { @@ -87,7 +87,8 @@ func (c *DaemonSetController) Initialize(cd *flaggerv1.Canary, skipLivenessCheck } } - c.logger.With("canary", fmt.Sprintf("%s.%s", cd.Name, cd.Namespace)).Infof("Scaling down %s.%s", cd.Spec.TargetRef.Name, cd.Namespace) + c.logger.With("canary", fmt.Sprintf("%s.%s", cd.Name, cd.Namespace)). + Infof("Scaling down DaemonSet %s.%s", cd.Spec.TargetRef.Name, cd.Namespace) if err := c.ScaleToZero(cd); err != nil { return fmt.Errorf("ScaleToZero failed: %w", err) } diff --git a/pkg/canary/daemonset_ready.go b/pkg/canary/daemonset_ready.go index 7e68b6db..1c5a392d 100644 --- a/pkg/canary/daemonset_ready.go +++ b/pkg/canary/daemonset_ready.go @@ -35,10 +35,10 @@ func (c *DaemonSetController) IsCanaryReady(cd *flaggerv1.Canary) (bool, error) return true, fmt.Errorf("daemonset %s.%s get query error: %w", targetName, cd.Namespace, err) } - retriable, err := c.isDaemonSetReady(cd, canary) + retryable, err := c.isDaemonSetReady(cd, canary) if err != nil { - return retriable, fmt.Errorf("canary damonset %s.%s not ready with retryablility: %v: %w", - targetName, cd.Namespace, retriable, err) + return retryable, fmt.Errorf("canary damonset %s.%s not ready with retryable %v: %w", + targetName, cd.Namespace, retryable, err) } return true, nil } diff --git a/pkg/canary/deployment_controller.go b/pkg/canary/deployment_controller.go index c1dc5cc8..ea5153d3 100644 --- a/pkg/canary/deployment_controller.go +++ b/pkg/canary/deployment_controller.go @@ -30,33 +30,31 @@ type DeploymentController struct { // scales to zero the canary deployment and returns the pod selector label and container ports func (c *DeploymentController) Initialize(cd *flaggerv1.Canary, skipLivenessChecks bool) (err error) { primaryName := fmt.Sprintf("%s-primary", cd.Spec.TargetRef.Name) - - err = c.createPrimaryDeployment(cd) - if err != nil { - return fmt.Errorf("createPrimaryDeployment %s.%s failed: %w", primaryName, cd.Namespace, err) + if err := c.createPrimaryDeployment(cd); err != nil { + return fmt.Errorf("createPrimaryDeployment failed: %w", err) } if cd.Status.Phase == "" || cd.Status.Phase == flaggerv1.CanaryPhaseInitializing { if !skipLivenessChecks && !cd.SkipAnalysis() { if err := c.IsPrimaryReady(cd); err != nil { - return fmt.Errorf("primary deployment %s.%s not ready: %w", primaryName, cd.Namespace, err) + return fmt.Errorf("IsPrimaryReady failed: %w", err) } } - c.logger.With("canary", fmt.Sprintf("%s.%s", cd.Name, cd.Namespace)).Infof("Scaling down %s.%s", cd.Spec.TargetRef.Name, cd.Namespace) + c.logger.With("canary", fmt.Sprintf("%s.%s", cd.Name, cd.Namespace)). + Infof("Scaling down Deployment %s.%s", cd.Spec.TargetRef.Name, cd.Namespace) if err := c.ScaleToZero(cd); err != nil { return fmt.Errorf("scaling down canary daemon set %s.%s failed: %w", cd.Spec.TargetRef.Name, cd.Namespace, err) } } if cd.Spec.AutoscalerRef != nil { - switch cd.Spec.AutoscalerRef.Kind { - case "HorizontalPodAutoscaler": + if cd.Spec.AutoscalerRef.Kind == "HorizontalPodAutoscaler" { if err := c.reconcilePrimaryHpa(cd, true); err != nil { return fmt.Errorf( "initial reconcilePrimaryHpa for %s.%s failed: %w", primaryName, cd.Namespace, err) } - default: + } else { return fmt.Errorf("cd.Spec.AutoscalerRef.Kind is invalid: %s", cd.Spec.AutoscalerRef.Kind) } } @@ -70,7 +68,7 @@ func (c *DeploymentController) Promote(cd *flaggerv1.Canary) error { canary, err := c.kubeClient.AppsV1().Deployments(cd.Namespace).Get(targetName, metav1.GetOptions{}) if err != nil { - return fmt.Errorf("deployment %s.%s query error: %v", targetName, cd.Namespace, err) + return fmt.Errorf("deployment %s.%s get query error: %w", targetName, cd.Namespace, err) } label, err := c.getSelectorLabel(canary) @@ -80,7 +78,7 @@ func (c *DeploymentController) Promote(cd *flaggerv1.Canary) error { primary, err := c.kubeClient.AppsV1().Deployments(cd.Namespace).Get(primaryName, metav1.GetOptions{}) if err != nil { - return fmt.Errorf("deployment %s.%s query error: %v", primaryName, cd.Namespace, err) + return fmt.Errorf("deployment %s.%s get query error: %w", primaryName, cd.Namespace, err) } // promote secrets and config maps @@ -137,7 +135,7 @@ func (c *DeploymentController) HasTargetChanged(cd *flaggerv1.Canary) (bool, err targetName := cd.Spec.TargetRef.Name canary, err := c.kubeClient.AppsV1().Deployments(cd.Namespace).Get(targetName, metav1.GetOptions{}) if err != nil { - return false, fmt.Errorf("deployment %s.%s query error: %w", targetName, cd.Namespace, err) + return false, fmt.Errorf("deployment %s.%s get query error: %w", targetName, cd.Namespace, err) } return hasSpecChanged(cd, canary.Spec.Template) @@ -280,7 +278,8 @@ func (c *DeploymentController) createPrimaryDeployment(cd *flaggerv1.Canary) err return fmt.Errorf("creating deployment %s.%s failed: %w", primaryDep.Name, cd.Namespace, err) } - c.logger.With("canary", fmt.Sprintf("%s.%s", cd.Name, cd.Namespace)).Infof("Deployment %s.%s created", primaryDep.GetName(), cd.Namespace) + c.logger.With("canary", fmt.Sprintf("%s.%s", cd.Name, cd.Namespace)). + Infof("Deployment %s.%s created", primaryDep.GetName(), cd.Namespace) } return nil @@ -335,7 +334,7 @@ func (c *DeploymentController) reconcilePrimaryHpa(cd *flaggerv1.Canary, init bo "HorizontalPodAutoscaler %s.%s created", primaryHpa.GetName(), cd.Namespace) return nil } else if err != nil { - return fmt.Errorf("HorizontalPodAutoscaler %s.%s exists but get query failed: %w", + return fmt.Errorf("HorizontalPodAutoscaler %s.%s get query failed: %w", primaryHpa.Name, primaryHpa.Namespace, err) } diff --git a/pkg/canary/deployment_ready.go b/pkg/canary/deployment_ready.go index 78d7e5ae..86b2a776 100644 --- a/pkg/canary/deployment_ready.go +++ b/pkg/canary/deployment_ready.go @@ -42,11 +42,11 @@ func (c *DeploymentController) IsCanaryReady(cd *flaggerv1.Canary) (bool, error) return true, fmt.Errorf("deployment %s.%s get query error: %w", targetName, cd.Namespace, err) } - retriable, err := c.isDeploymentReady(canary, cd.GetProgressDeadlineSeconds()) + retryable, err := c.isDeploymentReady(canary, cd.GetProgressDeadlineSeconds()) if err != nil { - return retriable, fmt.Errorf( - "canary deployment %s.%s not ready with retriablility %v: %w", - targetName, cd.Namespace, retriable, err, + return retryable, fmt.Errorf( + "canary deployment %s.%s not ready with retryable %v: %w", + targetName, cd.Namespace, retryable, err, ) } return true, nil diff --git a/pkg/canary/status.go b/pkg/canary/status.go index 6d3f2e34..cfe1d657 100644 --- a/pkg/canary/status.go +++ b/pkg/canary/status.go @@ -247,8 +247,7 @@ func updateStatusWithUpgrade(flaggerClient clientset.Interface, cd *flaggerv1.Ca _, err := flaggerClient.FlaggerV1beta1().Canaries(cd.Namespace).UpdateStatus(cd) if err != nil && strings.Contains(err.Error(), "flagger.app/v1alpha") { // upgrade alpha resource - _, updateErr := flaggerClient.FlaggerV1beta1().Canaries(cd.Namespace).Update(cd) - if updateErr != nil { + if _, updateErr := flaggerClient.FlaggerV1beta1().Canaries(cd.Namespace).Update(cd); updateErr != nil { return fmt.Errorf("updating canary %s.%s from v1alpha to v1beta failed: %w", cd.Name, cd.Namespace, updateErr) } // retry status update