From e6f6209e0175e1ce6705574dd3f205c98eb74f8e Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Sat, 26 Aug 2023 13:10:59 +0200 Subject: [PATCH] OZG-3961 differs scheduleDuration --- .../operator/keycloak/user/KeycloakUserReconciler.java | 5 +++-- .../keycloak/user/UserUpdateControlBuilder.java | 10 ++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java index 9f0b654..2647a00 100644 --- a/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java +++ b/src/main/java/de/ozgcloud/operator/keycloak/user/KeycloakUserReconciler.java @@ -28,6 +28,7 @@ import java.util.logging.Level; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import de.ozgcloud.operator.Config; import de.ozgcloud.operator.keycloak.OzgCustomResourceStatus; import io.javaoperatorsdk.operator.api.reconciler.Cleaner; import io.javaoperatorsdk.operator.api.reconciler.Context; @@ -64,7 +65,7 @@ public class KeycloakUserReconciler implements Reconciler<OzgKeycloakUser>, Clea return UserUpdateControlBuilder.fromResource(resource) .withStatus(OzgCustomResourceStatus.IN_PROGRESS) .withMessage(errorMessage) - .withReschedule() + .withReschedule(Config.RECONCILER_RETRY_SECONDS) .build(); } @@ -80,7 +81,7 @@ public class KeycloakUserReconciler implements Reconciler<OzgKeycloakUser>, Clea return UserUpdateControlBuilder.fromResource(resource) .withStatus(OzgCustomResourceStatus.ERROR) .withMessage(errorMessage) - .withReschedule() + .withReschedule(Config.RECONCILER_RETRY_SECONDS_ON_ERROR) .build(); } } diff --git a/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java b/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java index f5a083f..e8d877a 100644 --- a/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java +++ b/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java @@ -1,8 +1,8 @@ package de.ozgcloud.operator.keycloak.user; +import java.time.Duration; import java.util.Optional; -import de.ozgcloud.operator.Config; import de.ozgcloud.operator.keycloak.OzgCustomResourceStatus; import io.javaoperatorsdk.operator.api.reconciler.UpdateControl; @@ -11,7 +11,8 @@ class UserUpdateControlBuilder { private OzgKeycloakUser resource; private OzgCustomResourceStatus status; private Optional<String> message = Optional.empty(); - private boolean reschedule; + private boolean reschedule = false; + private Duration scheduleDuration; public UserUpdateControlBuilder(OzgKeycloakUser resource) { this.resource = resource; @@ -31,8 +32,9 @@ class UserUpdateControlBuilder { return this; } - public UserUpdateControlBuilder withReschedule() { + public UserUpdateControlBuilder withReschedule(Duration duration) { this.reschedule = true; + this.scheduleDuration = duration; return this; } @@ -50,7 +52,7 @@ class UserUpdateControlBuilder { private UpdateControl<OzgKeycloakUser> buildUpdateControl() { if (reschedule) { - UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); + UpdateControl.updateStatus(resource).rescheduleAfter(scheduleDuration); } return UpdateControl.updateStatus(resource); } -- GitLab