@@ -1008,6 +1008,7 @@ func TestMachineSetReconciler_syncMachines(t *testing.T) {
1008
1008
replicas := int32 (2 )
1009
1009
version := "v1.25.3"
1010
1010
duration10s := & metav1.Duration {Duration : 10 * time .Second }
1011
+ duration11s := & metav1.Duration {Duration : 11 * time .Second }
1011
1012
ms := & clusterv1.MachineSet {
1012
1013
ObjectMeta : metav1.ObjectMeta {
1013
1014
UID : "abc-123-ms-uid" ,
@@ -1347,6 +1348,30 @@ func TestMachineSetReconciler_syncMachines(t *testing.T) {
1347
1348
g .Expect (updatedDeletingMachine .Spec .NodeDeletionTimeout ).Should (Equal (deletingMachine .Spec .NodeDeletionTimeout ))
1348
1349
g .Expect (updatedDeletingMachine .Spec .NodeVolumeDetachTimeout ).Should (Equal (deletingMachine .Spec .NodeVolumeDetachTimeout ))
1349
1350
}, 5 * time .Second ).Should (Succeed ())
1351
+
1352
+ // Verify in-place mutable fields are updated on the deleting machine
1353
+ ms .Spec .Template .Spec .NodeDrainTimeout = duration11s
1354
+ ms .Spec .Template .Spec .NodeDeletionTimeout = duration11s
1355
+ ms .Spec .Template .Spec .NodeVolumeDetachTimeout = duration11s
1356
+ g .Expect (reconciler .syncMachines (ctx , ms , []* clusterv1.Machine {updatedInPlaceMutatingMachine , deletingMachine })).To (Succeed ())
1357
+ updatedDeletingMachine := deletingMachine .DeepCopy ()
1358
+
1359
+ g .Eventually (func (g Gomega ) {
1360
+ g .Expect (env .GetAPIReader ().Get (ctx , client .ObjectKeyFromObject (updatedDeletingMachine ), updatedDeletingMachine )).To (Succeed ())
1361
+ // Verify Node timeout values
1362
+ g .Expect (updatedDeletingMachine .Spec .NodeDrainTimeout ).Should (And (
1363
+ Not (BeNil ()),
1364
+ HaveValue (Equal (* ms .Spec .Template .Spec .NodeDrainTimeout )),
1365
+ ))
1366
+ g .Expect (updatedDeletingMachine .Spec .NodeDeletionTimeout ).Should (And (
1367
+ Not (BeNil ()),
1368
+ HaveValue (Equal (* ms .Spec .Template .Spec .NodeDeletionTimeout )),
1369
+ ))
1370
+ g .Expect (updatedDeletingMachine .Spec .NodeVolumeDetachTimeout ).Should (And (
1371
+ Not (BeNil ()),
1372
+ HaveValue (Equal (* ms .Spec .Template .Spec .NodeVolumeDetachTimeout )),
1373
+ ))
1374
+ }, timeout ).Should (Succeed ())
1350
1375
}
1351
1376
1352
1377
func TestMachineSetReconciler_reconcileUnhealthyMachines (t * testing.T ) {
0 commit comments