4
4
import java .io .File ;
5
5
import java .util .Arrays ;
6
6
import java .util .List ;
7
+ import java .util .Optional ;
7
8
import oracle .kubernetes .operator .KubernetesConstants ;
8
9
import oracle .kubernetes .operator .LabelConstants ;
9
10
import oracle .kubernetes .operator .ProcessingConstants ;
@@ -70,8 +71,13 @@ private List<V1PersistentVolumeClaim> getClaims() {
70
71
return info .getClaims ().getItems ();
71
72
}
72
73
74
+ private String getDiscoveredClaim () {
75
+ return getClaims ().isEmpty () ? null : getClaims ().iterator ().next ().getMetadata ().getName ();
76
+ }
77
+
73
78
private String getClaimName () {
74
- return getClaims ().iterator ().next ().getMetadata ().getName ();
79
+ return Optional .ofNullable (info .getDomain ().getPersistentVolumeClaimName ())
80
+ .orElse (getDiscoveredClaim ());
75
81
}
76
82
77
83
// ----------------------- step methods ------------------------------
@@ -208,7 +214,7 @@ private V1PodSpec createPodSpec(TuningParameters tuningParameters) {
208
214
209
215
podSpec .setImagePullSecrets (info .getDomain ().getSpec ().getImagePullSecrets ());
210
216
211
- if (! getClaims (). isEmpty () ) {
217
+ if (getClaimName () != null ) {
212
218
podSpec .addVolumesItem (
213
219
new V1Volume ()
214
220
.name (STORAGE_VOLUME )
@@ -222,10 +228,12 @@ private V1PodSpec createPodSpec(TuningParameters tuningParameters) {
222
228
.name (secretName + "-volume" )
223
229
.secret (getOverrideSecretVolumeSource (secretName )));
224
230
}
225
- podSpec .addVolumesItem (
226
- new V1Volume ()
227
- .name (getConfigOverrides () + "-volume" )
228
- .configMap (getOverridesVolumeSource (getConfigOverrides ())));
231
+ if (getConfigOverrides () != null && getConfigOverrides ().length () > 0 ) {
232
+ podSpec .addVolumesItem (
233
+ new V1Volume ()
234
+ .name (getConfigOverrides () + "-volume" )
235
+ .configMap (getOverridesVolumeSource (getConfigOverrides ())));
236
+ }
229
237
230
238
return podSpec ;
231
239
}
@@ -239,11 +247,14 @@ private V1Container createContainer(TuningParameters tuningParameters) {
239
247
.command (getContainerCommand ())
240
248
.env (getEnvironmentVariables (tuningParameters ))
241
249
.addVolumeMountsItem (volumeMount (STORAGE_VOLUME , STORAGE_MOUNT_PATH ))
242
- .addVolumeMountsItem (
243
- readOnlyVolumeMount (getConfigOverrides () + "-volume" , OVERRIDES_CM_MOUNT_PATH ))
244
250
.addVolumeMountsItem (readOnlyVolumeMount (SECRETS_VOLUME , SECRETS_MOUNT_PATH ))
245
251
.addVolumeMountsItem (readOnlyVolumeMount (SCRIPTS_VOLUME , SCRIPTS_MOUNTS_PATH ));
246
252
253
+ if (getConfigOverrides () != null && getConfigOverrides ().length () > 0 ) {
254
+ container .addVolumeMountsItem (
255
+ readOnlyVolumeMount (getConfigOverrides () + "-volume" , OVERRIDES_CM_MOUNT_PATH ));
256
+ }
257
+
247
258
List <String > configOverrideSecrets = getConfigOverrideSecrets ();
248
259
for (String secretName : configOverrideSecrets ) {
249
260
container .addVolumeMountsItem (
0 commit comments