From f6149236d65814fce843b70b0825551919bb7ec7 Mon Sep 17 00:00:00 2001 From: Martin <git@mail.de> Date: Fri, 7 Mar 2025 15:46:53 +0100 Subject: [PATCH] update operator sdk 5.6.0 -> 6.0.0 and ozgcloud-common 4.9.0 -> 4.11.0 --- .../OzgCloudElasticsearchCustomResourceStatus.java | 6 ++---- .../OzgCloudElasticsearchUpdateControlBuilder.java | 7 ++++--- .../de/ozgcloud/operator/ElasticsearchReconcilerTest.java | 6 +++--- .../keycloak/client/KeycloakClientReconciler.java | 6 +++--- .../keycloak/client/OzgCloudKeycloakClientStatus.java | 3 +-- .../operator/keycloak/group/KeycloakGroupReconciler.java | 6 +++--- .../operator/keycloak/realm/KeycloakRealmReconciler.java | 8 +++++--- .../keycloak/realm/OzgCloudKeycloakRealmStatus.java | 3 +-- .../keycloak/user/OzgCloudKeycloakUserStatus.java | 6 ++---- .../operator/keycloak/user/UserUpdateControlBuilder.java | 6 +++--- .../src/main/resources/application.yml | 4 +++- .../keycloak/client/KeycloakClientReconcilerTest.java | 4 ++-- .../keycloak/group/KeycloakGroupReconcilerTest.java | 4 ++-- .../keycloak/realm/KeycloakRealmReconcilerTest.java | 2 +- pom.xml | 4 ++-- 15 files changed, 37 insertions(+), 38 deletions(-) diff --git a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchCustomResourceStatus.java b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchCustomResourceStatus.java index b1e8dc7..202f293 100644 --- a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchCustomResourceStatus.java +++ b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchCustomResourceStatus.java @@ -25,7 +25,6 @@ package de.ozgcloud.operator; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import io.javaoperatorsdk.operator.api.ObservedGenerationAwareStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -38,9 +37,8 @@ import lombok.Setter; @NoArgsConstructor @AllArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) -public class OzgCloudElasticsearchCustomResourceStatus extends ObservedGenerationAwareStatus { - +public class OzgCloudElasticsearchCustomResourceStatus { + private Long observedGeneration; private CustomResourceStatus status; - private String message; } diff --git a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchUpdateControlBuilder.java b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchUpdateControlBuilder.java index 93f3cb6..a487918 100644 --- a/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchUpdateControlBuilder.java +++ b/ozgcloud-elasticsearch-operator/src/main/java/de/ozgcloud/operator/OzgCloudElasticsearchUpdateControlBuilder.java @@ -69,7 +69,8 @@ class OzgCloudElasticsearchUpdateControlBuilder { } private OzgCloudElasticsearchCustomResourceStatus buildElasticCustomResourceStatus() { - var userStatus = OzgCloudElasticsearchCustomResourceStatus.builder().status(status); + var userStatus = OzgCloudElasticsearchCustomResourceStatus.builder().status(status) + .observedGeneration(resource.getMetadata().getGeneration()); message.ifPresent(userStatus::message); return userStatus.build(); @@ -77,8 +78,8 @@ class OzgCloudElasticsearchUpdateControlBuilder { private UpdateControl<OzgCloudElasticsearchCustomResource> buildUpdateControl() { if (reschedule) { - return UpdateControl.updateStatus(resource).rescheduleAfter(scheduleDuration); + return UpdateControl.patchResourceAndStatus(resource).rescheduleAfter(scheduleDuration); } - return UpdateControl.updateStatus(resource); + return UpdateControl.patchResourceAndStatus(resource); } } diff --git a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/ElasticsearchReconcilerTest.java b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/ElasticsearchReconcilerTest.java index 904ead4..9185d00 100644 --- a/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/ElasticsearchReconcilerTest.java +++ b/ozgcloud-elasticsearch-operator/src/test/java/de/ozgcloud/operator/ElasticsearchReconcilerTest.java @@ -155,14 +155,14 @@ class ElasticsearchReconcilerTest { void shouldContainResource() { var updateControl = buildExceptionUpdateControl(); - assertThat(updateControl.getResource()).isEqualTo(resource); + assertThat(updateControl.getResource().get()).isEqualTo(resource); } @Test void shouldContainUpdateStatus() { var updateControl = buildExceptionUpdateControl(); - assertThat(updateControl.getResource().getStatus().getStatus()).isEqualTo(CustomResourceStatus.ERROR); + assertThat(updateControl.getResource().get().getStatus().getStatus()).isEqualTo(CustomResourceStatus.ERROR); } @Test @@ -176,7 +176,7 @@ class ElasticsearchReconcilerTest { void shouldContainMessage() { var updateControl = buildExceptionUpdateControl(); - assertThat(updateControl.getResource().getStatus().getMessage()).isEqualTo(EXCEPTION_MESSAGE); + assertThat(updateControl.getResource().get().getStatus().getMessage()).isEqualTo(EXCEPTION_MESSAGE); } private UpdateControl<OzgCloudElasticsearchCustomResource> buildExceptionUpdateControl() { diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconciler.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconciler.java index 178645e..0be7660 100644 --- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconciler.java +++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconciler.java @@ -63,19 +63,19 @@ public class KeycloakClientReconciler implements Reconciler<OzgCloudKeycloakClie } catch (Exception e) { LOG.error(resource.getMetadata().getName() + " could not reconcile in namespace " + resource.getMetadata().getNamespace(), e); resource.setStatus(OzgCloudKeycloakClientStatus.builder().status(OzgCloudCustomResourceStatus.ERROR).message(e.getMessage()).build()); - return UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); + return UpdateControl.patchResourceAndStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); } } private UpdateControl<OzgCloudKeycloakClient> buildStatusOk(OzgCloudKeycloakClient resource) { resource.setStatus(OzgCloudKeycloakClientStatus.builder().status(OzgCloudCustomResourceStatus.OK).message(null).build()); - return UpdateControl.updateStatus(resource); + return UpdateControl.patchResourceAndStatus(resource); } private UpdateControl<OzgCloudKeycloakClient> buildStatusInProgress(OzgCloudKeycloakClient resource, String errorMessage) { LOG.info("{} could not yet reconcile in namespace {}: {}", resource.getMetadata().getName(), resource.getMetadata().getNamespace(), errorMessage); resource.setStatus(OzgCloudKeycloakClientStatus.builder().status(OzgCloudCustomResourceStatus.IN_PROGRESS).message(errorMessage).build()); - return UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); + return UpdateControl.patchResourceAndStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); } } diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClientStatus.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClientStatus.java index 56c6f8a..5aaf7ab 100644 --- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClientStatus.java +++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/client/OzgCloudKeycloakClientStatus.java @@ -39,8 +39,7 @@ import lombok.Setter; @AllArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) class OzgCloudKeycloakClientStatus { - + private Long observedGeneration; private OzgCloudCustomResourceStatus status; - private String message; } diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconciler.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconciler.java index c7ad20e..6c0f793 100644 --- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconciler.java +++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconciler.java @@ -62,19 +62,19 @@ public class KeycloakGroupReconciler implements Reconciler<OzgCloudKeycloakGroup } catch (Exception e) { LOG.warn(resource.getMetadata().getName() + " could not reconcile in namespace " + resource.getMetadata().getNamespace(), e); resource.setStatus(OzgCloudKeycloakGroupStatus.builder().status(OzgCloudCustomResourceStatus.ERROR).message(e.getMessage()).build()); - return UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); + return UpdateControl.patchResourceAndStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); } } private UpdateControl<OzgCloudKeycloakGroup> buildStatusOk(OzgCloudKeycloakGroup resource) { resource.setStatus(OzgCloudKeycloakGroupStatus.builder().status(OzgCloudCustomResourceStatus.OK).message(null).build()); - return UpdateControl.updateStatus(resource); + return UpdateControl.patchResourceAndStatus(resource); } private UpdateControl<OzgCloudKeycloakGroup> buildStatusInProgress(OzgCloudKeycloakGroup resource, String errorMessage) { LOG.warn("{} could not yet reconcile group in namespace {}: {}", resource.getMetadata().getName(), resource.getMetadata().getNamespace(), errorMessage); resource.setStatus(OzgCloudKeycloakGroupStatus.builder().status(OzgCloudCustomResourceStatus.IN_PROGRESS).message(errorMessage).build()); - return UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); + return UpdateControl.patchResourceAndStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); } } \ No newline at end of file diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconciler.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconciler.java index 3f2e8fe..96d7591 100644 --- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconciler.java +++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconciler.java @@ -52,13 +52,15 @@ public class KeycloakRealmReconciler implements Reconciler<OzgCloudKeycloakRealm service.createOrUpdateRealm(resource.getSpec(), realmName); - resource.setStatus(OzgCloudKeycloakRealmStatus.builder().status(OzgCloudCustomResourceStatus.OK).message(null).build()); - return UpdateControl.updateStatus(resource); + resource.setStatus(OzgCloudKeycloakRealmStatus.builder().status(OzgCloudCustomResourceStatus.OK).message(null) + .observedGeneration(resource.getMetadata().getGeneration()) + .build()); + return UpdateControl.patchResourceAndStatus(resource); } catch (Exception e) { LOG.warn(resource.getMetadata().getName() + " could not reconcile in namespace " + resource.getMetadata().getNamespace(), e); resource.setStatus(OzgCloudKeycloakRealmStatus.builder().status(OzgCloudCustomResourceStatus.ERROR).message(e.getMessage()).build()); - return UpdateControl.updateStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); + return UpdateControl.patchResourceAndStatus(resource).rescheduleAfter(Config.RECONCILER_RETRY_SECONDS); } } diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmStatus.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmStatus.java index 9b3a40c..924f30c 100644 --- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmStatus.java +++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/realm/OzgCloudKeycloakRealmStatus.java @@ -39,8 +39,7 @@ import lombok.Setter; @AllArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) class OzgCloudKeycloakRealmStatus { - + private Long observedGeneration; private OzgCloudCustomResourceStatus status; - private String message; } diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUserStatus.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUserStatus.java index a57162f..fa03102 100644 --- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUserStatus.java +++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/OzgCloudKeycloakUserStatus.java @@ -26,7 +26,6 @@ package de.ozgcloud.operator.keycloak.user; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import de.ozgcloud.operator.keycloak.OzgCloudCustomResourceStatus; -import io.javaoperatorsdk.operator.api.ObservedGenerationAwareStatus; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -39,9 +38,8 @@ import lombok.Setter; @NoArgsConstructor @AllArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) -class OzgCloudKeycloakUserStatus extends ObservedGenerationAwareStatus { - +class OzgCloudKeycloakUserStatus { + private Long observedGeneration; private OzgCloudCustomResourceStatus status; - private String message; } diff --git a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java index 9ca47e0..0301c7f 100644 --- a/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java +++ b/ozgcloud-keycloak-operator/src/main/java/de/ozgcloud/operator/keycloak/user/UserUpdateControlBuilder.java @@ -70,7 +70,7 @@ class UserUpdateControlBuilder { } private OzgCloudKeycloakUserStatus buildOzgCloudKeycloakUserStatus() { - var userStatus = OzgCloudKeycloakUserStatus.builder().status(status); + var userStatus = OzgCloudKeycloakUserStatus.builder().status(status).observedGeneration(resource.getMetadata().getGeneration()); message.ifPresent(userStatus::message); return userStatus.build(); @@ -78,8 +78,8 @@ class UserUpdateControlBuilder { private UpdateControl<OzgCloudKeycloakUser> buildUpdateControl() { if (reschedule) { - return UpdateControl.updateStatus(resource).rescheduleAfter(scheduleDuration); + return UpdateControl.patchResourceAndStatus(resource).rescheduleAfter(scheduleDuration); } - return UpdateControl.updateStatus(resource); + return UpdateControl.patchResourceAndStatus(resource); } } diff --git a/ozgcloud-keycloak-operator/src/main/resources/application.yml b/ozgcloud-keycloak-operator/src/main/resources/application.yml index 1614578..34d078e 100644 --- a/ozgcloud-keycloak-operator/src/main/resources/application.yml +++ b/ozgcloud-keycloak-operator/src/main/resources/application.yml @@ -1,4 +1,6 @@ - +logging: + level: + ROOT: WARN management: server: port: 8081 diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconcilerTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconcilerTest.java index a7ddbd8..8e8b458 100644 --- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconcilerTest.java +++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/client/KeycloakClientReconcilerTest.java @@ -74,7 +74,7 @@ class KeycloakClientReconcilerTest { void shouldSetStatusOk() { var response = reconciler.reconcile(OzgCloudKeycloakClientTestFactory.create(), null); - assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK); + assertThat(response.getResource().get().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK); } @Test @@ -83,7 +83,7 @@ class KeycloakClientReconcilerTest { var response = reconciler.reconcile(OzgCloudKeycloakClientTestFactory.create(), null); - assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.IN_PROGRESS); + assertThat(response.getResource().get().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.IN_PROGRESS); } } } diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconcilerTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconcilerTest.java index bb568f7..e7390c7 100644 --- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconcilerTest.java +++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/group/KeycloakGroupReconcilerTest.java @@ -73,7 +73,7 @@ class KeycloakGroupReconcilerTest { void shouldSetStatusOk() { var response = reconciler.reconcile(KEYCLOAK_GROUP, null); - assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK); + assertThat(response.getResource().get().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK); } @Test @@ -82,7 +82,7 @@ class KeycloakGroupReconcilerTest { var response = reconciler.reconcile(KEYCLOAK_GROUP, null); - assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.IN_PROGRESS); + assertThat(response.getResource().get().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.IN_PROGRESS); } } } diff --git a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java index 986de53..bf3848c 100644 --- a/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java +++ b/ozgcloud-keycloak-operator/src/test/java/de/ozgcloud/operator/keycloak/realm/KeycloakRealmReconcilerTest.java @@ -73,7 +73,7 @@ class KeycloakRealmReconcilerTest { void shouldSetStatusOk() { var response = reconciler.reconcile(OzgCloudKeycloakRealmTestFactory.create(), null); - assertThat(response.getResource().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK); + assertThat(response.getResource().get().getStatus().getStatus()).isEqualTo(OzgCloudCustomResourceStatus.OK); } } diff --git a/pom.xml b/pom.xml index 573bdde..c252a0a 100644 --- a/pom.xml +++ b/pom.xml @@ -30,7 +30,7 @@ <parent> <groupId>de.ozgcloud.common</groupId> <artifactId>ozgcloud-common-parent</artifactId> - <version>4.9.0</version> + <version>4.11.0</version> </parent> <groupId>de.ozgcloud</groupId> @@ -48,7 +48,7 @@ </modules> <properties> - <operator-sdk.version>5.6.0</operator-sdk.version> + <operator-sdk.version>6.0.0</operator-sdk.version> <!-- tools --> <reflections.version>0.10.2</reflections.version> -- GitLab