Skip to content

Commit

Permalink
feat: fix lint for appcontroller.go
Browse files Browse the repository at this point in the history
Signed-off-by: darshanime <deathbullet@gmail.com>
  • Loading branch information
darshanime committed Jul 20, 2020
1 parent f96ce1e commit c2e5ccc
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 34 deletions.
20 changes: 10 additions & 10 deletions controller/appcontroller.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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 {
Expand Down
15 changes: 6 additions & 9 deletions controller/sort_delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
19 changes: 4 additions & 15 deletions controller/sort_delete_test.go
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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))
}
Expand Down

0 comments on commit c2e5ccc

Please sign in to comment.