Skip to content

Commit 357f5a3

Browse files
committed
Changes to add kubernetesPlatform in the operator config map and added unit tests.
1 parent 568ac46 commit 357f5a3

File tree

11 files changed

+73
-15
lines changed

11 files changed

+73
-15
lines changed

kubernetes/charts/weblogic-operator/templates/_operator-cm.tpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ data:
4949
{{- if .tokenReviewAuthentication }}
5050
tokenReviewAuthentication: {{ .tokenReviewAuthentication | quote }}
5151
{{- end }}
52+
{{- if .kubernetesPlatform }}
53+
kubernetesPlatform: {{ .kubernetesPlatform | quote }}
54+
{{- end }}
5255
kind: "ConfigMap"
5356
metadata:
5457
labels:

operator/scripts/operator.sh

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,6 @@ if [ "${MOCK_WLS}" == 'true' ]; then
5959
MOCKING_WLS="-DmockWLS=true"
6060
fi
6161

62-
if [ ! -z "${KUBERNETES_PLATFORM}" ]; then
63-
PLATFORM="-DkubernetesPlatform=$KUBERNETES_PLATFORM"
64-
fi
65-
6662
LOGGING="-Djava.util.logging.config.file=${LOGGING_CONFIG}"
6763
mkdir -m 777 -p /logs
6864
cp /operator/logstash.conf /logs/logstash.conf
@@ -73,6 +69,6 @@ cp /operator/logstash.conf /logs/logstash.conf
7369
HEAP="-XshowSettings:vm"
7470

7571
# Start operator
76-
java $HEAP $MOCKING_WLS $DEBUG $LOGGING $PLATFORM -jar /operator/weblogic-kubernetes-operator.jar &
72+
java $HEAP $MOCKING_WLS $DEBUG $LOGGING -jar /operator/weblogic-kubernetes-operator.jar &
7773
PID=$!
7874
wait $PID

operator/src/main/java/oracle/kubernetes/operator/TuningParameters.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ static TuningParameters getInstance() {
3333

3434
FeatureGates getFeatureGates();
3535

36+
String getKubernetesPlatform();
37+
3638
class MainTuning {
3739
public final int initializationRetryDelaySeconds;
3840
public final int domainPresenceFailureRetrySeconds;

operator/src/main/java/oracle/kubernetes/operator/TuningParametersImpl.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import oracle.kubernetes.operator.logging.LoggingFactory;
1717
import oracle.kubernetes.operator.logging.MessageKeys;
1818

19+
import static oracle.kubernetes.operator.helpers.BasePodStepContext.KUBERNETES_PLATFORM_HELM_VARIABLE;
20+
1921
public class TuningParametersImpl extends ConfigMapConsumer implements TuningParameters {
2022
public static final int DEFAULT_CALL_LIMIT = 50;
2123

@@ -28,6 +30,7 @@ public class TuningParametersImpl extends ConfigMapConsumer implements TuningPar
2830
private WatchTuning watch = null;
2931
private PodTuning pod = null;
3032
private FeatureGates featureGates = null;
33+
private String kubernetesPlatform = null;
3134

3235
private TuningParametersImpl(ScheduledExecutorService executorService) {
3336
super(executorService);
@@ -95,6 +98,8 @@ private void update() {
9598
FeatureGates featureGates =
9699
new FeatureGates(generateFeatureGates(get("featureGates")));
97100

101+
String kubernetesPlatform = get(KUBERNETES_PLATFORM_HELM_VARIABLE);
102+
98103
lock.writeLock().lock();
99104
try {
100105
if (!main.equals(this.main)
@@ -109,6 +114,7 @@ private void update() {
109114
this.watch = watch;
110115
this.pod = pod;
111116
this.featureGates = featureGates;
117+
this.kubernetesPlatform = kubernetesPlatform;
112118
} finally {
113119
lock.writeLock().unlock();
114120
}
@@ -175,4 +181,14 @@ public FeatureGates getFeatureGates() {
175181
lock.readLock().unlock();
176182
}
177183
}
184+
185+
@Override
186+
public String getKubernetesPlatform() {
187+
lock.readLock().lock();
188+
try {
189+
return kubernetesPlatform;
190+
} finally {
191+
lock.readLock().unlock();
192+
}
193+
}
178194
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
public abstract class BasePodStepContext extends StepContextBase {
4141

42-
public static final String KUBERNETES_PLATFORM_SYSTEM_PROPERTY = "kubernetesPlatform";
42+
public static final String KUBERNETES_PLATFORM_HELM_VARIABLE = "kubernetesPlatform";
4343

4444
BasePodStepContext(DomainPresenceInfo info) {
4545
super(info);

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ List<V1EnvVar> getConfiguredEnvVars(TuningParameters tuningParameters) {
325325
addEnvVar(vars, IntrospectorJobEnvVars.ISTIO_ENABLED, Boolean.toString(isIstioEnabled()));
326326
addEnvVar(vars, IntrospectorJobEnvVars.ADMIN_CHANNEL_PORT_FORWARDING_ENABLED,
327327
Boolean.toString(isAdminChannelPortForwardingEnabled(getDomain().getSpec())));
328-
Optional.ofNullable(getKubernetesPlatform())
328+
Optional.ofNullable(getKubernetesPlatform(tuningParameters))
329329
.ifPresent(v -> addEnvVar(vars, ServerEnvVars.KUBERNETES_PLATFORM, v));
330330

331331
addEnvVar(vars, IntrospectorJobEnvVars.ISTIO_READINESS_PORT, Integer.toString(getIstioReadinessPort()));
@@ -394,8 +394,8 @@ List<V1EnvVar> getConfiguredEnvVars(TuningParameters tuningParameters) {
394394
return vars;
395395
}
396396

397-
private String getKubernetesPlatform() {
398-
return System.getProperty(KUBERNETES_PLATFORM_SYSTEM_PROPERTY);
397+
private String getKubernetesPlatform(TuningParameters tuningParameters) {
398+
return tuningParameters.getKubernetesPlatform();
399399
}
400400

401401
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ protected V1PodSpec createSpec(TuningParameters tuningParameters) {
365365
@Override
366366
List<V1EnvVar> getConfiguredEnvVars(TuningParameters tuningParameters) {
367367
List<V1EnvVar> vars = createCopy(getServerSpec().getEnvironmentVariables());
368-
addStartupEnvVars(vars);
368+
addStartupEnvVars(vars, tuningParameters);
369369
return vars;
370370
}
371371

@@ -526,7 +526,7 @@ List<V1EnvVar> getConfiguredEnvVars(TuningParameters tuningParameters) {
526526
List<V1EnvVar> envVars = createCopy((List<V1EnvVar>) packet.get(ProcessingConstants.ENVVARS));
527527

528528
List<V1EnvVar> vars = new ArrayList<>(envVars);
529-
addStartupEnvVars(vars);
529+
addStartupEnvVars(vars, tuningParameters);
530530
return vars;
531531
}
532532
}

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,7 @@ private V1SecretVolumeSource getRuntimeEncryptionSecretVolumeSource(String name)
912912
* Sets the environment variables used by operator/src/main/resources/scripts/startServer.sh
913913
* @param vars a list to which new variables are to be added
914914
*/
915-
void addStartupEnvVars(List<V1EnvVar> vars) {
915+
void addStartupEnvVars(List<V1EnvVar> vars, TuningParameters tuningParameters) {
916916
addEnvVar(vars, ServerEnvVars.DOMAIN_NAME, getDomainName());
917917
addEnvVar(vars, ServerEnvVars.DOMAIN_HOME, getDomainHome());
918918
addEnvVar(vars, ServerEnvVars.ADMIN_NAME, getAsName());
@@ -929,7 +929,7 @@ void addStartupEnvVars(List<V1EnvVar> vars) {
929929
Optional.ofNullable(getDataHome()).ifPresent(v -> addEnvVar(vars, ServerEnvVars.DATA_HOME, v));
930930
Optional.ofNullable(getServerSpec().getAuxiliaryImages()).ifPresent(cm -> addAuxiliaryImageEnv(cm, vars));
931931
addEnvVarIfTrue(mockWls(), vars, "MOCK_WLS");
932-
Optional.ofNullable(getKubernetesPlatform()).ifPresent(v -> addEnvVar(vars, ServerEnvVars.KUBERNETES_PLATFORM, v));
932+
Optional.ofNullable(getKubernetesPlatform(tuningParameters)).ifPresent(v -> addEnvVar(vars, ServerEnvVars.KUBERNETES_PLATFORM, v));
933933
}
934934

935935
protected void addAuxiliaryImageEnv(List<AuxiliaryImage> auxiliaryImageList, List<V1EnvVar> vars) {
@@ -1080,8 +1080,8 @@ private boolean mockWls() {
10801080
return Boolean.getBoolean("mockWLS");
10811081
}
10821082

1083-
private String getKubernetesPlatform() {
1084-
return System.getProperty(KUBERNETES_PLATFORM_SYSTEM_PROPERTY);
1083+
private String getKubernetesPlatform(TuningParameters tuningParameters) {
1084+
return tuningParameters.getKubernetesPlatform();
10851085
}
10861086

10871087
private abstract class BaseStep extends Step {

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
import static oracle.kubernetes.operator.DomainProcessorTestSetup.createTestDomain;
6060
import static oracle.kubernetes.operator.ProcessingConstants.DOMAIN_TOPOLOGY;
6161
import static oracle.kubernetes.operator.ProcessingConstants.JOBWATCHER_COMPONENT_NAME;
62+
import static oracle.kubernetes.operator.helpers.BasePodStepContext.KUBERNETES_PLATFORM_HELM_VARIABLE;
6263
import static oracle.kubernetes.operator.helpers.Matchers.hasConfigMapVolume;
6364
import static oracle.kubernetes.operator.helpers.Matchers.hasContainer;
6465
import static oracle.kubernetes.operator.helpers.Matchers.hasEnvVar;
@@ -985,6 +986,25 @@ void whenNotConfigured_introspectorPodSpec_hasTrueAccessLogInLogHomeEnvVar() {
985986
);
986987
}
987988

989+
@Test
990+
void whenOperatorHasKubernetesPlatformConfigured_introspectorPodSpecHasKubernetesPlatformEnvVariable() {
991+
TuningParametersStub.setParameter(KUBERNETES_PLATFORM_HELM_VARIABLE, "Openshift");
992+
V1JobSpec jobSpec = createJobSpec();
993+
994+
assertThat(getMatchingContainerEnv(domainPresenceInfo, jobSpec),
995+
hasEnvVar(ServerEnvVars.KUBERNETES_PLATFORM, "Openshift")
996+
);
997+
}
998+
999+
@Test
1000+
void whenNotConfigured_KubernetesPlatform_introspectorPodSpecHasNoKubernetesPlatformEnvVariable() {
1001+
V1JobSpec jobSpec = createJobSpec();
1002+
1003+
assertThat(getMatchingContainerEnv(domainPresenceInfo, jobSpec),
1004+
not(hasEnvVar(ServerEnvVars.KUBERNETES_PLATFORM, "Openshift"))
1005+
);
1006+
}
1007+
9881008
@Test
9891009
void whenNoExistingTopologyRunIntrospector() {
9901010
runCreateJob();

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
import static oracle.kubernetes.operator.ProcessingConstants.MII_DYNAMIC_UPDATE_SUCCESS;
120120
import static oracle.kubernetes.operator.ProcessingConstants.SERVER_SCAN;
121121
import static oracle.kubernetes.operator.helpers.AnnotationHelper.SHA256_ANNOTATION;
122+
import static oracle.kubernetes.operator.helpers.BasePodStepContext.KUBERNETES_PLATFORM_HELM_VARIABLE;
122123
import static oracle.kubernetes.operator.helpers.DomainIntrospectorJobTest.TEST_VOLUME_NAME;
123124
import static oracle.kubernetes.operator.helpers.DomainStatusMatcher.hasStatus;
124125
import static oracle.kubernetes.operator.helpers.EventHelper.EventItem.DOMAIN_ROLL_STARTING;
@@ -1077,6 +1078,21 @@ void whenPodCreated_withLivenessCustomScriptSpecified_hasEnvVariable() {
10771078
assertThat(getCreatedPodSpecContainer().getEnv(), hasEnvVar("LIVENESS_PROBE_CUSTOM_SCRIPT", customScript));
10781079
}
10791080

1081+
@Test
1082+
void whenOperatorHasKubernetesPlatformConfigured_createdPodSpecContainerHasKubernetesPlatformEnvVariable() {
1083+
TuningParametersStub.setParameter(KUBERNETES_PLATFORM_HELM_VARIABLE, "Openshift");
1084+
assertThat(getCreatedPodSpecContainer().getEnv(),
1085+
hasEnvVar(ServerEnvVars.KUBERNETES_PLATFORM, "Openshift")
1086+
);
1087+
}
1088+
1089+
@Test
1090+
void whenNotConfigured_KubernetesPlatform_createdPodSpecContainerHasNoKubernetesPlatformEnvVariable() {
1091+
assertThat(getCreatedPodSpecContainer().getEnv(),
1092+
not(hasEnvVar(ServerEnvVars.KUBERNETES_PLATFORM, "Openshift"))
1093+
);
1094+
}
1095+
10801096
private static final String OVERRIDE_DATA_DIR = "/u01/data";
10811097
private static final String OVERRIDE_DATA_HOME = OVERRIDE_DATA_DIR + File.separator + UID;
10821098

0 commit comments

Comments
 (0)