Skip to content

Commit a6d0da1

Browse files
committed
Merge branch 'owls-120944' into 'release/4.2'
Correctly record existing resources during operator start See merge request weblogic-cloud/weblogic-kubernetes-operator!4802 (cherry picked from commit 12fc411) 7fc20cf8 Correctly record existing resources during operator start a08aaf40 Restore unit-tests
1 parent 6a1db4c commit a6d0da1

File tree

2 files changed

+9
-12
lines changed

2 files changed

+9
-12
lines changed

operator/src/main/java/oracle/kubernetes/operator/DomainResourcesValidation.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ private void addOperatorEventList(CoreV1EventList list) {
159159
private void addPod(V1Pod pod) {
160160
String domainUid = PodHelper.getPodDomainUid(pod);
161161
String serverName = PodHelper.getPodServerName(pod);
162-
DomainPresenceInfo info = getExistingDomainPresenceInfo(domainUid);
162+
DomainPresenceInfo info = getOrComputeDomainPresenceInfo(domainUid);
163163
Optional.ofNullable(info).ifPresent(i -> i.addServerNameFromPodList(serverName));
164164

165165
if (domainUid != null && serverName != null) {
@@ -178,10 +178,6 @@ private DomainPresenceInfo getOrComputeDomainPresenceInfo(String domainUid) {
178178
return getDomainPresenceInfoMap().computeIfAbsent(domainUid, k -> new DomainPresenceInfo(namespace, domainUid));
179179
}
180180

181-
private DomainPresenceInfo getExistingDomainPresenceInfo(String domainUid) {
182-
return getDomainPresenceInfoMap().get(domainUid);
183-
}
184-
185181
private Map<String, DomainPresenceInfo> getDomainPresenceInfoMap() {
186182
return processor.getDomainPresenceInfoMap().computeIfAbsent(namespace, k -> new ConcurrentHashMap<>());
187183
}
@@ -197,7 +193,7 @@ private void addServiceList(V1ServiceList list) {
197193
private void addService(V1Service service) {
198194
String domainUid = ServiceHelper.getServiceDomainUid(service);
199195
if (domainUid != null) {
200-
ServiceHelper.addToPresence(getExistingDomainPresenceInfo(domainUid), service);
196+
ServiceHelper.addToPresence(getOrComputeDomainPresenceInfo(domainUid), service);
201197
}
202198
}
203199

@@ -208,7 +204,7 @@ private void addPodDisruptionBudgetList(V1PodDisruptionBudgetList list) {
208204
private void addPodDisruptionBudget(V1PodDisruptionBudget pdb) {
209205
String domainUid = PodDisruptionBudgetHelper.getDomainUid(pdb);
210206
if (domainUid != null) {
211-
PodDisruptionBudgetHelper.addToPresence(getExistingDomainPresenceInfo(domainUid), pdb);
207+
PodDisruptionBudgetHelper.addToPresence(getOrComputeDomainPresenceInfo(domainUid), pdb);
212208
}
213209
}
214210

@@ -236,7 +232,8 @@ private void addDomain(DomainResource domain) {
236232
DomainPresenceInfo cachedInfo = getDomainPresenceInfoMap().get(domain.getDomainUid());
237233
if (domain.getStatus() == null) {
238234
newDomainNames.add(domain.getDomainUid());
239-
} else if (cachedInfo != null && domain.isGenerationChanged(cachedInfo.getDomain())) {
235+
} else if (cachedInfo != null && cachedInfo.getDomain() != null
236+
&& domain.isGenerationChanged(cachedInfo.getDomain())) {
240237
modifiedDomainNames.add(domain.getDomainUid());
241238
}
242239
getOrComputeDomainPresenceInfo(domain.getDomainUid()).setDomain(domain);

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -411,15 +411,15 @@ void whenDomainStatusBecameNull_generateDomainCreatedEvent() {
411411
}
412412

413413
@Test
414-
void whenK8sHasOneDomainWithMissingInfo_dontRecordAdminServerService() {
414+
void whenK8sHasOneDomainWithMissingInfo_recordAdminServerService() {
415415
addDomainResource(UID1, NS);
416416
V1Service service = createServerService(UID1, NS, "admin");
417417
testSupport.defineResources(service);
418418

419419
testSupport.addToPacket(ProcessingConstants.DOMAIN_PROCESSOR, dp);
420420
testSupport.runSteps(domainNamespaces.readExistingResources(NS, dp));
421421

422-
assertThat(getDomainPresenceInfo(dp, UID1).getServerService("admin"), equalTo(null));
422+
assertThat(getDomainPresenceInfo(dp, UID1).getServerService("admin"), equalTo(service));
423423
}
424424

425425
@Test
@@ -467,15 +467,15 @@ void whenK8sDomainWithMoreThanCallRequestLimitNumberOfPods_recordPodsPresence()
467467
}
468468

469469
@Test
470-
void whenK8sHasOneDomainWithPodButMissingInfo_dontRecordPodPresence() {
470+
void whenK8sHasOneDomainWithPodButMissingInfo_recordPodPresence() {
471471
addDomainResource(UID1, NS);
472472
V1Pod pod = createPodResource(UID1, NS, "admin");
473473
testSupport.defineResources(pod);
474474

475475
testSupport.addToPacket(ProcessingConstants.DOMAIN_PROCESSOR, dp);
476476
testSupport.runSteps(domainNamespaces.readExistingResources(NS, dp));
477477

478-
assertThat(getDomainPresenceInfo(dp, UID1).getServerPod("admin"), equalTo(null));
478+
assertThat(getDomainPresenceInfo(dp, UID1).getServerPod("admin"), equalTo(pod));
479479
}
480480

481481
@Test

0 commit comments

Comments
 (0)