Skip to content

Commit 558f25e

Browse files
authored
Merge pull request #729 from oracle/develop-OWLS-70567
Develop owls 70567
2 parents 0013ff4 + 99b6716 commit 558f25e

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,4 +146,5 @@ private MessageKeys() {}
146146
public static final String CANNOT_PARSE_INTROSPECTOR_FILE = "WLSKO-0143";
147147
public static final String CANNOT_START_DOMAIN_AFTER_MAX_RETRIES = "WLSKO-0144";
148148
public static final String CYCLING_POD = "WLSKO-0145";
149+
public static final String REPLICAS_EXCEEDS_TOTAL_CLUSTER_SERVER_COUNT = "WLSKO-0146";
149150
}

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import oracle.kubernetes.operator.helpers.ServerKubernetesObjects;
1414
import oracle.kubernetes.operator.logging.LoggingFacade;
1515
import oracle.kubernetes.operator.logging.LoggingFactory;
16+
import oracle.kubernetes.operator.logging.MessageKeys;
1617
import oracle.kubernetes.operator.wlsconfig.WlsClusterConfig;
1718
import oracle.kubernetes.operator.wlsconfig.WlsDomainConfig;
1819
import oracle.kubernetes.operator.wlsconfig.WlsServerConfig;
@@ -63,6 +64,17 @@ void addServerIfNeeded(@Nonnull WlsServerConfig serverConfig, WlsClusterConfig c
6364
}
6465
}
6566

67+
boolean exceedsMaxConfiguredClusterSize(WlsClusterConfig clusterConfig) {
68+
if (clusterConfig != null) {
69+
String clusterName = clusterConfig.getClusterName();
70+
int configMaxClusterSize = clusterConfig.getMaxDynamicClusterSize();
71+
return clusterConfig.hasDynamicServers()
72+
&& clusterConfig.getServerConfigs().size() == configMaxClusterSize
73+
&& domain.getReplicaCount(clusterName) > configMaxClusterSize;
74+
}
75+
return false;
76+
}
77+
6678
private Step createNextStep(Step next) {
6779
if (servers.isEmpty()) return next;
6880
else return new ManagedServerUpIteratorStep(getStartupInfos(), next);
@@ -84,6 +96,17 @@ private void addToCluster(String clusterName) {
8496
private Integer getReplicaCount(String clusterName) {
8597
return Optional.ofNullable(replicas.get(clusterName)).orElse(0);
8698
}
99+
100+
private void logIfReplicasExceedsClusterServersMax(WlsClusterConfig clusterConfig) {
101+
if (exceedsMaxConfiguredClusterSize(clusterConfig)) {
102+
String clusterName = clusterConfig.getClusterName();
103+
LOGGER.warning(
104+
MessageKeys.REPLICAS_EXCEEDS_TOTAL_CLUSTER_SERVER_COUNT,
105+
domain.getReplicaCount(clusterName),
106+
clusterConfig.getMaxDynamicClusterSize(),
107+
clusterName);
108+
}
109+
}
87110
}
88111

89112
public ManagedServersUpStep(Step next) {
@@ -105,6 +128,7 @@ public NextAction apply(Packet packet) {
105128
Set<String> clusteredServers = new HashSet<>();
106129

107130
for (WlsClusterConfig clusterConfig : config.getClusterConfigs().values()) {
131+
factory.logIfReplicasExceedsClusterServersMax(clusterConfig);
108132
for (WlsServerConfig serverConfig : clusterConfig.getServerConfigs()) {
109133
factory.addServerIfNeeded(serverConfig, clusterConfig);
110134
clusteredServers.add(serverConfig.getName());

operator/src/main/resources/Operator.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,4 +143,5 @@ WLSKO-0141=Failed to parse WebLogic Domain topology due to exception: {0}
143143
WLSKO-0142=Failed to parse results from domain introspector for domain {0} due to exception: {1}
144144
WLSKO-0143=Failed to parse file {0} from domain introspector for domain {1} due to exception: {2}
145145
WLSKO-0144=Unable to start domain with domainUID {0} in namespace {1} after {2} attempts due to exception: {3}
146-
WLSKO-0145=Replacing pod {0} with {1}
146+
WLSKO-0145=Replacing pod {0} with {1}
147+
WLSKO-0146=Replica request of {0} exceeds the maximum dynamic server count + server count of {1} configured for cluster {2}

0 commit comments

Comments
 (0)