diff --git a/pkg/spoke/controllers/manifestwork_controller.go b/pkg/spoke/controllers/manifestcontroller/manifestwork_controller.go similarity index 99% rename from pkg/spoke/controllers/manifestwork_controller.go rename to pkg/spoke/controllers/manifestcontroller/manifestwork_controller.go index 9482c095c..3a54de87e 100644 --- a/pkg/spoke/controllers/manifestwork_controller.go +++ b/pkg/spoke/controllers/manifestcontroller/manifestwork_controller.go @@ -1,4 +1,4 @@ -package controllers +package manifestcontroller import ( "context" @@ -103,6 +103,11 @@ func (m *ManifestWorkController) sync(ctx context.Context, controllerContext fac } manifestWork = manifestWork.DeepCopy() + // no work to do if we're deleted + if !manifestWork.DeletionTimestamp.IsZero() { + return nil + } + errs := []error{} // Apply resources on spoke cluster. resourceResults := m.applyManifest(manifestWork.Spec.Workload.Manifests, controllerContext.Recorder()) diff --git a/pkg/spoke/controllers/manifestwork_controller_test.go b/pkg/spoke/controllers/manifestcontroller/manifestwork_controller_test.go similarity index 99% rename from pkg/spoke/controllers/manifestwork_controller_test.go rename to pkg/spoke/controllers/manifestcontroller/manifestwork_controller_test.go index 0921db7d3..156fa9f7e 100644 --- a/pkg/spoke/controllers/manifestwork_controller_test.go +++ b/pkg/spoke/controllers/manifestcontroller/manifestwork_controller_test.go @@ -1,4 +1,4 @@ -package controllers +package manifestcontroller import ( "fmt" diff --git a/pkg/spoke/spokeagent.go b/pkg/spoke/spokeagent.go index 8b1202755..bdaeaa600 100644 --- a/pkg/spoke/spokeagent.go +++ b/pkg/spoke/spokeagent.go @@ -4,6 +4,8 @@ import ( "context" "time" + "github.com/open-cluster-management/work/pkg/spoke/controllers/manifestcontroller" + "github.com/open-cluster-management/work/pkg/spoke/controllers/finalizercontroller" "github.com/openshift/library-go/pkg/controller/controllercmd" @@ -17,7 +19,6 @@ import ( workclientset "github.com/open-cluster-management/api/client/work/clientset/versioned" workinformers "github.com/open-cluster-management/api/client/work/informers/externalversions" - "github.com/open-cluster-management/work/pkg/spoke/controllers" "github.com/open-cluster-management/work/pkg/spoke/resource" ) @@ -79,7 +80,7 @@ func (o *WorkloadAgentOptions) RunWorkloadAgent(ctx context.Context, controllerC restMapper := resource.NewMapper(cachedSpokeDiscoveryClient) go restMapper.Run(ctx.Done()) - manifestWorkController := controllers.NewManifestWorkController( + manifestWorkController := manifestcontroller.NewManifestWorkController( ctx, controllerContext.EventRecorder, spokeDynamicClient,