Skip to content

Commit b214471

Browse files
committed
Correct the behavior when precreateService for server service in cluster changed from true to false in running domain
1 parent 6acc868 commit b214471

File tree

3 files changed

+17
-4
lines changed

3 files changed

+17
-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, 2024, 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.isServerPodDeleted(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: 13 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;
@@ -910,6 +910,17 @@ void whenDomainScaledDownAndServerStateUnknown_removeExcessPods() {
910910
assertThat(getRunningPods().size(), equalTo(MIN_REPLICAS + NUM_ADMIN_SERVERS + NUM_JOB_PODS));
911911
}
912912

913+
@Test
914+
void whenDomainWithoutPreCreateServerService_removeService() {
915+
defineServerResources(ADMIN_NAME);
916+
Arrays.stream(MANAGED_SERVER_NAMES).forEach(this::defineServerResources);
917+
domainConfigurator.configureCluster(newInfo, CLUSTER).withReplicas(MIN_REPLICAS).withPrecreateServerService(false);
918+
newInfo.getReferencedClusters().forEach(testSupport::defineResources);
919+
920+
createMakeRight(newInfo).execute();
921+
assertThat((int) getServerServices().count(), equalTo(MIN_REPLICAS + NUM_ADMIN_SERVERS));
922+
}
923+
913924
@Test
914925
void whenDomainScaledDown_withPreCreateServerService_doesNotRemoveServices() {
915926
defineServerResources(ADMIN_NAME);
@@ -926,6 +937,7 @@ void whenDomainScaledDown_withPreCreateServerService_doesNotRemoveServices() {
926937
@Test
927938
void whenDomainScaledDown_withoutPreCreateServerService_removeService() {
928939
final String SERVER3 = MANAGED_SERVER_NAMES[2];
940+
Arrays.stream(MANAGED_SERVER_NAMES).forEach(this::defineServerResources);
929941
domainConfigurator.configureCluster(newInfo, CLUSTER).withReplicas(3).withPrecreateServerService(false);
930942
newInfo.getReferencedClusters().forEach(testSupport::defineResources);
931943

0 commit comments

Comments
 (0)