13
13
import oracle .kubernetes .operator .helpers .ServerKubernetesObjects ;
14
14
import oracle .kubernetes .operator .logging .LoggingFacade ;
15
15
import oracle .kubernetes .operator .logging .LoggingFactory ;
16
+ import oracle .kubernetes .operator .logging .MessageKeys ;
16
17
import oracle .kubernetes .operator .wlsconfig .WlsClusterConfig ;
17
18
import oracle .kubernetes .operator .wlsconfig .WlsDomainConfig ;
18
19
import oracle .kubernetes .operator .wlsconfig .WlsServerConfig ;
@@ -63,6 +64,17 @@ void addServerIfNeeded(@Nonnull WlsServerConfig serverConfig, WlsClusterConfig c
63
64
}
64
65
}
65
66
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
+
66
78
private Step createNextStep (Step next ) {
67
79
if (servers .isEmpty ()) return next ;
68
80
else return new ManagedServerUpIteratorStep (getStartupInfos (), next );
@@ -84,6 +96,17 @@ private void addToCluster(String clusterName) {
84
96
private Integer getReplicaCount (String clusterName ) {
85
97
return Optional .ofNullable (replicas .get (clusterName )).orElse (0 );
86
98
}
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
+ }
87
110
}
88
111
89
112
public ManagedServersUpStep (Step next ) {
@@ -105,6 +128,7 @@ public NextAction apply(Packet packet) {
105
128
Set <String > clusteredServers = new HashSet <>();
106
129
107
130
for (WlsClusterConfig clusterConfig : config .getClusterConfigs ().values ()) {
131
+ factory .logIfReplicasExceedsClusterServersMax (clusterConfig );
108
132
for (WlsServerConfig serverConfig : clusterConfig .getServerConfigs ()) {
109
133
factory .addServerIfNeeded (serverConfig , clusterConfig );
110
134
clusteredServers .add (serverConfig .getName ());
0 commit comments