From 17c3be1fde531579d7863d225d1a9d151520c19d Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Wed, 27 Mar 2024 18:20:48 +0100 Subject: [PATCH 1/3] feat: handle clustered resource on secondary to primary mapper init (#2321) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #2311 Overriding getPrimaryResourceType should allow to make things work even in deeper hierarchies. Signed-off-by: Chris Laprun Signed-off-by: Attila Mészáros --- .../dependent/workflow/AbstractWorkflowExecutorTest.java | 5 +++++ .../bulkdependent/ConfigMapDeleterBulkDependentResource.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/dependent/workflow/AbstractWorkflowExecutorTest.java b/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/dependent/workflow/AbstractWorkflowExecutorTest.java index 970e40eff6..f184fd909d 100644 --- a/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/dependent/workflow/AbstractWorkflowExecutorTest.java +++ b/operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/dependent/workflow/AbstractWorkflowExecutorTest.java @@ -45,6 +45,11 @@ public TestDependent(String name) { super(ConfigMap.class, name); } + @Override + protected Class getPrimaryResourceType() { + return TestCustomResource.class; + } + @Override public ReconcileResult reconcile(TestCustomResource primary, Context context) { diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/dependent/bulkdependent/ConfigMapDeleterBulkDependentResource.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/dependent/bulkdependent/ConfigMapDeleterBulkDependentResource.java index cba3db3835..6d149aa27e 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/dependent/bulkdependent/ConfigMapDeleterBulkDependentResource.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/dependent/bulkdependent/ConfigMapDeleterBulkDependentResource.java @@ -28,6 +28,11 @@ public ConfigMapDeleterBulkDependentResource() { super(ConfigMap.class); } + @Override + protected Class getPrimaryResourceType() { + return BulkDependentTestCustomResource.class; + } + @Override public Map desiredResources(BulkDependentTestCustomResource primary, Context context) { From 2bce2e24740afc5dff12cc023d06f08471254741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Mon, 8 Apr 2024 18:47:48 +0200 Subject: [PATCH 2/3] fix: error with java docs validation (#2336) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Attila Mészáros --- .../operator/api/config/ConfigurationService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ConfigurationService.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ConfigurationService.java index e59b0c21e3..7eeb29ff30 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ConfigurationService.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ConfigurationService.java @@ -369,6 +369,8 @@ default ExecutorServiceManager getExecutorServiceManager() { * * @return {@code true} if SSA should be used for dependent resources, {@code false} otherwise * @since 4.4.0 + * + * @return if SSA should be used for dependent resources */ default boolean ssaBasedCreateUpdateMatchForDependentResources() { return true; From 190555ce8e2ef3d10b6ed097a5019e38ff4e6348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Sun, 28 Apr 2024 10:20:49 +0200 Subject: [PATCH 3/3] improve: named event sources and related changes (#2340) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Attila Mészáros Signed-off-by: Chris Laprun Co-authored-by: Chris Laprun Signed-off-by: Attila Mészáros --- .../operator/processing/event/source/EventSource.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/EventSource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/EventSource.java index 850a9deb35..1365614136 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/EventSource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/EventSource.java @@ -104,4 +104,13 @@ default Optional getSecondaryResource(P primary) { default Status getStatus() { return Status.UNKNOWN; } + + default String name() { + return generateName(this); + } + + static String generateName(EventSource eventSource) { + return eventSource.getClass().getName() + "@" + Integer.toHexString(eventSource.hashCode()); + } + }