From 475fb5bd682c735b7620d84618ed0d14207b790c Mon Sep 17 00:00:00 2001 From: Silas Della Contrada Date: Mon, 26 Dec 2022 02:53:24 +0100 Subject: [PATCH 1/2] fix: don't require namespace in KubernetesDependentResource.prepare() --- .../KubernetesDependentResource.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java index a8bfcb798c..4cb5352990 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java @@ -1,13 +1,7 @@ package io.javaoperatorsdk.operator.processing.dependent.kubernetes; -import java.util.HashMap; -import java.util.Optional; -import java.util.Set; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import io.fabric8.kubernetes.api.model.HasMetadata; +import io.fabric8.kubernetes.api.model.Namespaced; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.dsl.Resource; import io.javaoperatorsdk.operator.OperatorException; @@ -27,6 +21,12 @@ import io.javaoperatorsdk.operator.processing.event.source.SecondaryToPrimaryMapper; import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource; import io.javaoperatorsdk.operator.processing.event.source.informer.Mappers; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashMap; +import java.util.Optional; +import java.util.Set; @Ignore @Configured(by = KubernetesDependent.class, with = KubernetesDependentResourceConfig.class, @@ -168,7 +168,11 @@ protected Resource prepare(R desired, P primary, String actionName) { } else if (useDefaultAnnotationsToIdentifyPrimary()) { addDefaultSecondaryToPrimaryMapperAnnotations(desired, primary); } - return client.resource(desired).inNamespace(desired.getMetadata().getNamespace()); + if (desired instanceof Namespaced) { + return client.resource(desired).inNamespace(desired.getMetadata().getNamespace()); + } else { + return client.resource(desired); + } } @Override From 2bebe22e8dcff9328d9185ead78aa93729d6d4fa Mon Sep 17 00:00:00 2001 From: Silas Della Contrada Date: Tue, 27 Dec 2022 16:26:20 +0100 Subject: [PATCH 2/2] fix: format with mvn clean install --- .../kubernetes/KubernetesDependentResource.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java index 4cb5352990..5e2b209a71 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/KubernetesDependentResource.java @@ -1,5 +1,12 @@ package io.javaoperatorsdk.operator.processing.dependent.kubernetes; +import java.util.HashMap; +import java.util.Optional; +import java.util.Set; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import io.fabric8.kubernetes.api.model.HasMetadata; import io.fabric8.kubernetes.api.model.Namespaced; import io.fabric8.kubernetes.client.KubernetesClient; @@ -21,12 +28,6 @@ import io.javaoperatorsdk.operator.processing.event.source.SecondaryToPrimaryMapper; import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource; import io.javaoperatorsdk.operator.processing.event.source.informer.Mappers; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.HashMap; -import java.util.Optional; -import java.util.Set; @Ignore @Configured(by = KubernetesDependent.class, with = KubernetesDependentResourceConfig.class, @@ -163,11 +164,13 @@ protected Resource prepare(R desired, P primary, String actionName) { actionName, desired.getClass(), ResourceID.fromResource(desired)); + if (addOwnerReference()) { desired.addOwnerReference(primary); } else if (useDefaultAnnotationsToIdentifyPrimary()) { addDefaultSecondaryToPrimaryMapperAnnotations(desired, primary); } + if (desired instanceof Namespaced) { return client.resource(desired).inNamespace(desired.getMetadata().getNamespace()); } else {