Skip to content

Commit d03b27b

Browse files
doxiaorjeberhard
authored andcommitted
Owls109699 Check existence of status to identify a new domain/cluster
1 parent 51cacf2 commit d03b27b

File tree

3 files changed

+33
-8
lines changed

3 files changed

+33
-8
lines changed

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -230,9 +230,9 @@ private boolean isNotBeingProcessed(String namespace, String domainUid) {
230230

231231
private void addDomain(DomainResource domain) {
232232
DomainPresenceInfo cachedInfo = getDomainPresenceInfoMap().get(domain.getDomainUid());
233-
if (cachedInfo == null) {
233+
if (domain.getStatus() == null) {
234234
newDomainNames.add(domain.getDomainUid());
235-
} else if (domain.isGenerationChanged(cachedInfo.getDomain())) {
235+
} else if (cachedInfo != null && domain.isGenerationChanged(cachedInfo.getDomain())) {
236236
modifiedDomainNames.add(domain.getDomainUid());
237237
}
238238
getOrComputeDomainPresenceInfo(domain.getDomainUid()).setDomain(domain);
@@ -245,9 +245,9 @@ private void addClusterList(ClusterList list) {
245245

246246
private void addCluster(ClusterResource cluster) {
247247
ClusterPresenceInfo cachedInfo = getClusterPresenceInfoMap().get(getClusterName(cluster));
248-
if (cachedInfo == null) {
248+
if (cluster.getStatus() == null) {
249249
newClusterNames.add(getClusterName(cluster));
250-
} else if (cluster.isGenerationChanged(cachedInfo.getCluster())) {
250+
} else if (cachedInfo != null && cluster.isGenerationChanged(cachedInfo.getCluster())) {
251251
modifiedClusterNames.add(getClusterName(cluster));
252252
}
253253

@@ -296,7 +296,7 @@ private void activateDomain(DomainProcessor dp, DomainPresenceInfo info) {
296296
}
297297

298298
private EventItem getEventItem(DomainPresenceInfo info) {
299-
if (newDomainNames.contains(info.getDomainUid()) || info.getDomain().getStatus() == null) {
299+
if (newDomainNames.contains(info.getDomainUid())) {
300300
return DOMAIN_CREATED;
301301
}
302302
if (modifiedDomainNames.contains(info.getDomainUid())) {
@@ -306,7 +306,7 @@ private EventItem getEventItem(DomainPresenceInfo info) {
306306
}
307307

308308
private EventItem getEventItem(ClusterResource cluster) {
309-
if (newClusterNames.contains(getClusterName(cluster)) || cluster.getStatus() == null) {
309+
if (newClusterNames.contains(getClusterName(cluster))) {
310310
return CLUSTER_CREATED;
311311
}
312312
if (modifiedClusterNames.contains(getClusterName(cluster))) {

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

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,15 +359,27 @@ void whenK8sHasOneDomain_recordAdminServerService() {
359359
}
360360

361361
@Test
362-
void whenNewDomainAdded_generateDomainCreatedEvent() {
362+
void whenNewDomainAddedWithoutStatus_generateDomainCreatedEvent() {
363363
processor.getDomainPresenceInfoMap().clear();
364364
addDomainResource(UID1, NS);
365+
DomainResource domain = testSupport.getResourceWithName(DOMAIN, UID1);
366+
domain.withStatus(null);
365367

366368
testSupport.runSteps(domainNamespaces.readExistingResources(NS, processor));
367369

368370
assertThat(testSupport, hasEvent(DOMAIN_CREATED.getReason()));
369371
}
370372

373+
@Test
374+
void whenNewDomainAddedWithStatus_dontGenerateDomainCreatedEvent() {
375+
processor.getDomainPresenceInfoMap().clear();
376+
addDomainResource(UID1, NS);
377+
378+
testSupport.runSteps(domainNamespaces.readExistingResources(NS, processor));
379+
380+
assertThat(testSupport, not(hasEvent(DOMAIN_CREATED.getReason())));
381+
}
382+
371383
@Test
372384
void whenDomainChanged_generateDomainChangedEvent() {
373385
DomainResource domain1 = createDomain(UID1, NS);

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

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1041,16 +1041,29 @@ void whenMakeRightExecuted_ignoreNonOperatorPodDisruptionBudgets() {
10411041
}
10421042

10431043
@Test
1044-
void whenNewClusterAdded_generateClusterCreatedEvent() {
1044+
void whenNewClusterAddedWithoutStatus_generateClusterCreatedEvent() {
10451045
processor.getClusterPresenceInfoMap().values().clear();
10461046
ClusterResource cluster1 = createClusterAlone(CLUSTER4, NS);
1047+
cluster1.setStatus(null);
10471048
testSupport.defineResources(cluster1);
10481049

10491050
testSupport.runSteps(domainNamespaces.readExistingResources(NS, processor));
10501051

10511052
assertThat(testSupport, hasEvent(CLUSTER_CREATED.getReason()));
10521053
}
10531054

1055+
@Test
1056+
void whenNewClusterAddedWithStatus_dontGenerateClusterCreatedEvent() {
1057+
processor.getClusterPresenceInfoMap().values().clear();
1058+
ClusterResource cluster1 = createClusterAlone(CLUSTER4, NS);
1059+
cluster1.setStatus(new ClusterStatus());
1060+
testSupport.defineResources(cluster1);
1061+
1062+
testSupport.runSteps(domainNamespaces.readExistingResources(NS, processor));
1063+
1064+
assertThat(testSupport, not(hasEvent(CLUSTER_CREATED.getReason())));
1065+
}
1066+
10541067
@Test
10551068
void whenClusterChanged_generateClusterChangedEvent() {
10561069
ClusterStatus status = new ClusterStatus().withClusterName(CLUSTER4);

0 commit comments

Comments
 (0)