Skip to content

Commit cc42623

Browse files
committed
Merge branch 'OWLS-0127038' into 'release/4.2'
Correct the behavior when precreateService for server service in cluster... See merge request weblogic-cloud/weblogic-kubernetes-operator!4918
2 parents 510dce0 + efc787c commit cc42623

File tree

3 files changed

+21
-4
lines changed

3 files changed

+21
-4
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2017, 2023, Oracle and/or its affiliates.
1+
// Copyright (c) 2017, 2025, Oracle and/or its affiliates.
22
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
33

44
package oracle.kubernetes.operator.steps;
@@ -105,7 +105,8 @@ private static List<ServerShutdownInfo> getServersToStop(
105105
private static boolean isNotAlreadyStoppedOrServiceOnly(DomainPresenceInfo info, ServerShutdownInfo ssi) {
106106
return (info.getServerPod(ssi.getServerName()) != null
107107
&& !info.isServerPodBeingDeleted(ssi.getServerName()))
108-
|| (ssi.isServiceOnly() && info.getServerService(ssi.getServerName()) == null);
108+
|| (ssi.isServiceOnly() && (info.getServerService(ssi.getServerName()) == null)
109+
|| (!ssi.isServiceOnly() && (info.getServerService(ssi.getServerName()) != null)));
109110
}
110111

111112
private static void insert(List<Step> steps, Step step) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ public Boolean isPrecreateServerService() {
363363
return serverService.isPrecreateService();
364364
}
365365

366-
void setPrecreateServerService(boolean value) {
366+
public void setPrecreateServerService(boolean value) {
367367
serverService.setIsPrecreateService(value);
368368
}
369369

operator/src/test/java/oracle/kubernetes/operator/DomainProcessorTest.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2019, 2024, Oracle and/or its affiliates.
1+
// Copyright (c) 2019, 2025, Oracle and/or its affiliates.
22
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
33

44
package oracle.kubernetes.operator;
@@ -937,6 +937,22 @@ void whenDomainScaledDown_withoutPreCreateServerService_removeService() {
937937
assertThat(getServerService(SERVER3).isPresent(), is(false));
938938
}
939939

940+
@Test
941+
void whenDomainWithoutPreCreateServerService_removeService() {
942+
defineServerResources(ADMIN_NAME);
943+
Arrays.stream(MANAGED_SERVER_NAMES).forEach(this::defineServerResources);
944+
domainConfigurator.configureCluster(newInfo, CLUSTER).withReplicas(MIN_REPLICAS).withPrecreateServerService(true);
945+
newInfo.getReferencedClusters().forEach(testSupport::defineResources);
946+
947+
createMakeRight(newInfo).execute();
948+
assertThat((int) getServerServices().count(), equalTo(MAX_SERVERS + NUM_ADMIN_SERVERS));
949+
newInfo.getReferencedClusters().getFirst().getSpec().setPrecreateServerService(false);
950+
newDomain.getSpec().setPrecreateServerService(false);
951+
newDomain.getMetadata().setCreationTimestamp(SystemClock.now());
952+
processor.createMakeRightOperation(newInfo).withExplicitRecheck().execute();
953+
assertThat((int) getServerServices().count(), equalTo(MIN_REPLICAS + NUM_ADMIN_SERVERS));
954+
}
955+
940956
@Test
941957
void whenDomainScaledDown_withPreCreateServerService_createClusterIPService() {
942958
final String SERVER3 = MANAGED_SERVER_NAMES[2];

0 commit comments

Comments
 (0)