Skip to content

Commit dd3e680

Browse files
committed
getConfigutedEnvVars should return copies of V1EnvVars
1 parent f684fc7 commit dd3e680

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import io.kubernetes.client.models.V1PodList;
1212
import io.kubernetes.client.models.V1Volume;
1313
import io.kubernetes.client.models.V1VolumeMount;
14-
import java.util.ArrayList;
1514
import java.util.List;
1615
import java.util.Map;
1716
import java.util.concurrent.atomic.AtomicBoolean;
@@ -98,7 +97,7 @@ protected List<V1VolumeMount> getAdditionalVolumeMounts() {
9897
List<V1EnvVar> getConfiguredEnvVars(TuningParameters tuningParameters) {
9998
// Pod for introspector job would use same environment variables as for admin server
10099
List<V1EnvVar> vars =
101-
new ArrayList<>(getDomain().getAdminServerSpec().getEnvironmentVariables());
100+
PodHelper.createCopy(getDomain().getAdminServerSpec().getEnvironmentVariables());
102101

103102
addEnvVar(vars, "NAMESPACE", getNamespace());
104103
addEnvVar(vars, "DOMAIN_UID", getDomainUID());

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ protected V1PodSpec createSpec(TuningParameters tuningParameters) {
116116

117117
@Override
118118
List<V1EnvVar> getConfiguredEnvVars(TuningParameters tuningParameters) {
119-
List<V1EnvVar> vars = new ArrayList<>(getServerSpec().getEnvironmentVariables());
119+
List<V1EnvVar> vars = createCopy(getServerSpec().getEnvironmentVariables());
120120
overrideContainerWeblogicEnvVars(vars);
121121
return vars;
122122
}
@@ -288,7 +288,7 @@ protected List<String> getContainerCommand() {
288288
@Override
289289
@SuppressWarnings("unchecked")
290290
List<V1EnvVar> getConfiguredEnvVars(TuningParameters tuningParameters) {
291-
List<V1EnvVar> envVars = (List<V1EnvVar>) packet.get(ProcessingConstants.ENVVARS);
291+
List<V1EnvVar> envVars = createCopy((List<V1EnvVar>) packet.get(ProcessingConstants.ENVVARS));
292292

293293
List<V1EnvVar> vars = new ArrayList<>();
294294
if (envVars != null) {
@@ -355,4 +355,14 @@ private Step deletePod(String name, String namespace, Step next) {
355355
.deletePodAsync(name, namespace, deleteOptions, new DefaultResponseStep<>(next));
356356
}
357357
}
358+
359+
public static List<V1EnvVar> createCopy(List<V1EnvVar> envVars) {
360+
ArrayList<V1EnvVar> copy = new ArrayList<>();
361+
if (envVars != null) {
362+
for (V1EnvVar envVar : envVars) {
363+
copy.add(new V1EnvVar().name(envVar.getName()).value(envVar.getValue()));
364+
}
365+
}
366+
return copy;
367+
}
358368
}

0 commit comments

Comments
 (0)