Skip to content

Commit 56582c6

Browse files
committed
Backport cluster member sorting fix
1 parent eec5758 commit 56582c6

File tree

4 files changed

+25
-11
lines changed

4 files changed

+25
-11
lines changed

integration-tests/src/test/resources/setupenv.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ function create_image_pull_secret_wl {
2222

2323
if [ -z "$OCR_USERNAME" ] || [ -z "$OCR_PASSWORD" ]; then
2424
echo "Provide Docker login details using env variables OCR_USERNAME and OCR_PASSWORD to pull the WebLogic image."
25+
echo "Alternatively, if this is a local run:"
26+
echo " - 'export LOCAL_RUN=true' and:"
27+
echo " - 'docker login' to the registry for '$IMAGE_NAME_WEBLOGIC' (if you haven't already done so)"
28+
echo " and/or manually 'docker pull $IMAGE_NAME_WEBLOGIC:$IMAGE_TAG_WEBLOGIC'"
2529
exit 1
2630
fi
2731

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,9 @@ private void addServersToFactory(@Nonnull ServersUpStepFactory factory, @Nonnull
125125
private void addClusteredServersToFactory(@Nonnull ServersUpStepFactory factory, Set<String> clusteredServers,
126126
@Nonnull WlsClusterConfig wlsClusterConfig) {
127127
factory.logIfInvalidReplicaCount(wlsClusterConfig);
128+
// We depend on 'getServerConfigs()' returning an ascending 'numero-lexi'
129+
// sorted list so that a cluster's "lowest named" servers have precedence
130+
// when the cluster's replica count is lower than the WL cluster size.
128131
wlsClusterConfig.getServerConfigs()
129132
.forEach(wlsServerConfig -> {
130133
factory.addServerIfNeeded(wlsServerConfig, wlsClusterConfig);

operator/src/main/java/oracle/kubernetes/operator/wlsconfig/WlsClusterConfig.java

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@
44
package oracle.kubernetes.operator.wlsconfig;
55

66
import java.util.ArrayList;
7+
import java.util.Collections;
8+
import java.util.Comparator;
79
import java.util.List;
810
import java.util.Map;
911

12+
import oracle.kubernetes.utils.OperatorUtils;
1013
import org.apache.commons.lang3.builder.EqualsBuilder;
1114
import org.apache.commons.lang3.builder.HashCodeBuilder;
1215
import org.apache.commons.lang3.builder.ToStringBuilder;
@@ -222,21 +225,24 @@ public void setWlsDomainConfig(WlsDomainConfig wlsDomainConfig) {
222225
}
223226

224227
/**
225-
* Returns a list of server configurations for servers that belong to this cluster, which includes
226-
* both statically configured servers and dynamic servers.
228+
* Returns a sorted list of server configurations for servers that belong to this cluster,
229+
* which includes both statically configured servers and dynamic servers.
227230
*
228-
* @return A list of WlsServerConfig containing configurations of servers that belong to this
229-
* cluster
231+
* @return A sorted list of WlsServerConfig containing configurations of servers that belong to
232+
* this cluster
230233
*/
231234
public synchronized List<WlsServerConfig> getServerConfigs() {
235+
int dcsize = dynamicServersConfig == null ? 0 : dynamicServersConfig.getDynamicClusterSize();
236+
List<WlsServerConfig> result = new ArrayList<>(dcsize + servers.size());
232237
if (dynamicServersConfig != null) {
233-
List<WlsServerConfig> result =
234-
new ArrayList<>(dynamicServersConfig.getDynamicClusterSize() + servers.size());
235238
result.addAll(dynamicServersConfig.getServerConfigs());
236-
result.addAll(servers);
237-
return result;
238239
}
239-
return servers;
240+
result.addAll(servers);
241+
Collections.sort(
242+
result,
243+
Comparator.comparing((WlsServerConfig sc) -> OperatorUtils.getSortingString(sc.getName()))
244+
);
245+
return result;
240246
}
241247

242248
public List<WlsServerConfig> getServers() {
@@ -405,4 +411,4 @@ public boolean equals(Object other) {
405411
return builder.isEquals();
406412
}
407413

408-
}
414+
}

pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -699,7 +699,8 @@
699699
<maven-pmd-plugin-version>3.13.0</maven-pmd-plugin-version>
700700
<maven-release-plugin-version>3.0.0-M1</maven-release-plugin-version>
701701
<maven-javadoc-plugin-version>3.1.1</maven-javadoc-plugin-version>
702-
<maven-failsafe-plugin-version>3.0.0-M4</maven-failsafe-plugin-version>
702+
<!-- do NOT use the 3.0.0-M4 failsafe-plugin (ignores @BeforeAll failures) -->
703+
<maven-failsafe-plugin-version>3.0.0-M3</maven-failsafe-plugin-version>
703704
<maven-dependency-plugin-version>3.1.1</maven-dependency-plugin-version>
704705
<exec-maven-plugin-version>1.6.0</exec-maven-plugin-version>
705706
<spotbugs-maven-plugin-version>3.1.12.2</spotbugs-maven-plugin-version>

0 commit comments

Comments
 (0)