Skip to content

Commit 3595c74

Browse files
committed
Merge branch 'v2' of github.com:java-operator-sdk/java-operator-sdk into v2
2 parents 2bb2644 + abc56bf commit 3595c74

File tree

6 files changed

+21
-61
lines changed

6 files changed

+21
-61
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceEventSource.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@
66
import org.slf4j.Logger;
77
import org.slf4j.LoggerFactory;
88

9+
import io.fabric8.kubernetes.api.model.KubernetesResourceList;
910
import io.fabric8.kubernetes.client.CustomResource;
1011
import io.fabric8.kubernetes.client.KubernetesClientException;
12+
import io.fabric8.kubernetes.client.dsl.FilterWatchListDeletable;
1113
import io.fabric8.kubernetes.client.informers.ResourceEventHandler;
1214
import io.fabric8.kubernetes.client.informers.SharedIndexInformer;
1315
import io.fabric8.kubernetes.client.informers.cache.Cache;
@@ -23,7 +25,6 @@
2325
import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getName;
2426
import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getUID;
2527
import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getVersion;
26-
import static io.javaoperatorsdk.operator.processing.event.internal.LabelSelectorParser.parseSimpleLabelSelector;
2728

2829
/**
2930
* This is a special case since is not bound to a single custom resource
@@ -74,16 +75,16 @@ public void start() {
7475

7576
try {
7677
if (ControllerConfiguration.allNamespacesWatched(targetNamespaces)) {
77-
var informer = client.inAnyNamespace()
78-
.withLabels(parseSimpleLabelSelector(labelSelector)).inform(this);
79-
sharedIndexInformers.put(ANY_NAMESPACE_MAP_KEY, informer);
78+
final var filteredBySelectorClient = client.inAnyNamespace()
79+
.withLabelSelector(labelSelector);
80+
final var informer =
81+
createAndRunInformerFor(filteredBySelectorClient, ANY_NAMESPACE_MAP_KEY);
8082
log.debug("Registered {} -> {} for any namespace", controller, informer);
8183
} else {
8284
targetNamespaces.forEach(
8385
ns -> {
84-
var informer = client.inNamespace(ns)
85-
.withLabels(parseSimpleLabelSelector(labelSelector)).inform(this);
86-
sharedIndexInformers.put(ns, informer);
86+
final var informer = createAndRunInformerFor(
87+
client.inNamespace(ns).withLabelSelector(labelSelector), ns);
8788
log.debug("Registered {} -> {} for namespace: {}", controller, informer,
8889
ns);
8990
});
@@ -103,6 +104,15 @@ public void start() {
103104
}
104105
}
105106

107+
private SharedIndexInformer<T> createAndRunInformerFor(
108+
FilterWatchListDeletable<T, KubernetesResourceList<T>> filteredBySelectorClient, String key) {
109+
var informer = filteredBySelectorClient.runnableInformer(0);
110+
informer.addEventHandler(this);
111+
sharedIndexInformers.put(key, informer);
112+
informer.run();
113+
return informer;
114+
}
115+
106116
@Override
107117
public void stop() {
108118
for (SharedIndexInformer<T> informer : sharedIndexInformers.values()) {

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/internal/CustomResourceSelectorTest.java

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
package io.javaoperatorsdk.operator.processing.event.internal;
22

3-
import java.text.ParseException;
4-
import java.time.LocalDateTime;
5-
import java.time.format.DateTimeFormatter;
63
import java.util.Date;
74
import java.util.Set;
85
import java.util.concurrent.TimeUnit;
@@ -18,7 +15,6 @@
1815

1916
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
2017
import io.fabric8.kubernetes.client.KubernetesClient;
21-
import io.fabric8.kubernetes.client.VersionInfo;
2218
import io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient;
2319
import io.fabric8.kubernetes.client.server.mock.KubernetesMockServer;
2420
import io.javaoperatorsdk.operator.Operator;
@@ -51,24 +47,7 @@ public class CustomResourceSelectorTest {
5147

5248
@SuppressWarnings("unchecked")
5349
@BeforeEach
54-
void setUpResources() throws ParseException {
55-
String buildDate =
56-
DateTimeFormatter.ofPattern(VersionInfo.VersionKeys.BUILD_DATE_FORMAT)
57-
.format(LocalDateTime.now());
58-
59-
server
60-
.expect()
61-
.get()
62-
.withPath("/version")
63-
.andReturn(
64-
200,
65-
new VersionInfo.Builder()
66-
.withBuildDate(buildDate)
67-
.withMajor("1")
68-
.withMinor("21")
69-
.build())
70-
.always();
71-
50+
void setUpResources() {
7251
configurationService = spy(ConfigurationService.class);
7352
when(configurationService.checkCRDAndValidateLocalModel()).thenReturn(false);
7453
when(configurationService.getVersion()).thenReturn(new Version("1", "1", new Date()));

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/internal/LabelSelectorParserTest.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/OperatorExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public String getNamespace() {
106106
}
107107

108108
@SuppressWarnings({"rawtypes"})
109-
public List<Reconciler> getControllers() {
109+
public List<Reconciler> getReconcilers() {
110110
return operator.getControllers().stream()
111111
.map(Controller::getReconciler)
112112
.collect(Collectors.toUnmodifiableList());

operator-framework/src/test/java/io/javaoperatorsdk/operator/support/TestUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,6 @@ public static void waitXms(int x) {
5858
}
5959

6060
public static int getNumberOfExecutions(OperatorExtension extension) {
61-
return ((TestExecutionInfoProvider) extension.getControllers().get(0)).getNumberOfExecutions();
61+
return ((TestExecutionInfoProvider) extension.getReconcilers().get(0)).getNumberOfExecutions();
6262
}
6363
}

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
<maven.compiler.target>${java.version}</maven.compiler.target>
4242

4343
<junit.version>5.8.1</junit.version>
44-
<fabric8-client.version>5.8.0</fabric8-client.version>
44+
<fabric8-client.version>5.10.1</fabric8-client.version>
4545
<slf4j.version>1.7.32</slf4j.version>
4646
<log4j.version>2.14.1</log4j.version>
4747
<mokito.version>4.0.0</mokito.version>

0 commit comments

Comments
 (0)