@@ -160,31 +160,30 @@ func (r *Reconciler) Started(ctx context.Context) (bool, error) {
160160// SetupWithManager Sets up the reconciler with a new manager, filtering using NodeNetworkConfigFilter on nodeName.
161161func (r * Reconciler ) SetupWithManager (mgr ctrl.Manager , node * v1.Node , cnsconfig * configuration.CNSConfig ) error {
162162 r .nnccli = nodenetworkconfig .NewClient (mgr .GetClient ())
163+ ipamV2Enabled := cnsconfig != nil && cnsconfig .EnableIPAMv2
163164 err := ctrl .NewControllerManagedBy (mgr ).
164165 For (& v1alpha.NodeNetworkConfig {}).
165166 WithEventFilter (predicate.Funcs {
166167 // ignore delete events.
167168 DeleteFunc : func (event.DeleteEvent ) bool {
168169 return false
169170 },
170- }).
171- WithEventFilter (predicate .NewPredicateFuncs (func (object client.Object ) bool {
172- // match on node controller ref for all other events.
173- return metav1 .IsControlledBy (object , node )
174- })).
175- WithEventFilter (predicate.Funcs {
176- // check that the generation is the same iff IPAMv1 - status changes don't update generation.
171+ // check that the generation is the same if IPAMv1 - status changes don't update generation.
177172 UpdateFunc : func (ue event.UpdateEvent ) bool {
178173 if ue .ObjectOld == nil || ue .ObjectNew == nil {
179174 return false
180175 }
181176 // IPAMv2 is idempotent and can process every update event.
182- if cnsconfig != nil && cnsconfig . EnableIPAMv2 {
177+ if ipamV2Enabled {
183178 return true
184179 }
185180 return ue .ObjectOld .GetGeneration () == ue .ObjectNew .GetGeneration ()
186181 },
187182 }).
183+ WithEventFilter (predicate .NewPredicateFuncs (func (object client.Object ) bool {
184+ // match on node controller ref for all other events.
185+ return metav1 .IsControlledBy (object , node )
186+ })).
188187 WithEventFilter (predicate .NewPredicateFuncs (func (object client.Object ) bool {
189188 // only process events on objects that are not being deleted.
190189 return object .GetDeletionTimestamp ().IsZero ()
0 commit comments