Skip to content

Commit 7624d33

Browse files
authored
Merge pull request #648 from oracle/OWLS-70593
OWLS-70593: OPERATOR: CUSTOM OVERRIDE CONFIG MAP DOES NOT TAKE EFFECT WHEN DYNAMICALLY ADDED
2 parents 863f4cf + 0946eeb commit 7624d33

File tree

5 files changed

+38
-10
lines changed

5 files changed

+38
-10
lines changed

model/src/main/java/oracle/kubernetes/weblogic/domain/v2/BaseConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,11 @@ void addEnvironmentVariable(String name, String value) {
111111
serverPod.addEnvVar(new V1EnvVar().name(name).value(value));
112112
}
113113

114-
void setServerStartPolicy(String serverStartPolicy) {
114+
public void setServerStartPolicy(String serverStartPolicy) {
115115
this.serverStartPolicy = serverStartPolicy;
116116
}
117117

118-
protected String getServerStartPolicy() {
118+
public String getServerStartPolicy() {
119119
return serverStartPolicy;
120120
}
121121

model/src/main/java/oracle/kubernetes/weblogic/domain/v2/DomainSpec.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ public void setConfigOverrideSecrets(@Nullable List<String> overridesSecretNames
440440

441441
@Nullable
442442
@Override
443-
protected String getServerStartPolicy() {
443+
public String getServerStartPolicy() {
444444
return Optional.ofNullable(super.getServerStartPolicy()).orElse(START_IF_NEEDED);
445445
}
446446

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

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import oracle.kubernetes.operator.work.Packet;
3131
import oracle.kubernetes.operator.work.Step;
3232
import oracle.kubernetes.weblogic.domain.v2.Cluster;
33+
import oracle.kubernetes.weblogic.domain.v2.ConfigurationConstants;
3334
import oracle.kubernetes.weblogic.domain.v2.Domain;
3435
import oracle.kubernetes.weblogic.domain.v2.DomainSpec;
3536
import oracle.kubernetes.weblogic.domain.v2.ManagedServer;
@@ -174,18 +175,42 @@ private static boolean creatingServers(DomainPresenceInfo info) {
174175
List<ManagedServer> servers = spec.getManagedServers();
175176

176177
// Are we starting a cluster?
178+
// NOTE: clusterServerStartPolicy == null indicates default policy
177179
for (Cluster cluster : clusters) {
178180
int replicaCount = cluster.getReplicas();
179-
LOGGER.fine("creatingServers replicaCount: " + replicaCount + " for cluster: " + cluster);
180-
if (replicaCount > 0) {
181+
String clusterServerStartPolicy = cluster.getServerStartPolicy();
182+
LOGGER.fine(
183+
"Start Policy: "
184+
+ clusterServerStartPolicy
185+
+ ", replicaCount: "
186+
+ replicaCount
187+
+ " for cluster: "
188+
+ cluster);
189+
if ((clusterServerStartPolicy == null
190+
|| !clusterServerStartPolicy.equals(ConfigurationConstants.START_NEVER))
191+
&& replicaCount > 0) {
181192
return true;
182193
}
183194
}
184195

185-
// Are we starting a standalone managed server?
186-
// for (ManagedServer server : servers.values()) {
187-
// if (server.)
188-
// }
196+
// If Domain level Server Start Policy = ALWAYS, IF_NEEDED or ADMIN_ONLY then we most likely
197+
// will start a server pod
198+
// NOTE: domainServerStartPolicy == null indicates default policy
199+
String domainServerStartPolicy = dom.getSpec().getServerStartPolicy();
200+
if (domainServerStartPolicy == null
201+
|| !domainServerStartPolicy.equals(ConfigurationConstants.START_NEVER)) {
202+
return true;
203+
}
204+
205+
// Are we starting any explicitly specified individual server?
206+
// NOTE: serverStartPolicy == null indicates default policy
207+
for (ManagedServer server : servers) {
208+
String serverStartPolicy = server.getServerStartPolicy();
209+
if (serverStartPolicy == null
210+
|| !serverStartPolicy.equals(ConfigurationConstants.START_NEVER)) {
211+
return true;
212+
}
213+
}
189214

190215
return false;
191216
}

operator/src/main/java/oracle/kubernetes/operator/steps/ManagedServersUpStep.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public static Collection<String> getRunningServers(DomainPresenceInfo info) {
128128
Collection<String> runningList = new ArrayList<>();
129129
for (Map.Entry<String, ServerKubernetesObjects> entry : info.getServers().entrySet()) {
130130
ServerKubernetesObjects sko = entry.getValue();
131-
if (sko != null && sko.getPod() != null) {
131+
if (sko != null && sko.getPod().get() != null) {
132132
runningList.add(entry.getKey());
133133
}
134134
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import oracle.kubernetes.operator.work.FiberTestSupport;
3131
import oracle.kubernetes.operator.work.TerminalStep;
3232
import oracle.kubernetes.weblogic.domain.v2.Cluster;
33+
import oracle.kubernetes.weblogic.domain.v2.ConfigurationConstants;
3334
import oracle.kubernetes.weblogic.domain.v2.Domain;
3435
import oracle.kubernetes.weblogic.domain.v2.DomainSpec;
3536
import org.hamcrest.Matcher;
@@ -158,6 +159,7 @@ private DomainSpec createDomainSpec() {
158159
Cluster cluster = new Cluster();
159160
cluster.setClusterName("cluster-1");
160161
cluster.setReplicas(1);
162+
cluster.setServerStartPolicy(ConfigurationConstants.START_IF_NEEDED);
161163
DomainSpec spec =
162164
new DomainSpec()
163165
.withDomainUID(UID)
@@ -166,6 +168,7 @@ private DomainSpec createDomainSpec() {
166168
.withCluster(cluster)
167169
.withImage(LATEST_IMAGE)
168170
.withDomainHomeInImage(false);
171+
spec.setServerStartPolicy(ConfigurationConstants.START_IF_NEEDED);
169172

170173
List<String> overrideSecrets = new ArrayList<>();
171174
overrideSecrets.add(OVERRIDE_SECRET_1);

0 commit comments

Comments
 (0)