diff --git a/pkg/controller/scheduler.go b/pkg/controller/scheduler.go index a9ca1af7..e8d9a2c3 100644 --- a/pkg/controller/scheduler.go +++ b/pkg/controller/scheduler.go @@ -293,7 +293,7 @@ func (c *Controller) advanceCanary(name string, namespace string) { // check if the canary success rate is above the threshold // skip check if no traffic is routed or mirrored to canary if canaryWeight == 0 && cd.Status.Iterations == 0 && - (cd.GetAnalysis().Mirror == false || mirrored == false) { + !(cd.GetAnalysis().Mirror && mirrored) { c.recordEventInfof(cd, "Starting canary analysis for %s.%s", cd.Spec.TargetRef.Name, cd.Namespace) // run pre-rollout web hooks @@ -354,7 +354,7 @@ func (c *Controller) runCanary(canary *flaggerv1.Canary, canaryController canary // When mirroring, all requests go to primary and canary, but only responses from // primary go back to the user. if canary.GetAnalysis().Mirror && canaryWeight == 0 { - if mirrored == false { + if !mirrored { mirrored = true primaryWeight = 100 canaryWeight = 0 @@ -466,7 +466,7 @@ func (c *Controller) runBlueGreen(canary *flaggerv1.Canary, canaryController can if canary.GetAnalysis().Iterations > canary.Status.Iterations { // If in "mirror" mode, mirror requests during the entire B/G canary test if provider != "kubernetes" && - canary.GetAnalysis().Mirror == true && mirrored == false { + canary.GetAnalysis().Mirror && !mirrored { if err := meshRouter.SetRoutes(canary, 100, 0, true); err != nil { c.recordEventWarningf(canary, "%v", err) } diff --git a/pkg/controller/scheduler_daemonset_fixture_test.go b/pkg/controller/scheduler_daemonset_fixture_test.go index 5ce0cacb..cb70efcf 100644 --- a/pkg/controller/scheduler_daemonset_fixture_test.go +++ b/pkg/controller/scheduler_daemonset_fixture_test.go @@ -613,32 +613,6 @@ func newDaemonSetTestService() *corev1.Service { return d } -func newDaemonSetTestServiceV2() *corev1.Service { - d := &corev1.Service{ - TypeMeta: metav1.TypeMeta{APIVersion: appsv1.SchemeGroupVersion.String()}, - ObjectMeta: metav1.ObjectMeta{ - Namespace: "default", - Name: "podinfo", - }, - Spec: corev1.ServiceSpec{ - Selector: map[string]string{ - "app": "podinfo-v2", - }, - Type: corev1.ServiceTypeClusterIP, - Ports: []corev1.ServicePort{ - { - Name: "http", - Port: 9898, - Protocol: corev1.ProtocolTCP, - TargetPort: intstr.FromString("http"), - }, - }, - }, - } - - return d -} - func newDaemonSetTestMetricTemplate() *flaggerv1.MetricTemplate { provider := flaggerv1.MetricTemplateProvider{ Type: "prometheus", diff --git a/pkg/controller/scheduler_daemonset_test.go b/pkg/controller/scheduler_daemonset_test.go index 1cbb64c3..affcb774 100644 --- a/pkg/controller/scheduler_daemonset_test.go +++ b/pkg/controller/scheduler_daemonset_test.go @@ -175,12 +175,13 @@ func TestScheduler_DaemonSetPromotion(t *testing.T) { // detect configs changes mocks.ctrl.advanceCanary("podinfo", "default") - primaryWeight, canaryWeight, mirrored, err := mocks.router.GetRoutes(mocks.canary) + _, _, _, err = mocks.router.GetRoutes(mocks.canary) require.NoError(t, err) - primaryWeight = 60 - canaryWeight = 40 - err = mocks.router.SetRoutes(mocks.canary, primaryWeight, canaryWeight, mirrored) + var mirrored bool + primaryWeight := 60 + canaryWeight := 40 + err = mocks.router.SetRoutes(mocks.canary, primaryWeight, canaryWeight, false) require.NoError(t, err) // advance diff --git a/pkg/controller/scheduler_deployment_test.go b/pkg/controller/scheduler_deployment_test.go index 74772091..a94fe3bb 100644 --- a/pkg/controller/scheduler_deployment_test.go +++ b/pkg/controller/scheduler_deployment_test.go @@ -309,12 +309,12 @@ func TestScheduler_DeploymentPromotion(t *testing.T) { // detect configs changes mocks.ctrl.advanceCanary("podinfo", "default") - primaryWeight, canaryWeight, mirrored, err := mocks.router.GetRoutes(mocks.canary) + _, _, _, err = mocks.router.GetRoutes(mocks.canary) require.NoError(t, err) - primaryWeight = 60 - canaryWeight = 40 - err = mocks.router.SetRoutes(mocks.canary, primaryWeight, canaryWeight, mirrored) + primaryWeight := 60 + canaryWeight := 40 + err = mocks.router.SetRoutes(mocks.canary, primaryWeight, canaryWeight, false) require.NoError(t, err) // advance @@ -336,7 +336,7 @@ func TestScheduler_DeploymentPromotion(t *testing.T) { // finalise mocks.ctrl.advanceCanary("podinfo", "default") - primaryWeight, canaryWeight, mirrored, err = mocks.router.GetRoutes(mocks.canary) + primaryWeight, canaryWeight, mirrored, err := mocks.router.GetRoutes(mocks.canary) require.NoError(t, err) assert.Equal(t, 100, primaryWeight) assert.Equal(t, 0, canaryWeight) diff --git a/pkg/loadtester/concord.go b/pkg/loadtester/concord.go index 373caf79..e8ad34bd 100644 --- a/pkg/loadtester/concord.go +++ b/pkg/loadtester/concord.go @@ -50,17 +50,17 @@ type ConcordTask struct { func NewConcordTask(metadata map[string]string, canary string, logger *zap.SugaredLogger) (*ConcordTask, error) { var pollIntervalInt, pollTimeoutInt int - if _, found := metadata["server"]; found == false { + if _, found := metadata["server"]; !found { return nil, errors.New("`server` is required with type concord") } pURL, err := url.Parse(metadata["server"]) if err != nil { return nil, errors.New("failed to create base URL from metadata `concord_url`") } - if _, found := metadata["org"]; found == false { + if _, found := metadata["org"]; !found { return nil, errors.New("`org` is required with type concord") } - if _, found := metadata["project"]; found == false { + if _, found := metadata["project"]; !found { return nil, errors.New("`project` is required with type concord") } if _, found := metadata["repo"]; found == false { diff --git a/pkg/loadtester/runner.go b/pkg/loadtester/runner.go index b9c61518..31f34467 100644 --- a/pkg/loadtester/runner.go +++ b/pkg/loadtester/runner.go @@ -22,7 +22,6 @@ type TaskRunner struct { todoTasks *sync.Map runningTasks *sync.Map totalExecs uint64 - logCmdOutput bool } func NewTaskRunner(logger *zap.SugaredLogger, timeout time.Duration) *TaskRunner { diff --git a/pkg/metrics/recorder.go b/pkg/metrics/recorder.go index 51abd155..6276a177 100644 --- a/pkg/metrics/recorder.go +++ b/pkg/metrics/recorder.go @@ -85,7 +85,7 @@ func (cr *Recorder) SetTotal(namespace string, total int) { // SetStatus sets the last known canary analysis status func (cr *Recorder) SetStatus(cd *flaggerv1.Canary, phase flaggerv1.CanaryPhase) { - status := 1 + var status int switch phase { case flaggerv1.CanaryPhaseProgressing: status = 0 diff --git a/pkg/notifier/client_test.go b/pkg/notifier/client_test.go index 09bf192a..8682df9e 100644 --- a/pkg/notifier/client_test.go +++ b/pkg/notifier/client_test.go @@ -17,6 +17,7 @@ func Test_postMessage(t *testing.T) { var payload = make(map[string]string) err = json.Unmarshal(b, &payload) + require.NoError(t, err) require.Equal(t, "success", payload["status"]) })) diff --git a/pkg/notifier/teams.go b/pkg/notifier/teams.go index c08381ca..7acc6054 100644 --- a/pkg/notifier/teams.go +++ b/pkg/notifier/teams.go @@ -47,7 +47,7 @@ func NewMSTeams(hookURL string) (*MSTeams, error) { func (s *MSTeams) Post(workload string, namespace string, message string, fields []Field, severity string) error { facts := make([]MSTeamsField, 0, len(fields)) for _, f := range fields { - facts = append(facts, MSTeamsField{f.Name, f.Value}) + facts = append(facts, MSTeamsField(f)) } payload := MSTeamsPayload{ diff --git a/pkg/router/gloo_test.go b/pkg/router/gloo_test.go index 150d0924..20493ed3 100644 --- a/pkg/router/gloo_test.go +++ b/pkg/router/gloo_test.go @@ -45,12 +45,12 @@ func TestGlooRouter_SetRoutes(t *testing.T) { err := router.Reconcile(mocks.canary) require.NoError(t, err) - p, c, m, err := router.GetRoutes(mocks.canary) + _, _, _, err = router.GetRoutes(mocks.canary) require.NoError(t, err) - p = 50 - c = 50 - m = false + p := 50 + c := 50 + m := false err = router.SetRoutes(mocks.canary, p, c, m) require.NoError(t, err)