From 64b42f6e62c5df27ef0be20d27ac7aa9bf59f447 Mon Sep 17 00:00:00 2001 From: Tanmay Satam Date: Fri, 10 Nov 2023 15:06:40 -0500 Subject: [PATCH] Update subnet/storageaccount controllers to watch master machines and worker machinesets --- .../storageaccounts/storageaccount_controller.go | 9 ++++++--- pkg/operator/controllers/subnets/subnets_controller.go | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/pkg/operator/controllers/storageaccounts/storageaccount_controller.go b/pkg/operator/controllers/storageaccounts/storageaccount_controller.go index 66a44d12d8c..b8b20d634fc 100644 --- a/pkg/operator/controllers/storageaccounts/storageaccount_controller.go +++ b/pkg/operator/controllers/storageaccounts/storageaccount_controller.go @@ -9,7 +9,6 @@ import ( "github.com/Azure/go-autorest/autorest/azure" machinev1beta1 "github.com/openshift/api/machine/v1beta1" "github.com/sirupsen/logrus" - corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/builder" @@ -116,11 +115,15 @@ func (r *Reconciler) SetupWithManager(mgr ctrl.Manager) error { aroClusterPredicate := predicate.NewPredicateFuncs(func(o client.Object) bool { return o.GetName() == arov1alpha1.SingletonClusterName }) + masterMachinePredicate := predicate.NewPredicateFuncs(func(o client.Object) bool { + role, ok := o.GetLabels()["machine.openshift.io/cluster-api-machine-role"] + return ok && role == "master" + }) return ctrl.NewControllerManagedBy(mgr). For(&arov1alpha1.Cluster{}, builder.WithPredicates(aroClusterPredicate)). - Watches(&source.Kind{Type: &machinev1beta1.Machine{}}, &handler.EnqueueRequestForObject{}). // to reconcile on machine replacement - Watches(&source.Kind{Type: &corev1.Node{}}, &handler.EnqueueRequestForObject{}). // to reconcile on node status change + Watches(&source.Kind{Type: &machinev1beta1.Machine{}}, &handler.EnqueueRequestForObject{}, builder.WithPredicates(masterMachinePredicate)). // to reconcile on master machine replacement + Watches(&source.Kind{Type: &machinev1beta1.MachineSet{}}, &handler.EnqueueRequestForObject{}). // to reconcile on worker machines Named(ControllerName). Complete(r) } diff --git a/pkg/operator/controllers/subnets/subnets_controller.go b/pkg/operator/controllers/subnets/subnets_controller.go index 4a0a5b66393..5c5ecff9324 100644 --- a/pkg/operator/controllers/subnets/subnets_controller.go +++ b/pkg/operator/controllers/subnets/subnets_controller.go @@ -11,7 +11,6 @@ import ( "github.com/Azure/go-autorest/autorest/azure" machinev1beta1 "github.com/openshift/api/machine/v1beta1" "github.com/sirupsen/logrus" - corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/builder" @@ -155,11 +154,15 @@ func (r *Reconciler) SetupWithManager(mgr ctrl.Manager) error { aroClusterPredicate := predicate.NewPredicateFuncs(func(o client.Object) bool { return o.GetName() == arov1alpha1.SingletonClusterName }) + masterMachinePredicate := predicate.NewPredicateFuncs(func(o client.Object) bool { + role, ok := o.GetLabels()["machine.openshift.io/cluster-api-machine-role"] + return ok && role == "master" + }) return ctrl.NewControllerManagedBy(mgr). For(&arov1alpha1.Cluster{}, builder.WithPredicates(aroClusterPredicate)). - Watches(&source.Kind{Type: &machinev1beta1.Machine{}}, &handler.EnqueueRequestForObject{}). // to reconcile on machine replacement - Watches(&source.Kind{Type: &corev1.Node{}}, &handler.EnqueueRequestForObject{}). // to reconcile on node status change + Watches(&source.Kind{Type: &machinev1beta1.Machine{}}, &handler.EnqueueRequestForObject{}, builder.WithPredicates(masterMachinePredicate)). // to reconcile on master machine replacement + Watches(&source.Kind{Type: &machinev1beta1.MachineSet{}}, &handler.EnqueueRequestForObject{}). // to reconcile on worker machines Named(ControllerName). Complete(r) }