Skip to content

Commit 28ee42e

Browse files
Fix sync update response - additional worker nodes config nil equals … (#2867)
Fix sync update response - additional worker nodes config nil equals empty list
1 parent b49185f commit 28ee42e

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

internal/broker/instance_update.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,8 @@ func (b *UpdateEndpoint) shouldSkipNewOperation(previousInstance, currentInstanc
484484
}
485485
// do not compare "Active" field
486486
previousInstance.Parameters.ErsContext.Active = currentInstance.Parameters.ErsContext.Active
487-
if !reflect.DeepEqual(previousInstance.Parameters, currentInstance.Parameters) {
487+
488+
if !previousInstance.Parameters.IsEqual(currentInstance.Parameters) {
488489
logger.Info("Parameters changed, cannot skip new operation")
489490

490491
if !reflect.DeepEqual(previousInstance.Parameters.ErsContext, currentInstance.Parameters.ErsContext) {

internal/broker/instance_update_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2442,6 +2442,16 @@ func TestUpdateWithoutOperation(t *testing.T) {
24422442
updateParameters: `{"machineType":"m5.xlarge", "foo":"bar"}`,
24432443
expectedSync: true,
24442444
},
2445+
"Update with additional worker node pool change": {
2446+
initialParameters: `{"machineType":"m5.xlarge","region":"eu-west-1", "additionalWorkerNodePools": []}`,
2447+
updateParameters: `{ "additionalWorkerNodePools": []}`,
2448+
expectedSync: true,
2449+
},
2450+
"Update with oidc": {
2451+
initialParameters: `{"machineType":"m5.xlarge","region":"eu-west-1", "oidc.list": []}`,
2452+
updateParameters: `{ "oidc.list": []}`,
2453+
expectedSync: true,
2454+
},
24452455
} {
24462456
t.Run(tn, func(t *testing.T) {
24472457
initialParams := pkg.ProvisioningParametersDTO{}

internal/dto.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,11 @@ func (p ProvisioningParameters) IsEqual(input ProvisioningParameters) bool {
3434
return false
3535
}
3636

37+
// empty list and nil does not make any difference
38+
if (p.Parameters.AdditionalWorkerNodePools == nil && len(input.Parameters.AdditionalWorkerNodePools) == 0) ||
39+
(input.Parameters.AdditionalWorkerNodePools == nil && len(p.Parameters.AdditionalWorkerNodePools) == 0) {
40+
p.Parameters.AdditionalWorkerNodePools = input.Parameters.AdditionalWorkerNodePools
41+
}
3742
p.Parameters.TargetSecret = nil
3843

3944
if !reflect.DeepEqual(p.Parameters, input.Parameters) {

0 commit comments

Comments
 (0)