@@ -357,14 +357,12 @@ func (r *ROSAMachinePoolReconciler) reconcileMachinePoolVersion(machinePoolScope
357
357
}
358
358
359
359
func (r * ROSAMachinePoolReconciler ) updateNodePool (machinePoolScope * scope.RosaMachinePoolScope , ocmClient * ocm.Client , nodePool * cmv1.NodePool ) (* cmv1.NodePool , error ) {
360
- desiredSpec := * machinePoolScope .RosaMachinePool .Spec .DeepCopy ()
361
- currentSpec := nodePoolToRosaMachinePoolSpec (nodePool )
360
+ machinePool := machinePoolScope .RosaMachinePool .DeepCopy ()
361
+ // default all fields before comparing, so that nil/unset fields don't cause an unnecessary update call.
362
+ machinePool .Default ()
362
363
363
- if desiredSpec .NodeDrainGracePeriod == nil {
364
- // currentSpec.NodeDrainGracePeriod is always non-nil.
365
- // if desiredSpec.NodeDrainGracePeriod is nil, set to 0 so we update the nodePool, otherewise the current value will be preserved.
366
- desiredSpec .NodeDrainGracePeriod = & metav1.Duration {}
367
- }
364
+ desiredSpec := machinePool .Spec
365
+ currentSpec := nodePoolToRosaMachinePoolSpec (nodePool )
368
366
369
367
ignoredFields := []string {
370
368
"ProviderIDList" , // providerIDList is set by the controller.
@@ -481,12 +479,12 @@ func nodePoolBuilder(rosaMachinePoolSpec expinfrav1.RosaMachinePoolSpec, machine
481
479
if rosaMachinePoolSpec .UpdateConfig != nil {
482
480
configMgmtBuilder := cmv1 .NewNodePoolManagementUpgrade ()
483
481
484
- if rosaMachinePoolSpec .UpdateConfig .RollingUpdate != nil {
485
- if rosaMachinePoolSpec . UpdateConfig . RollingUpdate .MaxSurge != nil {
486
- configMgmtBuilder = configMgmtBuilder .MaxSurge (rosaMachinePoolSpec . UpdateConfig . RollingUpdate .MaxSurge .String ())
482
+ if rollingUpdate := rosaMachinePoolSpec .UpdateConfig .RollingUpdate ; rollingUpdate != nil {
483
+ if rollingUpdate .MaxSurge != nil {
484
+ configMgmtBuilder = configMgmtBuilder .MaxSurge (rollingUpdate .MaxSurge .String ())
487
485
}
488
- if rosaMachinePoolSpec . UpdateConfig . RollingUpdate .MaxUnavailable != nil {
489
- configMgmtBuilder = configMgmtBuilder .MaxUnavailable (rosaMachinePoolSpec . UpdateConfig . RollingUpdate .MaxUnavailable .String ())
486
+ if rollingUpdate .MaxUnavailable != nil {
487
+ configMgmtBuilder = configMgmtBuilder .MaxUnavailable (rollingUpdate .MaxUnavailable .String ())
490
488
}
491
489
}
492
490
@@ -542,7 +540,7 @@ func nodePoolToRosaMachinePoolSpec(nodePool *cmv1.NodePool) expinfrav1.RosaMachi
542
540
spec .UpdateConfig .RollingUpdate .MaxSurge = ptr .To (intstr .Parse (nodePool .ManagementUpgrade ().MaxSurge ()))
543
541
}
544
542
if nodePool .ManagementUpgrade ().MaxUnavailable () != "" {
545
- spec .UpdateConfig .RollingUpdate .MaxSurge = ptr .To (intstr .Parse (nodePool .ManagementUpgrade ().MaxUnavailable ()))
543
+ spec .UpdateConfig .RollingUpdate .MaxUnavailable = ptr .To (intstr .Parse (nodePool .ManagementUpgrade ().MaxUnavailable ()))
546
544
}
547
545
}
548
546
0 commit comments