Skip to content

Commit 88786ee

Browse files
committed
Not clobber the entire DeploymentConfig fields when setting overrides
1 parent 6878ebf commit 88786ee

File tree

1 file changed

+75
-30
lines changed

1 file changed

+75
-30
lines changed

test/e2e/utils_test.go

Lines changed: 75 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -205,17 +205,26 @@ func addOverrideArgs(client *certmanoperatorclient.Clientset, deploymentName str
205205

206206
switch deploymentName {
207207
case certmanagerControllerDeployment:
208-
updatedOperator.Spec.ControllerConfig = &v1alpha1.DeploymentConfig{
209-
OverrideArgs: args,
208+
cfg := updatedOperator.Spec.ControllerConfig
209+
if cfg == nil {
210+
cfg = &v1alpha1.DeploymentConfig{}
210211
}
212+
cfg.OverrideArgs = args
213+
updatedOperator.Spec.ControllerConfig = cfg
211214
case certmanagerWebhookDeployment:
212-
updatedOperator.Spec.WebhookConfig = &v1alpha1.DeploymentConfig{
213-
OverrideArgs: args,
215+
cfg := updatedOperator.Spec.WebhookConfig
216+
if cfg == nil {
217+
cfg = &v1alpha1.DeploymentConfig{}
214218
}
219+
cfg.OverrideArgs = args
220+
updatedOperator.Spec.WebhookConfig = cfg
215221
case certmanagerCAinjectorDeployment:
216-
updatedOperator.Spec.CAInjectorConfig = &v1alpha1.DeploymentConfig{
217-
OverrideArgs: args,
222+
cfg := updatedOperator.Spec.CAInjectorConfig
223+
if cfg == nil {
224+
cfg = &v1alpha1.DeploymentConfig{}
218225
}
226+
cfg.OverrideArgs = args
227+
updatedOperator.Spec.CAInjectorConfig = cfg
219228
default:
220229
return fmt.Errorf("unsupported deployment name: %s", deploymentName)
221230
}
@@ -272,17 +281,26 @@ func addOverrideEnv(client *certmanoperatorclient.Clientset, deploymentName stri
272281

273282
switch deploymentName {
274283
case certmanagerControllerDeployment:
275-
updatedOperator.Spec.ControllerConfig = &v1alpha1.DeploymentConfig{
276-
OverrideEnv: env,
284+
cfg := updatedOperator.Spec.ControllerConfig
285+
if cfg == nil {
286+
cfg = &v1alpha1.DeploymentConfig{}
277287
}
288+
cfg.OverrideEnv = env
289+
updatedOperator.Spec.ControllerConfig = cfg
278290
case certmanagerWebhookDeployment:
279-
updatedOperator.Spec.WebhookConfig = &v1alpha1.DeploymentConfig{
280-
OverrideEnv: env,
291+
cfg := updatedOperator.Spec.WebhookConfig
292+
if cfg == nil {
293+
cfg = &v1alpha1.DeploymentConfig{}
281294
}
295+
cfg.OverrideEnv = env
296+
updatedOperator.Spec.WebhookConfig = cfg
282297
case certmanagerCAinjectorDeployment:
283-
updatedOperator.Spec.CAInjectorConfig = &v1alpha1.DeploymentConfig{
284-
OverrideEnv: env,
298+
cfg := updatedOperator.Spec.CAInjectorConfig
299+
if cfg == nil {
300+
cfg = &v1alpha1.DeploymentConfig{}
285301
}
302+
cfg.OverrideEnv = env
303+
updatedOperator.Spec.CAInjectorConfig = cfg
286304
default:
287305
return fmt.Errorf("unsupported deployment name: %s", deploymentName)
288306
}
@@ -339,17 +357,26 @@ func addOverrideResources(client *certmanoperatorclient.Clientset, deploymentNam
339357

340358
switch deploymentName {
341359
case certmanagerControllerDeployment:
342-
updatedOperator.Spec.ControllerConfig = &v1alpha1.DeploymentConfig{
343-
OverrideResources: res,
360+
cfg := updatedOperator.Spec.ControllerConfig
361+
if cfg == nil {
362+
cfg = &v1alpha1.DeploymentConfig{}
344363
}
364+
cfg.OverrideResources = res
365+
updatedOperator.Spec.ControllerConfig = cfg
345366
case certmanagerWebhookDeployment:
346-
updatedOperator.Spec.WebhookConfig = &v1alpha1.DeploymentConfig{
347-
OverrideResources: res,
367+
cfg := updatedOperator.Spec.WebhookConfig
368+
if cfg == nil {
369+
cfg = &v1alpha1.DeploymentConfig{}
348370
}
371+
cfg.OverrideResources = res
372+
updatedOperator.Spec.WebhookConfig = cfg
349373
case certmanagerCAinjectorDeployment:
350-
updatedOperator.Spec.CAInjectorConfig = &v1alpha1.DeploymentConfig{
351-
OverrideResources: res,
374+
cfg := updatedOperator.Spec.CAInjectorConfig
375+
if cfg == nil {
376+
cfg = &v1alpha1.DeploymentConfig{}
352377
}
378+
cfg.OverrideResources = res
379+
updatedOperator.Spec.CAInjectorConfig = cfg
353380
default:
354381
return fmt.Errorf("unsupported deployment name: %s", deploymentName)
355382
}
@@ -410,17 +437,26 @@ func addOverrideScheduling(client *certmanoperatorclient.Clientset, deploymentNa
410437

411438
switch deploymentName {
412439
case certmanagerControllerDeployment:
413-
updatedOperator.Spec.ControllerConfig = &v1alpha1.DeploymentConfig{
414-
OverrideScheduling: res,
440+
cfg := updatedOperator.Spec.ControllerConfig
441+
if cfg == nil {
442+
cfg = &v1alpha1.DeploymentConfig{}
415443
}
444+
cfg.OverrideScheduling = res
445+
updatedOperator.Spec.ControllerConfig = cfg
416446
case certmanagerWebhookDeployment:
417-
updatedOperator.Spec.WebhookConfig = &v1alpha1.DeploymentConfig{
418-
OverrideScheduling: res,
447+
cfg := updatedOperator.Spec.WebhookConfig
448+
if cfg == nil {
449+
cfg = &v1alpha1.DeploymentConfig{}
419450
}
451+
cfg.OverrideScheduling = res
452+
updatedOperator.Spec.WebhookConfig = cfg
420453
case certmanagerCAinjectorDeployment:
421-
updatedOperator.Spec.CAInjectorConfig = &v1alpha1.DeploymentConfig{
422-
OverrideScheduling: res,
454+
cfg := updatedOperator.Spec.CAInjectorConfig
455+
if cfg == nil {
456+
cfg = &v1alpha1.DeploymentConfig{}
423457
}
458+
cfg.OverrideScheduling = res
459+
updatedOperator.Spec.CAInjectorConfig = cfg
424460
default:
425461
return fmt.Errorf("unsupported deployment name: %s", deploymentName)
426462
}
@@ -501,17 +537,26 @@ func addOverrideReplicas(client *certmanoperatorclient.Clientset, deploymentName
501537

502538
switch deploymentName {
503539
case certmanagerControllerDeployment:
504-
updatedOperator.Spec.ControllerConfig = &v1alpha1.DeploymentConfig{
505-
OverrideReplicas: replicas,
540+
cfg := updatedOperator.Spec.ControllerConfig
541+
if cfg == nil {
542+
cfg = &v1alpha1.DeploymentConfig{}
506543
}
544+
cfg.OverrideReplicas = replicas
545+
updatedOperator.Spec.ControllerConfig = cfg
507546
case certmanagerWebhookDeployment:
508-
updatedOperator.Spec.WebhookConfig = &v1alpha1.DeploymentConfig{
509-
OverrideReplicas: replicas,
547+
cfg := updatedOperator.Spec.WebhookConfig
548+
if cfg == nil {
549+
cfg = &v1alpha1.DeploymentConfig{}
510550
}
551+
cfg.OverrideReplicas = replicas
552+
updatedOperator.Spec.WebhookConfig = cfg
511553
case certmanagerCAinjectorDeployment:
512-
updatedOperator.Spec.CAInjectorConfig = &v1alpha1.DeploymentConfig{
513-
OverrideReplicas: replicas,
554+
cfg := updatedOperator.Spec.CAInjectorConfig
555+
if cfg == nil {
556+
cfg = &v1alpha1.DeploymentConfig{}
514557
}
558+
cfg.OverrideReplicas = replicas
559+
updatedOperator.Spec.CAInjectorConfig = cfg
515560
default:
516561
return fmt.Errorf("unsupported deployment name: %s", deploymentName)
517562
}

0 commit comments

Comments
 (0)