From c2e5ccc81e0aaca81a2d002436d39d52a4364d2d Mon Sep 17 00:00:00 2001 From: darshanime Date: Mon, 20 Jul 2020 09:00:44 +0530 Subject: [PATCH] feat: fix lint for appcontroller.go Signed-off-by: darshanime --- controller/appcontroller.go | 20 ++++++++++---------- controller/sort_delete.go | 15 ++++++--------- controller/sort_delete_test.go | 19 ++++--------------- 3 files changed, 20 insertions(+), 34 deletions(-) diff --git a/controller/appcontroller.go b/controller/appcontroller.go index b7b1abe5c1266..91eb354113d70 100644 --- a/controller/appcontroller.go +++ b/controller/appcontroller.go @@ -137,13 +137,13 @@ func NewApplicationController( appRefreshQueue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "app_reconciliation_queue"), appOperationQueue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "app_operation_processing_queue"), appComparisonTypeRefreshQueue: workqueue.NewRateLimitingQueue(workqueue.DefaultControllerRateLimiter()), - db: db, - statusRefreshTimeout: appResyncPeriod, - refreshRequestedApps: make(map[string]CompareWith), - refreshRequestedAppsMutex: &sync.Mutex{}, - auditLogger: argo.NewAuditLogger(namespace, kubeClientset, "argocd-application-controller"), - settingsMgr: settingsMgr, - selfHealTimeout: selfHealTimeout, + db: db, + statusRefreshTimeout: appResyncPeriod, + refreshRequestedApps: make(map[string]CompareWith), + refreshRequestedAppsMutex: &sync.Mutex{}, + auditLogger: argo.NewAuditLogger(namespace, kubeClientset, "argocd-application-controller"), + settingsMgr: settingsMgr, + selfHealTimeout: selfHealTimeout, } if kubectlParallelismLimit > 0 { ctrl.kubectlSemaphore = semaphore.NewWeighted(kubectlParallelismLimit) @@ -626,9 +626,9 @@ func (ctrl *ApplicationController) finalizeApplicationDeletion(app *appv1.Applic } config := metrics.AddMetricsTransportWrapper(ctrl.metricsServer, app, cluster.RESTConfig()) - sortedObjs := FilterObjectsForDeletion(objs) - err = kube.RunAllAsync(len(sortedObjs), func(i int) error { - obj := sortedObjs[i] + filteredObjs := FilterObjectsForDeletion(objs) + err = kube.RunAllAsync(len(filteredObjs), func(i int) error { + obj := filteredObjs[i] return ctrl.kubectl.DeleteResource(config, obj.GroupVersionKind(), obj.GetName(), obj.GetNamespace(), false) }) if err != nil { diff --git a/controller/sort_delete.go b/controller/sort_delete.go index c528deae043b7..6b829de4feff5 100644 --- a/controller/sort_delete.go +++ b/controller/sort_delete.go @@ -21,23 +21,20 @@ func (s syncWaveSorter) Less(i, j int) bool { return syncwaves.Wave(s[i]) < syncwaves.Wave(s[j]) } -func sortBySyncWave(objs []*unstructured.Unstructured) []*unstructured.Unstructured { - sort.Sort(sort.Reverse(syncWaveSorter(objs))) - return []*unstructured.Unstructured(objs) -} - func FilterObjectsForDeletion(objs []*unstructured.Unstructured) []*unstructured.Unstructured { if len(objs) <= 1 { return objs } - sortBySyncWave(objs) + + sort.Sort(sort.Reverse(syncWaveSorter(objs))) + currentSyncWave := syncwaves.Wave(objs[0]) - sortedObjs := make([]*unstructured.Unstructured, 0) + filteredObjs := make([]*unstructured.Unstructured, 0) for _, obj := range objs { if syncwaves.Wave(obj) != currentSyncWave { break } - sortedObjs = append(sortedObjs, obj) + filteredObjs = append(filteredObjs, obj) } - return sortedObjs + return filteredObjs } diff --git a/controller/sort_delete_test.go b/controller/sort_delete_test.go index 36457c7e7b7c9..83b90ec47dbbc 100644 --- a/controller/sort_delete_test.go +++ b/controller/sort_delete_test.go @@ -1,23 +1,14 @@ package controller import ( + "reflect" "testing" "github.com/argoproj/gitops-engine/pkg/sync/common" . "github.com/argoproj/gitops-engine/pkg/utils/testing" - "github.com/stretchr/testify/assert" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) -func TestSoryBySyncWave(t *testing.T) { - input := sliceOfObjectsWithSyncWaves([]string{"5", "4", "6", "8"}) - expectedOutput := sliceOfObjectsWithSyncWaves([]string{"8", "6", "5", "4"}) - - sortBySyncWave(objects) - - assert.Equal(t, expectedOutput, input) -} - func TestFilterObjectsForDeletion(t *testing.T) { tests := []struct { input []string @@ -31,20 +22,18 @@ func TestFilterObjectsForDeletion(t *testing.T) { for _, tt := range tests { in := sliceOfObjectsWithSyncWaves(tt.input) need := sliceOfObjectsWithSyncWaves(tt.want) - if got := FilterObjectsForDeletion(in); got != need { + if got := FilterObjectsForDeletion(in); !reflect.DeepEqual(got, need) { t.Errorf("Received unexpected objects for deletion = %v, want %v", got, need) } } } func podWithSyncWave(wave string) *unstructured.Unstructured { - pod := NewPod() - pod.SetAnnotations(map[string]string{common.AnnotationSyncWave: wave}) - return pod + return Annotate(NewPod(), common.AnnotationSyncWave, wave) } func sliceOfObjectsWithSyncWaves(waves []string) []*unstructured.Unstructured { - objects := make([]*unstructured.Unstructured, len(waves)) + objects := make([]*unstructured.Unstructured, 0) for _, wave := range waves { objects = append(objects, podWithSyncWave(wave)) }