Skip to content

Commit 5a14fc7

Browse files
authored
Merge pull request #589 from oracle/introspector-dhii-nopv
OWLS-70492 Domain-in-image use case does not work
2 parents 54fd132 + b6e3b86 commit 5a14fc7

File tree

5 files changed

+50
-5
lines changed

5 files changed

+50
-5
lines changed

model/src/main/java/oracle/kubernetes/weblogic/domain/v2/DomainSpec.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,11 @@ public void setDomainHomeInImage(boolean domainHomeInImage) {
482482
this.domainHomeInImage = domainHomeInImage;
483483
}
484484

485+
public DomainSpec withDomainHomeInImage(boolean domainHomeInImage) {
486+
setDomainHomeInImage(domainHomeInImage);
487+
return this;
488+
}
489+
485490
/**
486491
* The desired number of running managed servers in each WebLogic cluster that is not explicitly
487492
* configured in clusters.

operator/src/main/java/oracle/kubernetes/operator/helpers/JobStepContext.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,6 @@ private V1PodSpec createPodSpec(TuningParameters tuningParameters) {
209209
new V1Volume().name(SCRIPTS_VOLUME).configMap(getConfigMapVolumeSource()));
210210

211211
podSpec.setImagePullSecrets(info.getDomain().getSpec().getImagePullSecrets());
212-
213212
if (getClaimName() != null) {
214213
podSpec.addVolumesItem(
215214
new V1Volume()
@@ -242,10 +241,13 @@ private V1Container createContainer(TuningParameters tuningParameters) {
242241
.imagePullPolicy(getImagePullPolicy())
243242
.command(getContainerCommand())
244243
.env(getEnvironmentVariables(tuningParameters))
245-
.addVolumeMountsItem(volumeMount(STORAGE_VOLUME, STORAGE_MOUNT_PATH))
246244
.addVolumeMountsItem(readOnlyVolumeMount(SECRETS_VOLUME, SECRETS_MOUNT_PATH))
247245
.addVolumeMountsItem(readOnlyVolumeMount(SCRIPTS_VOLUME, SCRIPTS_MOUNTS_PATH));
248246

247+
if (getClaimName() != null) {
248+
container.addVolumeMountsItem(volumeMount(STORAGE_VOLUME, STORAGE_MOUNT_PATH));
249+
}
250+
249251
if (getConfigOverrides() != null && getConfigOverrides().length() > 0) {
250252
container.addVolumeMountsItem(
251253
readOnlyVolumeMount(getConfigOverrides() + "-volume", OVERRIDES_CM_MOUNT_PATH));
@@ -278,7 +280,7 @@ protected List<String> getContainerCommand() {
278280
abstract List<V1EnvVar> getEnvironmentVariables(TuningParameters tuningParameters);
279281

280282
protected String getDomainHome() {
281-
return "/shared/domains/" + getDomainUID();
283+
return getDomain().getDomainHome();
282284
}
283285

284286
static void addEnvVar(List<V1EnvVar> vars, String name, String value) {

operator/src/main/java/oracle/kubernetes/operator/helpers/PodStepContext.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -659,12 +659,15 @@ private V1Container createContainer(TuningParameters tuningParameters) {
659659
.env(getEnvironmentVariables(tuningParameters))
660660
.addPortsItem(new V1ContainerPort().containerPort(getPort()).protocol("TCP"))
661661
.lifecycle(createLifecycle())
662-
.addVolumeMountsItem(volumeMount(STORAGE_VOLUME, STORAGE_MOUNT_PATH))
663662
.addVolumeMountsItem(readOnlyVolumeMount(SECRETS_VOLUME, SECRETS_MOUNT_PATH))
664663
.addVolumeMountsItem(readOnlyVolumeMount(SCRIPTS_VOLUME, SCRIPTS_MOUNTS_PATH))
665664
.addVolumeMountsItem(readOnlyVolumeMount(DEBUG_CM_VOLUME, DEBUG_CM_MOUNTS_PATH))
666665
.livenessProbe(createLivenessProbe(tuningParameters.getPodTuning()));
667666

667+
if (getClaimName() != null) {
668+
v1Container.addVolumeMountsItem(volumeMount(STORAGE_VOLUME, STORAGE_MOUNT_PATH));
669+
}
670+
668671
if (!mockWLS()) {
669672
v1Container.readinessProbe(createReadinessProbe(tuningParameters.getPodTuning()));
670673
}

operator/src/test/java/oracle/kubernetes/operator/helpers/DomainIntrospectorJobTest.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,8 @@ private DomainSpec createDomainSpec() {
170170
.withAdminSecret(new V1SecretReference().name(ADMIN_SECRET_NAME))
171171
.withConfigOverrides(OVERRIDES_CM)
172172
.withCluster(cluster)
173-
.withImage(LATEST_IMAGE);
173+
.withImage(LATEST_IMAGE)
174+
.withDomainHomeInImage(false);
174175

175176
List<String> overrideSecrets = new ArrayList();
176177
overrideSecrets.add(OVERRIDE_SECRET_1);
@@ -227,6 +228,10 @@ public void whenJobCreated_specHasOneContainer() {
227228

228229
@Test
229230
public void whenJobCreated_containerHasExpectedVolumeMounts() {
231+
domainPresenceInfo
232+
.getClaims()
233+
.addItemsItem(
234+
new V1PersistentVolumeClaim().metadata(new V1ObjectMeta().name("claim-name")));
230235
assertThat(
231236
getCreatedJobSpecContainer().getVolumeMounts(),
232237
containsInAnyOrder(
@@ -238,6 +243,19 @@ public void whenJobCreated_containerHasExpectedVolumeMounts() {
238243
readOnlyVolumeMount(OVERRIDE_SECRET_2 + "-volume", OVERRIDE_SECRETS_MOUNT_PATH)));
239244
}
240245

246+
@Test
247+
public void whenJobCreated_withNoPVC_containerHasExpectedVolumeMounts() {
248+
domainPresenceInfo.getClaims().getItems().clear();
249+
assertThat(
250+
getCreatedJobSpecContainer().getVolumeMounts(),
251+
containsInAnyOrder(
252+
readOnlyVolumeMount(SECRETS_VOLUME, SECRETS_MOUNT_PATH),
253+
readOnlyVolumeMount(SCRIPTS_VOLUME, SCRIPTS_MOUNTS_PATH),
254+
readOnlyVolumeMount(OVERRIDES_CM + "-volume", OVERRIDES_CM_MOUNT_PATH),
255+
readOnlyVolumeMount(OVERRIDE_SECRET_1 + "-volume", OVERRIDE_SECRETS_MOUNT_PATH),
256+
readOnlyVolumeMount(OVERRIDE_SECRET_2 + "-volume", OVERRIDE_SECRETS_MOUNT_PATH)));
257+
}
258+
241259
@SuppressWarnings("unchecked")
242260
@Test
243261
public void whenJobCreated_hasPredefinedEnvVariables() {

operator/src/test/java/oracle/kubernetes/operator/helpers/PodHelperTestBase.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,10 @@ public void whenPodCreatedWithPullSecret_addToPod() {
258258

259259
@Test
260260
public void whenPodCreated_containerHasExpectedVolumeMounts() {
261+
domainPresenceInfo
262+
.getClaims()
263+
.addItemsItem(
264+
new V1PersistentVolumeClaim().metadata(new V1ObjectMeta().name("claim-name")));
261265
assertThat(
262266
getCreatedPodSpecContainer().getVolumeMounts(),
263267
containsInAnyOrder(
@@ -269,6 +273,19 @@ public void whenPodCreated_containerHasExpectedVolumeMounts() {
269273
readOnlyVolumeMount("weblogic-domain-cm-volume", "/weblogic-operator/scripts")));
270274
}
271275

276+
@Test
277+
public void whenPodCreated_withNoPVC_containerHasExpectedVolumeMounts() {
278+
domainPresenceInfo.getClaims().getItems().clear();
279+
assertThat(
280+
getCreatedPodSpecContainer().getVolumeMounts(),
281+
containsInAnyOrder(
282+
writableVolumeMount(
283+
UID + SIT_CONFIG_MAP_VOLUME_SUFFIX, "/weblogic-operator/introspector"),
284+
readOnlyVolumeMount("weblogic-credentials-volume", "/weblogic-operator/secrets"),
285+
readOnlyVolumeMount("weblogic-domain-debug-cm-volume", "/weblogic-operator/debug"),
286+
readOnlyVolumeMount("weblogic-domain-cm-volume", "/weblogic-operator/scripts")));
287+
}
288+
272289
@Test
273290
public void whenPodCreated_lifecyclePreStopHasStopServerCommand() {
274291
assertThat(

0 commit comments

Comments
 (0)