Skip to content

Commit 84614f7

Browse files
committed
Test for changes in volumes, volumeMounts, labels, annotations, and image pull secrets
1 parent 75d65c9 commit 84614f7

File tree

6 files changed

+361
-192
lines changed

6 files changed

+361
-192
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
// Copyright 2018, Oracle Corporation and/or its affiliates. All rights reserved.
2+
// Licensed under the Universal Permissive License v 1.0 as shown at
3+
// http://oss.oracle.com/licenses/upl.
4+
5+
package oracle.kubernetes.operator.helpers;
6+
7+
import static oracle.kubernetes.operator.KubernetesConstants.*;
8+
import static oracle.kubernetes.operator.helpers.StepContextConstants.*;
9+
10+
import io.kubernetes.client.models.V1ConfigMapVolumeSource;
11+
import io.kubernetes.client.models.V1Volume;
12+
import io.kubernetes.client.models.V1VolumeMount;
13+
import java.util.ArrayList;
14+
import java.util.List;
15+
16+
class PodDefaults {
17+
static final String K8S_SERVICE_ACCOUNT_MOUNT_PATH =
18+
"/var/run/secrets/kubernetes.io/serviceaccount";
19+
20+
static List<V1Volume> getStandardVolumes(String domainUID) {
21+
List<V1Volume> volumes = new ArrayList<>();
22+
volumes.add(createScriptsVolume());
23+
volumes.add(createDebugCMVolume(domainUID));
24+
volumes.add(createSitConfigVolume(domainUID));
25+
return volumes;
26+
}
27+
28+
private static V1Volume createScriptsVolume() {
29+
return createVolume(SCRIPTS_VOLUME, DOMAIN_CONFIG_MAP_NAME);
30+
}
31+
32+
private static V1Volume createVolume(String volumeName, String configMapName) {
33+
return new V1Volume()
34+
.name(volumeName)
35+
.configMap(
36+
new V1ConfigMapVolumeSource().name(configMapName).defaultMode(ALL_READ_AND_EXECUTE));
37+
}
38+
39+
private static V1Volume createDebugCMVolume(String domainUID) {
40+
V1Volume volume = createVolume(DEBUG_CM_VOLUME, domainUID + DOMAIN_DEBUG_CONFIG_MAP_SUFFIX);
41+
volume.getConfigMap().setOptional(true);
42+
return volume;
43+
}
44+
45+
private static V1Volume createSitConfigVolume(String domainUID) {
46+
return createVolume(getSitConfigMapVolumeName(domainUID), getConfigMapName(domainUID));
47+
}
48+
49+
private static String getSitConfigMapVolumeName(String domainUID) {
50+
return domainUID + SIT_CONFIG_MAP_VOLUME_SUFFIX;
51+
}
52+
53+
private static String getConfigMapName(String domainUID) {
54+
return domainUID + INTROSPECTOR_CONFIG_MAP_NAME_SUFFIX;
55+
}
56+
57+
static List<V1VolumeMount> getStandardVolumeMounts(String domainUID) {
58+
List<V1VolumeMount> mounts = new ArrayList<>();
59+
mounts.add(createScriptsVolumeMount());
60+
mounts.add(createDebugCMVolumeMount());
61+
mounts.add(createSitConfigVolumeMount(domainUID));
62+
return mounts;
63+
}
64+
65+
private static V1VolumeMount createScriptsVolumeMount() {
66+
return readOnlyVolumeMount(SCRIPTS_VOLUME, SCRIPTS_MOUNTS_PATH);
67+
}
68+
69+
private static V1VolumeMount createDebugCMVolumeMount() {
70+
return readOnlyVolumeMount(DEBUG_CM_VOLUME, DEBUG_CM_MOUNTS_PATH);
71+
}
72+
73+
private static V1VolumeMount createSitConfigVolumeMount(String domainUID) {
74+
return volumeMount(getSitConfigMapVolumeName(domainUID), "/weblogic-operator/introspector");
75+
}
76+
77+
private static V1VolumeMount readOnlyVolumeMount(String volumeName, String mountPath) {
78+
return volumeMount(volumeName, mountPath).readOnly(true);
79+
}
80+
81+
private static V1VolumeMount volumeMount(String volumeName, String mountPath) {
82+
return new V1VolumeMount().name(volumeName).mountPath(mountPath);
83+
}
84+
}

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

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,11 @@
44

55
package oracle.kubernetes.operator.helpers;
66

7-
import io.kubernetes.client.models.V1DeleteOptions;
8-
import io.kubernetes.client.models.V1EnvVar;
9-
import io.kubernetes.client.models.V1ObjectMeta;
10-
import io.kubernetes.client.models.V1Pod;
11-
import io.kubernetes.client.models.V1PodSpec;
12-
import io.kubernetes.client.models.V1Volume;
13-
import io.kubernetes.client.models.V1VolumeMount;
7+
import io.kubernetes.client.models.*;
148
import java.util.ArrayList;
159
import java.util.List;
1610
import java.util.Map;
17-
import oracle.kubernetes.operator.DomainStatusUpdater;
18-
import oracle.kubernetes.operator.LabelConstants;
19-
import oracle.kubernetes.operator.PodAwaiterStepFactory;
20-
import oracle.kubernetes.operator.ProcessingConstants;
21-
import oracle.kubernetes.operator.TuningParameters;
11+
import oracle.kubernetes.operator.*;
2212
import oracle.kubernetes.operator.logging.MessageKeys;
2313
import oracle.kubernetes.operator.steps.DefaultResponseStep;
2414
import oracle.kubernetes.operator.wlsconfig.WlsServerConfig;
@@ -28,7 +18,6 @@
2818
import oracle.kubernetes.operator.work.Step;
2919
import oracle.kubernetes.weblogic.domain.v2.ServerSpec;
3020

31-
@SuppressWarnings("deprecation")
3221
public class PodHelper {
3322

3423
private PodHelper() {}
@@ -97,16 +86,6 @@ List<V1EnvVar> getEnvironmentVariables(TuningParameters tuningParameters) {
9786
return vars;
9887
}
9988

100-
@Override
101-
protected List<V1Volume> getAdditionalVolumes() {
102-
return getServerSpec().getAdditionalVolumes();
103-
}
104-
105-
@Override
106-
protected List<V1VolumeMount> getAdditionalVolumeMounts() {
107-
return getServerSpec().getAdditionalVolumeMounts();
108-
}
109-
11089
@Override
11190
protected Map<String, String> getPodLabels() {
11291
return getServerSpec().getPodLabels();
@@ -265,8 +244,7 @@ private String getClusterName() {
265244

266245
@Override
267246
protected List<String> getContainerCommand() {
268-
List<String> command = new ArrayList<>(super.getContainerCommand());
269-
return command;
247+
return new ArrayList<>(super.getContainerCommand());
270248
}
271249

272250
@Override
@@ -282,16 +260,6 @@ List<V1EnvVar> getEnvironmentVariables(TuningParameters tuningParameters) {
282260
doSubstitution(vars);
283261
return vars;
284262
}
285-
286-
@Override
287-
protected List<V1Volume> getAdditionalVolumes() {
288-
return getServerSpec().getAdditionalVolumes();
289-
}
290-
291-
@Override
292-
protected List<V1VolumeMount> getAdditionalVolumeMounts() {
293-
return getServerSpec().getAdditionalVolumeMounts();
294-
}
295263
}
296264

297265
static class ManagedPodStep extends Step {

0 commit comments

Comments
 (0)