From 588e0769d6ef8815011d2465fa1913011c06573f Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Wed, 12 Oct 2022 13:11:40 +0200 Subject: [PATCH 1/4] refactor: deleteBulkResource -> deleteTargetResource --- .../processing/dependent/BulkDependentResource.java | 10 ++++++---- .../dependent/BulkDependentResourceReconciler.java | 2 +- .../kubernetes/KubernetesDependentResource.java | 2 +- .../external/ExternalBulkDependentResource.java | 3 ++- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResource.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResource.java index 5912a0f75c..a86b6ee0e8 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResource.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResource.java @@ -41,14 +41,16 @@ public interface BulkDependentResource Map getSecondaryResources(P primary, Context

context); /** - * Used to delete resource if the desired count is lower than the actual count of a resource. + * Deletes the actual resource identified by the specified key if it's not in the set of desired + * secondary resources for the specified primary. * - * @param primary resource - * @param resource actual resource from the cache for the index + * @param primary the primary resource for which we want to remove now undesired secondary + * resources still present on the cluster + * @param resource the actual resource existing on the cluster that needs to be removed * @param key key of the resource * @param context actual context */ - void deleteBulkResource(P primary, R resource, String key, Context

context); + void deleteTargetResource(P primary, R resource, String key, Context

context); /** * Determines whether the specified secondary resource matches the desired state with target index diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResourceReconciler.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResourceReconciler.java index d0e3128983..b61d43e79e 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResourceReconciler.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResourceReconciler.java @@ -52,7 +52,7 @@ private void deleteBulkResourcesIfRequired(Set expectedKeys, Map actualResources, P primary, Context

context) { actualResources.forEach((key, value) -> { if (!expectedKeys.contains(key)) { - bulkDependentResource.deleteBulkResource(primary, value, key, context); + bulkDependentResource.deleteTargetResource(primary, value, key, context); } }); } 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 8674da97d2..070c8f8ffe 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 @@ -150,7 +150,7 @@ protected void handleDelete(P primary, Context

context) { } @SuppressWarnings("unused") - public void deleteBulkResource(P primary, R resource, String key, Context

context) { + public void deleteTargetResource(P primary, R resource, String key, Context

context) { client.resource(resource).delete(); } diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/external/ExternalBulkDependentResource.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/external/ExternalBulkDependentResource.java index ec8161bae8..afad17b1d9 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/external/ExternalBulkDependentResource.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/external/ExternalBulkDependentResource.java @@ -86,7 +86,8 @@ public Map getSecondaryResources( } @Override - public void deleteBulkResource(BulkDependentTestCustomResource primary, ExternalResource resource, + public void deleteTargetResource(BulkDependentTestCustomResource primary, + ExternalResource resource, String key, Context context) { externalServiceMock.delete(resource.getId()); From 3cc4bdc56d51422d02667dbabf412720601cd5fc Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Wed, 12 Oct 2022 13:48:01 +0200 Subject: [PATCH 2/4] refactor: remove now unneeded class --- .../dependent/BulkResourceDiscriminatorFactory.java | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkResourceDiscriminatorFactory.java diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkResourceDiscriminatorFactory.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkResourceDiscriminatorFactory.java deleted file mode 100644 index 8b9b6e968d..0000000000 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkResourceDiscriminatorFactory.java +++ /dev/null @@ -1,10 +0,0 @@ -package io.javaoperatorsdk.operator.processing.dependent; - -import io.fabric8.kubernetes.api.model.HasMetadata; -import io.javaoperatorsdk.operator.api.reconciler.ResourceDiscriminator; - -public interface BulkResourceDiscriminatorFactory { - - ResourceDiscriminator createResourceDiscriminator(int index); - -} From 5cfe44de06cb61ea19f00b44ca7d0fc2ace32eb8 Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Thu, 13 Oct 2022 15:44:10 +0200 Subject: [PATCH 3/4] refactor: deleteBulkResourcesIfRequired -> deleteExtraResources --- .../dependent/BulkDependentResourceReconciler.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResourceReconciler.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResourceReconciler.java index b61d43e79e..c6633f9db6 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResourceReconciler.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkDependentResourceReconciler.java @@ -28,7 +28,7 @@ public ReconcileResult reconcile(P primary, Context

context) { Map actualResources = bulkDependentResource.getSecondaryResources(primary, context); // remove existing resources that are not needed anymore according to the primary state - deleteBulkResourcesIfRequired(desiredResources.keySet(), actualResources, primary, context); + deleteExtraResources(desiredResources.keySet(), actualResources, primary, context); final List> results = new ArrayList<>(desiredResources.size()); final var updatable = bulkDependentResource instanceof Updater; @@ -45,10 +45,10 @@ public ReconcileResult reconcile(P primary, Context

context) { @Override public void delete(P primary, Context

context) { var actualResources = bulkDependentResource.getSecondaryResources(primary, context); - deleteBulkResourcesIfRequired(Collections.emptySet(), actualResources, primary, context); + deleteExtraResources(Collections.emptySet(), actualResources, primary, context); } - private void deleteBulkResourcesIfRequired(Set expectedKeys, + private void deleteExtraResources(Set expectedKeys, Map actualResources, P primary, Context

context) { actualResources.forEach((key, value) -> { if (!expectedKeys.contains(key)) { From acf1ed88d74105f85020e6814217c5598e7218df Mon Sep 17 00:00:00 2001 From: Chris Laprun Date: Thu, 13 Oct 2022 15:46:43 +0200 Subject: [PATCH 4/4] fix: javadoc --- .../operator/processing/dependent/BulkUpdater.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkUpdater.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkUpdater.java index ee8f08a68d..26e8a158a4 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkUpdater.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/BulkUpdater.java @@ -4,8 +4,8 @@ import io.javaoperatorsdk.operator.api.reconciler.Context; /** - * Helper for the Bulk Dependent Resources to make it more explicit that bulk needs to only - * implement the index aware match method. + * Helper for the buld Dependent Resources to make it more explicit that such dependents only to + * implement {@link BulkDependentResource#match(Object,Object,HasMetadata,Context)} * * @param secondary resource type * @param

primary resource type