Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ public <T> T timeControllerExecution(ControllerExecution<T> execution) throws Ex
}

@Override
public void receivedEvent(Event event, Map<String, Object> metadata) {
public void eventReceived(Event event, Map<String, Object> metadata) {
if (event instanceof ResourceEvent) {
var action = ((ResourceEvent) event).getAction();
counter(getResourceMg(event.getRelatedCustomResourceID(), metadata), RESOURCE, EVENT)
Expand All @@ -104,12 +104,12 @@ public void receivedEvent(Event event, Map<String, Object> metadata) {
}

@Override
public void cleanupDoneFor(ResourceID resourceID, Map<String, Object> metadata) {
public void cleanupDone(ResourceID resourceID, Map<String, Object> metadata) {
counter(getResourceMg(resourceID, metadata), RECONCILIATION, "cleanup").inc();
}

@Override
public void reconcileCustomResource(
public void reconciliationSubmitted(
HasMetadata resource, RetryInfo retryInfoNullable, Map<String, Object> metadata) {
var resourceID = ResourceID.fromResource(resource);
counter(getResourceMg(resourceID, metadata), RECONCILIATION).inc();
Expand All @@ -120,7 +120,8 @@ public void reconcileCustomResource(
}

@Override
public void finishedReconciliation(HasMetadata resource, Map<String, Object> metadata) {
public void reconciliationFinished(
HasMetadata resource, RetryInfo retryInfoNullable, Map<String, Object> metadata) {
counter(
getResourceMg(ResourceID.fromResource(resource), metadata),
RECONCILIATION,
Expand All @@ -129,21 +130,18 @@ public void finishedReconciliation(HasMetadata resource, Map<String, Object> met
}

@Override
public void failedReconciliation(
HasMetadata resource, Exception exception, Map<String, Object> metadata) {
public void reconciliationFailed(
HasMetadata resource,
RetryInfo retryInfoNullable,
Exception exception,
Map<String, Object> metadata) {
counter(
getResourceMg(ResourceID.fromResource(resource), metadata),
RECONCILIATION,
"failed")
.inc();
}

@Override
public <T extends Map<?, ?>> T monitorSizeOf(T map, String name) {
operatorMetricGroup.addGroup(OPERATOR_SDK_GROUP).addGroup(name).gauge("size", map::size);
return map;
}

private Histogram histogram(ControllerExecution<?> execution, String name) {
var groups = getHistoGroups(execution, name);
return histograms.computeIfAbsent(
Expand Down
58 changes: 29 additions & 29 deletions flink-kubernetes-operator/src/main/resources/META-INF/NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -28,34 +28,34 @@ This project bundles the following dependencies under the Apache Software Licens
- commons-cli:commons-cli:jar:1.5.0
- commons-collections:commons-collections:jar:3.2.2
- commons-io:commons-io:jar:2.17.0
- io.fabric8:kubernetes-client-api:jar:7.3.1
- io.fabric8:kubernetes-client:jar:7.3.1
- io.fabric8:kubernetes-httpclient-okhttp:jar:7.3.1
- io.fabric8:kubernetes-model-admissionregistration:jar:7.3.1
- io.fabric8:kubernetes-model-apiextensions:jar:7.3.1
- io.fabric8:kubernetes-model-apps:jar:7.3.1
- io.fabric8:kubernetes-model-autoscaling:jar:7.3.1
- io.fabric8:kubernetes-model-batch:jar:7.3.1
- io.fabric8:kubernetes-model-certificates:jar:7.3.1
- io.fabric8:kubernetes-model-common:jar:7.3.1
- io.fabric8:kubernetes-model-coordination:jar:7.3.1
- io.fabric8:kubernetes-model-core:jar:7.3.1
- io.fabric8:kubernetes-model-discovery:jar:7.3.1
- io.fabric8:kubernetes-model-events:jar:7.3.1
- io.fabric8:kubernetes-model-extensions:jar:7.3.1
- io.fabric8:kubernetes-model-flowcontrol:jar:7.3.1
- io.fabric8:kubernetes-model-gatewayapi:jar:7.3.1
- io.fabric8:kubernetes-model-metrics:jar:7.3.1
- io.fabric8:kubernetes-model-networking:jar:7.3.1
- io.fabric8:kubernetes-model-node:jar:7.3.1
- io.fabric8:kubernetes-model-policy:jar:7.3.1
- io.fabric8:kubernetes-model-rbac:jar:7.3.1
- io.fabric8:kubernetes-model-resource:jar:7.3.1
- io.fabric8:kubernetes-model-scheduling:jar:7.3.1
- io.fabric8:kubernetes-model-storageclass:jar:7.3.1
- io.fabric8:zjsonpatch:jar:7.3.1
- io.javaoperatorsdk:operator-framework-core:jar:5.2.2
- io.javaoperatorsdk:operator-framework:jar:5.2.2
- io.fabric8:kubernetes-client-api:jar:7.8.0
- io.fabric8:kubernetes-client:jar:7.8.0
- io.fabric8:kubernetes-httpclient-okhttp:jar:7.8.0
- io.fabric8:kubernetes-model-admissionregistration:jar:7.8.0
- io.fabric8:kubernetes-model-apiextensions:jar:7.8.0
- io.fabric8:kubernetes-model-apps:jar:7.8.0
- io.fabric8:kubernetes-model-autoscaling:jar:7.8.0
- io.fabric8:kubernetes-model-batch:jar:7.8.0
- io.fabric8:kubernetes-model-certificates:jar:7.8.0
- io.fabric8:kubernetes-model-common:jar:7.8.0
- io.fabric8:kubernetes-model-coordination:jar:7.8.0
- io.fabric8:kubernetes-model-core:jar:7.8.0
- io.fabric8:kubernetes-model-discovery:jar:7.8.0
- io.fabric8:kubernetes-model-events:jar:7.8.0
- io.fabric8:kubernetes-model-extensions:jar:7.8.0
- io.fabric8:kubernetes-model-flowcontrol:jar:7.8.0
- io.fabric8:kubernetes-model-gatewayapi:jar:7.8.0
- io.fabric8:kubernetes-model-metrics:jar:7.8.0
- io.fabric8:kubernetes-model-networking:jar:7.8.0
- io.fabric8:kubernetes-model-node:jar:7.8.0
- io.fabric8:kubernetes-model-policy:jar:7.8.0
- io.fabric8:kubernetes-model-rbac:jar:7.8.0
- io.fabric8:kubernetes-model-resource:jar:7.8.0
- io.fabric8:kubernetes-model-scheduling:jar:7.8.0
- io.fabric8:kubernetes-model-storageclass:jar:7.8.0
- io.fabric8:zjsonpatch:jar:7.8.0
- io.javaoperatorsdk:operator-framework-core:jar:5.4.0
- io.javaoperatorsdk:operator-framework:jar:5.4.0
- org.apache.commons:commons-compress:jar:1.26.0
- org.apache.commons:commons-lang3:jar:3.18.0
- org.apache.commons:commons-math3:jar:3.6.1
Expand All @@ -79,7 +79,7 @@ This project bundles the following dependencies under the Apache Software Licens
- org.yaml:snakeyaml:jar:2.5
- tools.profiler:async-profiler:jar:2.9
- io.github.java-diff-utils:java-diff-utils:4.15
- io.fabric8:kubernetes-httpclient-jdk:7.3.1
- io.fabric8:kubernetes-httpclient-jdk:7.8.0

This project bundles the following dependencies under the BSD License.
See bundled license files for details.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
import io.javaoperatorsdk.operator.api.reconciler.Context;
import io.javaoperatorsdk.operator.api.reconciler.IndexedResourceCache;
import io.javaoperatorsdk.operator.api.reconciler.ResourceOperations;
import io.javaoperatorsdk.operator.api.reconciler.RetryInfo;
import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.ManagedWorkflowAndDependentResourceContext;
import io.javaoperatorsdk.operator.processing.event.EventSourceRetriever;
Expand Down Expand Up @@ -566,11 +567,33 @@ public <T1> Set<T1> getSecondaryResources(Class<T1> aClass) {
}
}

@Override
public <R> Set<R> getSecondaryResources(Class<R> aClass, boolean b) {
return Set.of();
}

@Override
public <R> Stream<R> getSecondaryResourcesAsStream(Class<R> aClass, boolean b) {
return Stream.empty();
}

@Override
public <T1> Optional<T1> getSecondaryResource(Class<T1> aClass, String s) {
return Optional.empty();
}

@Override
public <R extends HasMetadata> Optional<R> getSecondaryResource(
Class<R> expectedType, String eventSourceName, String name, String namespace) {
return Optional.empty();
}

@Override
public <R> Stream<R> getSecondaryResourcesAsStream(
Class<R> expectedType, String eventSourceName) {
return Stream.empty();
}

@Override
public ControllerConfiguration<T> getControllerConfiguration() {
return null;
Expand All @@ -592,6 +615,11 @@ public KubernetesClient getClient() {
throw new UnsupportedOperationException("Not implemented");
}

@Override
public ResourceOperations<T> resourceOperations() {
return null;
}

@Override
public ExecutorService getWorkflowExecutorService() {
throw new UnsupportedOperationException("Not implemented");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import io.javaoperatorsdk.operator.api.reconciler.RetryInfo;
import io.javaoperatorsdk.operator.processing.GroupVersionKind;
import io.javaoperatorsdk.operator.processing.event.ResourceID;
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceAction;
import io.javaoperatorsdk.operator.processing.event.source.ResourceAction;
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEvent;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
Expand Down Expand Up @@ -120,19 +120,19 @@ public Object execute() throws Exception {

@Test
public void testMetrics() {
operatorMetrics.failedReconciliation(resource, null, metadata);
operatorMetrics.reconciliationFailed(resource, null, null, metadata);
assertEquals(1, listener.size());
assertEquals(1, getCount("Reconciliation.failed"));
operatorMetrics.failedReconciliation(resource, null, metadata);
operatorMetrics.failedReconciliation(resource, null, metadata);
operatorMetrics.reconciliationFailed(resource, null, null, metadata);
operatorMetrics.reconciliationFailed(resource, null, null, metadata);
assertEquals(1, listener.size());
assertEquals(3, getCount("Reconciliation.failed"));

operatorMetrics.reconcileCustomResource(resource, null, metadata);
operatorMetrics.reconciliationSubmitted(resource, null, metadata);
assertEquals(2, listener.size());
assertEquals(1, getCount("Reconciliation"));

operatorMetrics.reconcileCustomResource(
operatorMetrics.reconciliationSubmitted(
resource,
new RetryInfo() {
@Override
Expand All @@ -150,29 +150,23 @@ public boolean isLastAttempt() {
assertEquals(2, getCount("Reconciliation"));
assertEquals(1, getCount("Reconciliation.retries"));

operatorMetrics.receivedEvent(
operatorMetrics.eventReceived(
new ResourceEvent(ResourceAction.ADDED, resourceId, null), metadata);
assertEquals(5, listener.size());
assertEquals(1, getCount("Resource.Event"));
assertEquals(1, getCount("Resource.Event.ADDED"));

operatorMetrics.cleanupDoneFor(resourceId, metadata);
operatorMetrics.cleanupDone(resourceId, metadata);
assertEquals(6, listener.size());
assertEquals(1, getCount("Reconciliation.cleanup"));

operatorMetrics.finishedReconciliation(resource, metadata);
operatorMetrics.reconciliationFinished(resource, null, metadata);
assertEquals(7, listener.size());
assertEquals(1, getCount("Reconciliation.finished"));

operatorMetrics.monitorSizeOf(Map.of("a", "b", "c", "d"), "mymap");
assertEquals(8, listener.size());
assertEquals(
2,
listener.getGauge(listener.getMetricId("JOSDK", "mymap", "size")).get().getValue());

operatorMetrics.reconcileCustomResource(
operatorMetrics.reconciliationSubmitted(
testResource(new ResourceID("other", "otherns")), null, metadata);
assertEquals(9, listener.size());
assertEquals(8, listener.size());
assertEquals(
1,
listener.getCounter(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import io.javaoperatorsdk.operator.api.config.ControllerConfiguration;
import io.javaoperatorsdk.operator.api.reconciler.Context;
import io.javaoperatorsdk.operator.api.reconciler.IndexedResourceCache;
import io.javaoperatorsdk.operator.api.reconciler.ResourceOperations;
import io.javaoperatorsdk.operator.api.reconciler.RetryInfo;
import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.ManagedWorkflowAndDependentResourceContext;
import io.javaoperatorsdk.operator.processing.event.EventSourceRetriever;
Expand All @@ -35,6 +36,7 @@
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
import java.util.stream.Stream;

/**
* JOSDK Context for unit testing.
Expand Down Expand Up @@ -76,6 +78,16 @@ public <R> Set<R> getSecondaryResources(Class<R> expectedType) {
return (Set<R>) new HashSet<>(res);
}

@Override
public <R> Set<R> getSecondaryResources(Class<R> aClass, boolean b) {
return getSecondaryResources(aClass);
}

@Override
public <R> Stream<R> getSecondaryResourcesAsStream(Class<R> aClass, boolean b) {
return getSecondaryResources(aClass).stream();
}

@Override
public <R> Optional<R> getSecondaryResource(Class<R> expectedType, String eventSourceName) {
var resources = getSecondaryResources(expectedType);
Expand All @@ -88,6 +100,18 @@ public <R> Optional<R> getSecondaryResource(Class<R> expectedType, String eventS
}
}

@Override
public <R extends HasMetadata> Optional<R> getSecondaryResource(
Class<R> expectedType, String eventSourceName, String name, String namespace) {
return Optional.empty();
}

@Override
public <R> Stream<R> getSecondaryResourcesAsStream(
Class<R> expectedType, String eventSourceName) {
return Stream.empty();
}

@Override
public ControllerConfiguration<P> getControllerConfiguration() {
return null;
Expand All @@ -108,6 +132,11 @@ public KubernetesClient getClient() {
return kubernetesClient;
}

@Override
public ResourceOperations<P> resourceOperations() {
return null;
}

@Override
public ExecutorService getWorkflowExecutorService() {
return null;
Expand Down
Loading
Loading