Skip to content

Commit f6baaee

Browse files
Merge pull request #2692 from oracle/owls_95240_backport_to_3.3
Backport fix for OWLS 95240 (PR #2691) to release/3.3
2 parents 5d1b116 + 304216c commit f6baaee

File tree

3 files changed

+140
-50
lines changed

3 files changed

+140
-50
lines changed

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

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2017, 2021, Oracle and/or its affiliates.
1+
// Copyright (c) 2017, 2022, 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;
@@ -15,6 +15,7 @@
1515
import java.util.stream.Collectors;
1616
import javax.annotation.Nonnull;
1717

18+
import io.kubernetes.client.openapi.models.V1Pod;
1819
import oracle.kubernetes.operator.DomainStatusUpdater;
1920
import oracle.kubernetes.operator.MakeRightDomainOperation;
2021
import oracle.kubernetes.operator.ProcessingConstants;
@@ -41,6 +42,7 @@
4142
import static oracle.kubernetes.operator.DomainStatusUpdater.MANAGED_SERVERS_STARTING_PROGRESS_REASON;
4243
import static oracle.kubernetes.operator.DomainStatusUpdater.createProgressingStartedEventStep;
4344
import static oracle.kubernetes.operator.helpers.EventHelper.createEventStep;
45+
import static oracle.kubernetes.operator.helpers.PodHelper.getPodServerName;
4446

4547
public class ManagedServersUpStep extends Step {
4648
static final String SERVERS_UP_MSG =
@@ -118,7 +120,7 @@ public NextAction apply(Packet packet) {
118120
LOGGER.fine(SERVERS_UP_MSG, factory.domain.getDomainUid(), getRunningServers(info));
119121
}
120122

121-
Optional.ofNullable(config).ifPresent(wlsDomainConfig -> addServersToFactory(factory, wlsDomainConfig));
123+
Optional.ofNullable(config).ifPresent(wlsDomainConfig -> addServersToFactory(factory, wlsDomainConfig, info));
122124

123125
info.setServerStartupInfo(factory.getStartupInfos());
124126
info.setServerShutdownInfo(factory.getShutdownInfos());
@@ -130,7 +132,8 @@ public NextAction apply(Packet packet) {
130132
packet);
131133
}
132134

133-
private void addServersToFactory(@Nonnull ServersUpStepFactory factory, @Nonnull WlsDomainConfig wlsDomainConfig) {
135+
private void addServersToFactory(@Nonnull ServersUpStepFactory factory, @Nonnull WlsDomainConfig wlsDomainConfig,
136+
DomainPresenceInfo info) {
134137
Set<String> clusteredServers = new HashSet<>();
135138

136139
List<ServerConfig> pendingServers = new ArrayList<>();
@@ -145,6 +148,15 @@ private void addServersToFactory(@Nonnull ServersUpStepFactory factory, @Nonnull
145148
for (ServerConfig serverConfig : pendingServers) {
146149
factory.addServerIfNeeded(serverConfig.wlsServerConfig, serverConfig.wlsClusterConfig);
147150
}
151+
152+
info.getServerPods().filter(pod -> !factory.getServers().contains(getPodServerName(pod)))
153+
.filter(pod -> !getPodServerName(pod).equals(wlsDomainConfig.getAdminServerName()))
154+
.forEach(pod -> shutdownServersNotPresentInDomainConfig(factory, pod));
155+
}
156+
157+
private void shutdownServersNotPresentInDomainConfig(ServersUpStepFactory factory, V1Pod pod) {
158+
WlsServerConfig serverConfig = new WlsServerConfig(getPodServerName(pod), pod.getMetadata().getName(), 0);
159+
factory.addShutdownInfo(new ServerShutdownInfo(serverConfig, pod.getMetadata().getClusterName(), null, false));
148160
}
149161

150162
private void addClusteredServersToFactory(
@@ -258,6 +270,10 @@ Collection<DomainPresenceInfo.ServerShutdownInfo> getShutdownInfos() {
258270
return shutdownInfos;
259271
}
260272

273+
Collection<String> getServers() {
274+
return servers;
275+
}
276+
261277
private void addStartupInfo(ServerStartupInfo startupInfo) {
262278
if (startupInfos == null) {
263279
startupInfos = new ArrayList<>();

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2018, 2021, Oracle and/or its affiliates.
1+
// Copyright (c) 2018, 2022, 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;
@@ -191,6 +191,9 @@ static final class ReadHealthWithHttpStep extends Step {
191191
@Override
192192
public NextAction apply(Packet packet) {
193193
ReadHealthProcessing processing = new ReadHealthProcessing(packet, service, pod);
194+
if (processing.getWlsServerConfig() == null) {
195+
return doNext(packet);
196+
}
194197
return doNext(createRequestStep(processing.createRequest(), new RecordHealthStep(getNext())), packet);
195198
}
196199

@@ -381,4 +384,4 @@ private static void logReadFailure(Packet packet) {
381384
MessageKeys.WLS_HEALTH_READ_FAILED,
382385
packet.get(ProcessingConstants.SERVER_NAME));
383386
}
384-
}
387+
}

0 commit comments

Comments
 (0)