@@ -38,6 +38,7 @@ import (
38
38
"sigs.k8s.io/cluster-api/util/patch"
39
39
"sigs.k8s.io/cluster-api/util/predicates"
40
40
ctrl "sigs.k8s.io/controller-runtime"
41
+ ctrlbldr "sigs.k8s.io/controller-runtime/pkg/builder"
41
42
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"
42
43
"sigs.k8s.io/controller-runtime/pkg/controller"
43
44
ctrlutil "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
@@ -92,7 +93,8 @@ func AddVMControllerToManager(ctx *context.ControllerManagerContext, mgr manager
92
93
VMService : & govmomi.VMService {},
93
94
remoteClusterCacheTracker : tracker ,
94
95
}
95
- controller , err := ctrl .NewControllerManagedBy (mgr ).
96
+
97
+ return ctrl .NewControllerManagedBy (mgr ).
96
98
// Watch the controlled, infrastructure resource.
97
99
For (controlledType ).
98
100
WithOptions (options ).
@@ -106,54 +108,43 @@ func AddVMControllerToManager(ctx *context.ControllerManagerContext, mgr manager
106
108
& handler.EnqueueRequestForObject {},
107
109
).
108
110
WithEventFilter (predicates .ResourceNotPausedAndHasFilterLabel (ctrl .LoggerFrom (ctx ), ctx .WatchFilterValue )).
109
- Build (r )
110
- if err != nil {
111
- return err
112
- }
113
-
114
- err = controller .Watch (
115
- source .Kind (mgr .GetCache (), & clusterv1.Cluster {}),
116
- handler .EnqueueRequestsFromMapFunc (r .clusterToVSphereVMs ),
117
- predicate.Funcs {
118
- UpdateFunc : func (e event.UpdateEvent ) bool {
119
- newCluster := e .ObjectNew .(* clusterv1.Cluster )
120
- // check whether cluster has either spec.paused or pasued annotation
121
- return ! annotations .IsPaused (newCluster , newCluster )
122
- },
123
- CreateFunc : func (e event.CreateEvent ) bool {
124
- cluster := e .Object .(* clusterv1.Cluster )
125
- // check whether cluster has either spec.paused or pasued annotation
126
- return annotations .IsPaused (cluster , cluster )
127
- },
128
- })
129
- if err != nil {
130
- return err
131
- }
132
-
133
- err = controller .Watch (
134
- source .Kind (mgr .GetCache (), & infrav1.VSphereCluster {}),
135
- handler .EnqueueRequestsFromMapFunc (r .vsphereClusterToVSphereVMs ),
136
- predicate.Funcs {
137
- UpdateFunc : func (e event.UpdateEvent ) bool {
138
- oldCluster := e .ObjectOld .(* infrav1.VSphereCluster )
139
- newCluster := e .ObjectNew .(* infrav1.VSphereCluster )
140
- return ! clustermodule .Compare (oldCluster .Spec .ClusterModules , newCluster .Spec .ClusterModules )
141
- },
142
- CreateFunc : func (e event.CreateEvent ) bool { return false },
143
- DeleteFunc : func (e event.DeleteEvent ) bool { return false },
144
- GenericFunc : func (e event.GenericEvent ) bool { return false },
145
- })
146
- if err != nil {
147
- return err
148
- }
149
-
150
- err = controller .Watch (
151
- source .Kind (mgr .GetCache (), & ipamv1.IPAddressClaim {}),
152
- handler .EnqueueRequestsFromMapFunc (r .ipAddressClaimToVSphereVM ))
153
- if err != nil {
154
- return err
155
- }
156
- return nil
111
+ Watches (
112
+ & clusterv1.Cluster {},
113
+ handler .EnqueueRequestsFromMapFunc (r .clusterToVSphereVMs ),
114
+ ctrlbldr .WithPredicates (
115
+ predicate.Funcs {
116
+ UpdateFunc : func (e event.UpdateEvent ) bool {
117
+ newCluster := e .ObjectNew .(* clusterv1.Cluster )
118
+ // check whether cluster has either spec.paused or pasued annotation
119
+ return ! annotations .IsPaused (newCluster , newCluster )
120
+ },
121
+ CreateFunc : func (e event.CreateEvent ) bool {
122
+ cluster := e .Object .(* clusterv1.Cluster )
123
+ // check whether cluster has either spec.paused or pasued annotation
124
+ return annotations .IsPaused (cluster , cluster )
125
+ },
126
+ }),
127
+ ).
128
+ Watches (
129
+ & infrav1.VSphereCluster {},
130
+ handler .EnqueueRequestsFromMapFunc (r .vsphereClusterToVSphereVMs ),
131
+ ctrlbldr .WithPredicates (
132
+ predicate.Funcs {
133
+ UpdateFunc : func (e event.UpdateEvent ) bool {
134
+ oldCluster := e .ObjectOld .(* infrav1.VSphereCluster )
135
+ newCluster := e .ObjectNew .(* infrav1.VSphereCluster )
136
+ return ! clustermodule .Compare (oldCluster .Spec .ClusterModules , newCluster .Spec .ClusterModules )
137
+ },
138
+ CreateFunc : func (e event.CreateEvent ) bool { return false },
139
+ DeleteFunc : func (e event.DeleteEvent ) bool { return false },
140
+ GenericFunc : func (e event.GenericEvent ) bool { return false },
141
+ }),
142
+ ).
143
+ Watches (
144
+ & ipamv1.IPAddressClaim {},
145
+ handler .EnqueueRequestsFromMapFunc (r .ipAddressClaimToVSphereVM ),
146
+ ).
147
+ Complete (r )
157
148
}
158
149
159
150
type vmReconciler struct {
0 commit comments