Skip to content

Commit 615c1a8

Browse files
authored
Merge pull request #1215 from oracle/envvar-validation
Validate specified environment variables
2 parents 37d1a2f + 6f5332e commit 615c1a8

File tree

15 files changed

+407
-99
lines changed

15 files changed

+407
-99
lines changed

operator/pom.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,6 @@
207207
</execution>
208208
</executions>
209209
</plugin>
210-
<plugin>
211-
<groupId>org.apache.maven.plugins</groupId>
212-
<artifactId>maven-checkstyle-plugin</artifactId>
213-
</plugin>
214210
</plugins>
215211
</build>
216212

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

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@
3333
import oracle.kubernetes.weblogic.domain.model.ConfigurationConstants;
3434
import oracle.kubernetes.weblogic.domain.model.Domain;
3535
import oracle.kubernetes.weblogic.domain.model.DomainSpec;
36+
import oracle.kubernetes.weblogic.domain.model.IntrospectorJobEnvVars;
3637
import oracle.kubernetes.weblogic.domain.model.ManagedServer;
38+
import oracle.kubernetes.weblogic.domain.model.ServerEnvVars;
3739

3840
public class JobHelper {
3941

@@ -215,14 +217,14 @@ List<V1EnvVar> getConfiguredEnvVars(TuningParameters tuningParameters) {
215217
List<V1EnvVar> vars =
216218
PodHelper.createCopy(getDomain().getAdminServerSpec().getEnvironmentVariables());
217219

218-
addEnvVar(vars, "NAMESPACE", getNamespace());
219-
addEnvVar(vars, "DOMAIN_UID", getDomainUid());
220-
addEnvVar(vars, "DOMAIN_HOME", getDomainHome());
221-
addEnvVar(vars, "NODEMGR_HOME", getNodeManagerHome());
222-
addEnvVar(vars, "LOG_HOME", getEffectiveLogHome());
223-
addEnvVar(vars, "INTROSPECT_HOME", getIntrospectHome());
224-
addEnvVar(vars, "SERVER_OUT_IN_POD_LOG", getIncludeServerOutInPodLog());
225-
addEnvVar(vars, "CREDENTIALS_SECRET_NAME", getWebLogicCredentialsSecretName());
220+
addEnvVar(vars, ServerEnvVars.DOMAIN_UID, getDomainUid());
221+
addEnvVar(vars, ServerEnvVars.DOMAIN_HOME, getDomainHome());
222+
addEnvVar(vars, ServerEnvVars.NODEMGR_HOME, getNodeManagerHome());
223+
addEnvVar(vars, ServerEnvVars.LOG_HOME, getEffectiveLogHome());
224+
addEnvVar(vars, ServerEnvVars.SERVER_OUT_IN_POD_LOG, getIncludeServerOutInPodLog());
225+
addEnvVar(vars, IntrospectorJobEnvVars.NAMESPACE, getNamespace());
226+
addEnvVar(vars, IntrospectorJobEnvVars.INTROSPECT_HOME, getIntrospectHome());
227+
addEnvVar(vars, IntrospectorJobEnvVars.CREDENTIALS_SECRET_NAME, getWebLogicCredentialsSecretName());
226228

227229
return vars;
228230
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ protected V1PodSpec createSpec(TuningParameters tuningParameters) {
251251
@Override
252252
List<V1EnvVar> getConfiguredEnvVars(TuningParameters tuningParameters) {
253253
List<V1EnvVar> vars = createCopy(getServerSpec().getEnvironmentVariables());
254-
overrideContainerWeblogicEnvVars(vars);
254+
addStartupEnvVars(vars);
255255
return vars;
256256
}
257257

@@ -407,7 +407,7 @@ List<V1EnvVar> getConfiguredEnvVars(TuningParameters tuningParameters) {
407407
if (envVars != null) {
408408
vars.addAll(envVars);
409409
}
410-
overrideContainerWeblogicEnvVars(vars);
410+
addStartupEnvVars(vars);
411411
return vars;
412412
}
413413
}

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

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import oracle.kubernetes.operator.work.Packet;
5353
import oracle.kubernetes.operator.work.Step;
5454
import oracle.kubernetes.weblogic.domain.model.Domain;
55+
import oracle.kubernetes.weblogic.domain.model.ServerEnvVars;
5556
import oracle.kubernetes.weblogic.domain.model.ServerSpec;
5657
import oracle.kubernetes.weblogic.domain.model.Shutdown;
5758
import org.apache.commons.lang3.builder.EqualsBuilder;
@@ -157,7 +158,7 @@ private String getEffectiveLogHome() {
157158
return getDomain().getEffectiveLogHome();
158159
}
159160

160-
private String getIncludeServerOutInPodLog() {
161+
private String isIncludeServerOutInPodLog() {
161162
return Boolean.toString(getDomain().isIncludeServerOutInPodLog());
162163
}
163164

@@ -241,7 +242,7 @@ Step verifyPod(Step next) {
241242
*/
242243
private Step deletePod(Step next) {
243244
return new CallBuilder()
244-
.deletePodAsync(getPodName(), getNamespace(), new V1DeleteOptions(), deleteResponse(next));
245+
.deletePodAsync(getPodName(), getNamespace(), new V1DeleteOptions(), deleteResponse(next));
245246
}
246247

247248
/**
@@ -337,7 +338,7 @@ private boolean mustPatchPod(V1Pod currentPod) {
337338
private boolean canUseCurrentPod(V1Pod currentPod) {
338339
boolean useCurrent =
339340
AnnotationHelper.getHash(getPodModel()).equals(AnnotationHelper.getHash(currentPod));
340-
if (!useCurrent && AnnotationHelper.getDebugString(currentPod) != null)
341+
if (!useCurrent && AnnotationHelper.getDebugString(currentPod).length() > 0)
341342
LOGGER.info(
342343
MessageKeys.POD_DUMP,
343344
AnnotationHelper.getDebugString(currentPod),
@@ -399,7 +400,7 @@ protected Map<String, String> augmentSubVars(Map<String, String> vars) {
399400
return vars;
400401
}
401402

402-
final void updateForStartupMode(V1Pod pod) {
403+
private void updateForStartupMode(V1Pod pod) {
403404
ServerSpec serverSpec = getServerSpec();
404405
if (serverSpec != null) {
405406
String desiredState = serverSpec.getDesiredState();
@@ -420,7 +421,7 @@ final void updateForStartupMode(V1Pod pod) {
420421
*
421422
* @param pod The pod
422423
*/
423-
final void updateForShutdown(V1Pod pod) {
424+
private void updateForShutdown(V1Pod pod) {
424425
String shutdownType;
425426
Long timeout;
426427
boolean ignoreSessions;
@@ -576,23 +577,25 @@ private List<V1VolumeMount> getVolumeMounts() {
576577
return mounts;
577578
}
578579

579-
void overrideContainerWeblogicEnvVars(List<V1EnvVar> vars) {
580-
// Override the domain name, domain directory, admin server name and admin server port.
581-
addEnvVar(vars, "DOMAIN_NAME", getDomainName());
582-
addEnvVar(vars, "DOMAIN_HOME", getDomainHome());
583-
addEnvVar(vars, "ADMIN_NAME", getAsName());
584-
addEnvVar(vars, "ADMIN_PORT", getAsPort().toString());
580+
/**
581+
* Sets the environment variables used by operator/src/main/resources/scripts/startServer.sh
582+
* @param vars a list to which new variables are to be added
583+
*/
584+
void addStartupEnvVars(List<V1EnvVar> vars) {
585+
addEnvVar(vars, ServerEnvVars.DOMAIN_NAME, getDomainName());
586+
addEnvVar(vars, ServerEnvVars.DOMAIN_HOME, getDomainHome());
587+
addEnvVar(vars, ServerEnvVars.ADMIN_NAME, getAsName());
588+
addEnvVar(vars, ServerEnvVars.ADMIN_PORT, getAsPort().toString());
585589
if (isLocalAdminProtocolChannelSecure()) {
586-
addEnvVar(vars, "ADMIN_PORT_SECURE", "true");
587-
}
588-
addEnvVar(vars, "SERVER_NAME", getServerName());
589-
addEnvVar(vars, "DOMAIN_UID", getDomainUid());
590-
addEnvVar(vars, "NODEMGR_HOME", NODEMGR_HOME);
591-
addEnvVar(vars, "LOG_HOME", getEffectiveLogHome());
592-
addEnvVar(vars, "SERVER_OUT_IN_POD_LOG", getIncludeServerOutInPodLog());
593-
addEnvVar(
594-
vars, "SERVICE_NAME", LegalNames.toServerServiceName(getDomainUid(), getServerName()));
595-
addEnvVar(vars, "AS_SERVICE_NAME", LegalNames.toServerServiceName(getDomainUid(), getAsName()));
590+
addEnvVar(vars, ServerEnvVars.ADMIN_PORT_SECURE, "true");
591+
}
592+
addEnvVar(vars, ServerEnvVars.SERVER_NAME, getServerName());
593+
addEnvVar(vars, ServerEnvVars.DOMAIN_UID, getDomainUid());
594+
addEnvVar(vars, ServerEnvVars.NODEMGR_HOME, NODEMGR_HOME);
595+
addEnvVar(vars, ServerEnvVars.LOG_HOME, getEffectiveLogHome());
596+
addEnvVar(vars, ServerEnvVars.SERVER_OUT_IN_POD_LOG, isIncludeServerOutInPodLog());
597+
addEnvVar(vars, ServerEnvVars.SERVICE_NAME, LegalNames.toServerServiceName(getDomainUid(), getServerName()));
598+
addEnvVar(vars, ServerEnvVars.AS_SERVICE_NAME, LegalNames.toServerServiceName(getDomainUid(), getAsName()));
596599
if (mockWls()) {
597600
addEnvVar(vars, "MOCK_WLS", "true");
598601
}

operator/src/main/java/oracle/kubernetes/operator/logging/MessageKeys.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,13 @@ public class MessageKeys {
156156
public static final String JOB_DEADLINE_EXCEEDED_MESSAGE = "WLSKO-0154";
157157
public static final String JOB_LOG_PARSE_FAILURE = "WLSKO-0155";
158158

159+
// domain status messages
160+
public static final String DUPLICATE_SERVER_NAME_FOUND = "WLSDO-0001";
161+
public static final String DUPLICATE_CLUSTER_NAME_FOUND = "WLSDO-0002";
162+
public static final String LOG_HOME_NOT_MOUNTED = "WLSDO-0003";
163+
public static final String BAD_VOLUME_MOUNT_PATH = "WLSDO-0004";
164+
public static final String RESERVED_ENVIRONMENT_VARIABLES = "WLSDO-0005";
165+
159166
private MessageKeys() {
160167
}
161168
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Copyright 2019, 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.utils;
6+
7+
import java.util.List;
8+
9+
public class OperatorUtils {
10+
/**
11+
* Converts a list of strings to a comma-separated list, using "and" for the last item.
12+
*
13+
* @param list the list to convert
14+
* @return the resultant string
15+
*/
16+
public static String joinListGrammatically(final List<String> list) {
17+
return list.size() > 1
18+
? String.join(", ", list.subList(0, list.size() - 1))
19+
.concat(String.format("%s and ", list.size() > 2 ? "," : ""))
20+
.concat(list.get(list.size() - 1))
21+
: list.get(0);
22+
}
23+
}

0 commit comments

Comments
 (0)