@@ -60,6 +60,12 @@ public class DomainIntrospectorJobTest {
60
60
static final String LOG_HOME = "/shared/logs/" + UID ;
61
61
static final int FAILURE_THRESHOLD = 1 ;
62
62
63
+ static final String OVERRIDES_CM = "overrides-config-map" ;
64
+ static final String OVERRIDE_SECRET_1 = "override-secret-1" ;
65
+ static final String OVERRIDE_SECRET_2 = "override-secret-2" ;
66
+ static final String OVERRIDE_SECRETS_MOUNT_PATH = "/weblogic-operator/config-overrides-secrets" ;
67
+ static final String OVERRIDES_CM_MOUNT_PATH = "/weblogic-operator/config-overrides" ;
68
+
63
69
static final String READ_WRITE_MANY_ACCESS = "ReadWriteMany" ;
64
70
65
71
@ SuppressWarnings ("OctalInteger" )
@@ -150,13 +156,22 @@ private DomainPresenceInfo createDomainPresenceInfo(Domain domain) {
150
156
151
157
@ SuppressWarnings ("deprecation" )
152
158
private DomainSpec createDomainSpec () {
153
- return new DomainSpec ()
154
- .withDomainName (DOMAIN_NAME )
155
- .withDomainUID (UID )
156
- .withAsName (ADMIN_SERVER )
157
- .withAsPort (ADMIN_PORT )
158
- .withAdminSecret (new V1SecretReference ().name (ADMIN_SECRET_NAME ))
159
- .withImage (LATEST_IMAGE );
159
+ DomainSpec spec =
160
+ new DomainSpec ()
161
+ .withDomainName (DOMAIN_NAME )
162
+ .withDomainUID (UID )
163
+ .withAsName (ADMIN_SERVER )
164
+ .withAsPort (ADMIN_PORT )
165
+ .withAdminSecret (new V1SecretReference ().name (ADMIN_SECRET_NAME ))
166
+ .withConfigOverrides (OVERRIDES_CM )
167
+ .withImage (LATEST_IMAGE );
168
+
169
+ List <String > overrideSecrets = new ArrayList ();
170
+ overrideSecrets .add (OVERRIDE_SECRET_1 );
171
+ overrideSecrets .add (OVERRIDE_SECRET_2 );
172
+ spec .setConfigOverrideSecrets (overrideSecrets );
173
+
174
+ return spec ;
160
175
}
161
176
162
177
String getJobCreatedMessageKey () {
@@ -211,7 +226,10 @@ public void whenJobCreated_containerHasExpectedVolumeMounts() {
211
226
containsInAnyOrder (
212
227
volumeMount (STORAGE_VOLUME , STORAGE_MOUNT_PATH ),
213
228
readOnlyVolumeMount (SECRETS_VOLUME , SECRETS_MOUNT_PATH ),
214
- readOnlyVolumeMount (SCRIPTS_VOLUME , SCRIPTS_MOUNTS_PATH )));
229
+ readOnlyVolumeMount (SCRIPTS_VOLUME , SCRIPTS_MOUNTS_PATH ),
230
+ readOnlyVolumeMount (OVERRIDES_CM + "-volume" , OVERRIDES_CM_MOUNT_PATH ),
231
+ readOnlyVolumeMount (OVERRIDE_SECRET_1 + "-volume" , OVERRIDE_SECRETS_MOUNT_PATH ),
232
+ readOnlyVolumeMount (OVERRIDE_SECRET_2 + "-volume" , OVERRIDE_SECRETS_MOUNT_PATH )));
215
233
}
216
234
217
235
@ SuppressWarnings ("unchecked" )
@@ -353,19 +371,43 @@ private V1PodSpec createPodSpec(TuningParameters tuningParameters) {
353
371
.name (STORAGE_VOLUME )
354
372
.persistentVolumeClaim (getPersistenVolumeClaimVolumeSource (getClaimName ())));
355
373
}
374
+
375
+ List <String > configOverrideSecrets = getConfigOverrideSecrets ();
376
+ for (String secretName : configOverrideSecrets ) {
377
+ podSpec .addVolumesItem (
378
+ new V1Volume ()
379
+ .name (secretName + "-volume" )
380
+ .secret (getOverrideSecretVolumeSource (secretName )));
381
+ }
382
+ podSpec .addVolumesItem (
383
+ new V1Volume ()
384
+ .name (getConfigOverrides ())
385
+ .configMap (getOverridesVolumeSource (getConfigOverrides ())));
386
+
356
387
return podSpec ;
357
388
}
358
389
359
390
private V1Container createContainer (TuningParameters tuningParameters ) {
360
- return new V1Container ()
361
- .name (getJobName ())
362
- .image (getImageName ())
363
- .imagePullPolicy (getImagePullPolicy ())
364
- .command (getContainerCommand ())
365
- .env (getEnvironmentVariables (tuningParameters ))
366
- .addVolumeMountsItem (volumeMount (STORAGE_VOLUME , STORAGE_MOUNT_PATH ))
367
- .addVolumeMountsItem (readOnlyVolumeMount (SECRETS_VOLUME , SECRETS_MOUNT_PATH ))
368
- .addVolumeMountsItem (readOnlyVolumeMount (SCRIPTS_VOLUME , SCRIPTS_MOUNTS_PATH ));
391
+ V1Container container =
392
+ new V1Container ()
393
+ .name (getJobName ())
394
+ .image (getImageName ())
395
+ .imagePullPolicy (getImagePullPolicy ())
396
+ .command (getContainerCommand ())
397
+ .env (getEnvironmentVariables (tuningParameters ))
398
+ .addVolumeMountsItem (volumeMount (STORAGE_VOLUME , STORAGE_MOUNT_PATH ))
399
+ .addVolumeMountsItem (readOnlyVolumeMount (SECRETS_VOLUME , SECRETS_MOUNT_PATH ))
400
+ .addVolumeMountsItem (readOnlyVolumeMount (SCRIPTS_VOLUME , SCRIPTS_MOUNTS_PATH ));
401
+
402
+ List <String > configOverrideSecrets = getConfigOverrideSecrets ();
403
+ for (String secretName : configOverrideSecrets ) {
404
+ container .addVolumeMountsItem (
405
+ readOnlyVolumeMount (secretName + "-volume" , OVERRIDE_SECRETS_MOUNT_PATH ));
406
+ }
407
+ container .addVolumeMountsItem (
408
+ readOnlyVolumeMount (OVERRIDES_CM + "-volume" , OVERRIDES_CM_MOUNT_PATH ));
409
+
410
+ return container ;
369
411
}
370
412
371
413
String getImageName () {
@@ -419,6 +461,14 @@ private String getClaimName() {
419
461
return getClaims ().iterator ().next ().getMetadata ().getName ();
420
462
}
421
463
464
+ private List <String > getConfigOverrideSecrets () {
465
+ return domainPresenceInfo .getDomain ().getConfigOverrideSecrets ();
466
+ }
467
+
468
+ private String getConfigOverrides () {
469
+ return domainPresenceInfo .getDomain ().getConfigOverrides ();
470
+ }
471
+
422
472
private static V1VolumeMount readOnlyVolumeMount (String volumeName , String mountPath ) {
423
473
return volumeMount (volumeName , mountPath ).readOnly (true );
424
474
}
@@ -432,6 +482,14 @@ protected V1PersistentVolumeClaimVolumeSource getPersistenVolumeClaimVolumeSourc
432
482
return new V1PersistentVolumeClaimVolumeSource ().claimName (claimName );
433
483
}
434
484
485
+ protected V1SecretVolumeSource getOverrideSecretVolumeSource (String name ) {
486
+ return new V1SecretVolumeSource ().secretName (name ).defaultMode (420 );
487
+ }
488
+
489
+ protected V1ConfigMapVolumeSource getOverridesVolumeSource (String name ) {
490
+ return new V1ConfigMapVolumeSource ().name (name ).defaultMode (ALL_READ_AND_EXECUTE );
491
+ }
492
+
435
493
V1Job getCreatedJob () {
436
494
JobFetcher jobFetcher = new JobFetcher (getJobName ());
437
495
expectCreateJob (jobFetcher ).returning (createJobModel ());
0 commit comments