diff --git a/controllers/classifier_controller.go b/controllers/classifier_controller.go index 1b7565f..8f9085f 100644 --- a/controllers/classifier_controller.go +++ b/controllers/classifier_controller.go @@ -129,8 +129,6 @@ type ClassifierReconciler struct { //+kubebuilder:rbac:groups=lib.projectsveltos.io,resources=configurationbundles/status,verbs=get;list;watch;update //+kubebuilder:rbac:groups=cluster.x-k8s.io,resources=clusters,verbs=get;watch;list;update //+kubebuilder:rbac:groups=cluster.x-k8s.io,resources=clusters/status,verbs=get;watch;list -//+kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machines,verbs=get;watch;list -//+kubebuilder:rbac:groups=cluster.x-k8s.io,resources=machines/status,verbs=get;watch;list //+kubebuilder:rbac:groups="",resources=secrets,verbs=get;list;watch //+kubebuilder:rbac:groups="",resources=configmaps,verbs=get;list;watch //+kubebuilder:rbac:groups="apps",resources=deployments,verbs=get;list;watch @@ -376,18 +374,6 @@ func (r *ClassifierReconciler) WatchForCAPI(mgr ctrl.Manager, c controller.Contr return err } - // When cluster-api machine changes, according to ClusterPredicates, - // one or more ClusterProfiles need to be reconciled. - machineCluster := source.Kind[*clusterv1.Machine]( - mgr.GetCache(), - &clusterv1.Machine{}, - handler.TypedEnqueueRequestsFromMapFunc(r.requeueClassifierForMachine), - predicates.MachinePredicate{Logger: mgr.GetLogger().WithValues("predicate", "clusterpredicate")}, - ) - if err := c.Watch(machineCluster); err != nil { - return err - } - return nil } diff --git a/controllers/classifier_controller_test.go b/controllers/classifier_controller_test.go index f373f56..0685efc 100644 --- a/controllers/classifier_controller_test.go +++ b/controllers/classifier_controller_test.go @@ -525,50 +525,4 @@ var _ = Describe("ClassifierReconciler: requeue methods", func() { return false }, timeout, pollingInterval).Should(BeTrue()) }) - - It("RequeueClassifierForMachine returns correct Classifier for a CAPI machine", func() { - cpMachine := &clusterv1.Machine{ - ObjectMeta: metav1.ObjectMeta{ - Namespace: cluster.Namespace, - Name: cluster.Name + randomString(), - Labels: map[string]string{ - clusterv1.ClusterNameLabel: cluster.Name, - clusterv1.MachineControlPlaneLabel: "ok", - }, - }, - } - cpMachine.Status.SetTypedPhase(clusterv1.MachinePhaseRunning) - - Expect(testEnv.Create(context.TODO(), classifier)).To(Succeed()) - Expect(testEnv.Create(context.TODO(), cpMachine)).To(Succeed()) - - Expect(waitForObject(context.TODO(), testEnv.Client, cpMachine)).To(Succeed()) - - classifierName := client.ObjectKey{ - Name: classifier.Name, - } - - dep := fakedeployer.GetClient(context.TODO(), textlogger.NewLogger(textlogger.NewConfig(textlogger.Verbosity(1))), - testEnv.Client) - Expect(dep.RegisterFeatureID(libsveltosv1beta1.FeatureClassifier)).To(Succeed()) - - clusterProfileReconciler := getClassifierReconciler(testEnv.Client, dep) - _, err := clusterProfileReconciler.Reconcile(context.TODO(), ctrl.Request{ - NamespacedName: classifierName, - }) - Expect(err).ToNot(HaveOccurred()) - - // Eventual loop so testEnv Cache is synced - Eventually(func() bool { - classifierList := controllers.RequeueClassifierForMachine(clusterProfileReconciler, - context.TODO(), cpMachine) - result := reconcile.Request{NamespacedName: types.NamespacedName{Name: classifier.Name}} - for i := range classifierList { - if classifierList[i] == result { - return true - } - } - return false - }, timeout, pollingInterval).Should(BeTrue()) - }) }) diff --git a/controllers/classifier_transformations.go b/controllers/classifier_transformations.go index 9584d68..9e6731f 100644 --- a/controllers/classifier_transformations.go +++ b/controllers/classifier_transformations.go @@ -79,38 +79,6 @@ func (r *ClassifierReconciler) requeueClassifierForACluster(o client.Object, return requests } -func (r *ClassifierReconciler) requeueClassifierForMachine( - ctx context.Context, machine *clusterv1.Machine, -) []reconcile.Request { - - logger := textlogger.NewLogger(textlogger.NewConfig(textlogger.Verbosity(1))).WithValues( - "objectMapper", - "requeueClassifierForMachine", - "namespace", - machine.Namespace, - "cluster", - machine.Name, - ) - - r.Mux.Lock() - defer r.Mux.Unlock() - - // Get all existing classifiers - classifiers := r.AllClassifierSet.Items() - requests := make([]ctrl.Request, r.AllClassifierSet.Len()) - - for i := range classifiers { - logger.V(logs.LogDebug).Info(fmt.Sprintf("requeuing classifier %s", classifiers[i].Name)) - requests[i] = ctrl.Request{ - NamespacedName: client.ObjectKey{ - Name: classifiers[i].Name, - }, - } - } - - return requests -} - func (r *ClassifierReconciler) requeueClassifierForSecret( ctx context.Context, o client.Object, ) []reconcile.Request { diff --git a/controllers/export_test.go b/controllers/export_test.go index 6b76ad7..4f87753 100644 --- a/controllers/export_test.go +++ b/controllers/export_test.go @@ -51,7 +51,6 @@ var ( ProcessClassifier = (*ClassifierReconciler).processClassifier RemoveClassifier = (*ClassifierReconciler).removeClassifier RequeueClassifierForCluster = (*ClassifierReconciler).requeueClassifierForCluster - RequeueClassifierForMachine = (*ClassifierReconciler).requeueClassifierForMachine RequeueClassifierForClassifierReport = (*ClassifierReconciler).requeueClassifierForClassifierReport UpdateMatchingClustersAndRegistrations = (*ClassifierReconciler).updateMatchingClustersAndRegistrations UpdateLabelsOnMatchingClusters = (*ClassifierReconciler).updateLabelsOnMatchingClusters diff --git a/go.mod b/go.mod index 232b422..d491f29 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/onsi/ginkgo/v2 v2.27.5 github.com/onsi/gomega v1.39.0 github.com/pkg/errors v0.9.1 - github.com/projectsveltos/libsveltos v1.4.0 + github.com/projectsveltos/libsveltos v1.4.1-0.20260117075726-0c63966fba23 github.com/prometheus/client_golang v1.23.2 github.com/spf13/pflag v1.0.10 golang.org/x/text v0.33.0 diff --git a/go.sum b/go.sum index ffc068a..bd4edab 100644 --- a/go.sum +++ b/go.sum @@ -143,8 +143,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/projectsveltos/libsveltos v1.4.0 h1:W30Bmyv5g6qmHOcGtURRmr5JFjKSx1ZA9NRpz147sS8= -github.com/projectsveltos/libsveltos v1.4.0/go.mod h1:M3ljA5j0FMQ9V0dGE3OvqhzfUEgzcU4JDGj/VTQMfZg= +github.com/projectsveltos/libsveltos v1.4.1-0.20260117075726-0c63966fba23 h1:8hlYPnuCbcd/iwdbZGHx3wSJGqr4dUD8FHlb3SUlkHU= +github.com/projectsveltos/libsveltos v1.4.1-0.20260117075726-0c63966fba23/go.mod h1:M3ljA5j0FMQ9V0dGE3OvqhzfUEgzcU4JDGj/VTQMfZg= github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk=