From c7f8670b11e22b8b7be539e755e57cc6a26748bc Mon Sep 17 00:00:00 2001 From: Amir Alavi Date: Thu, 1 Feb 2024 09:58:44 -0500 Subject: [PATCH] trim managedFields in shared informer factory Signed-off-by: Amir Alavi --- pkg/descheduler/descheduler.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/pkg/descheduler/descheduler.go b/pkg/descheduler/descheduler.go index 8d87416ad..17b0b16e4 100644 --- a/pkg/descheduler/descheduler.go +++ b/pkg/descheduler/descheduler.go @@ -25,6 +25,7 @@ import ( "go.opentelemetry.io/otel/attribute" "go.opentelemetry.io/otel/trace" + "k8s.io/apimachinery/pkg/api/meta" "k8s.io/client-go/discovery" "k8s.io/client-go/informers" "k8s.io/client-go/tools/events" @@ -385,7 +386,8 @@ func RunDeschedulerStrategies(ctx context.Context, rs *options.DeschedulerServer var span trace.Span ctx, span = tracing.Tracer().Start(ctx, "RunDeschedulerStrategies") defer span.End() - sharedInformerFactory := informers.NewSharedInformerFactory(rs.Client, 0) + + sharedInformerFactory := informers.NewSharedInformerFactoryWithOptions(rs.Client, 0, informers.WithTransform(trimManagedFields)) nodeLister := sharedInformerFactory.Core().V1().Nodes().Lister() var nodeSelector string @@ -462,3 +464,10 @@ func createClients(clientConnection componentbaseconfig.ClientConnectionConfigur return kClient, eventClient, nil } + +func trimManagedFields(obj interface{}) (interface{}, error) { + if accessor, err := meta.Accessor(obj); err == nil { + accessor.SetManagedFields(nil) + } + return obj, nil +}