From 50d34dd81eae79d237d39549afe03ff2aee5dd0c Mon Sep 17 00:00:00 2001 From: Avgustin Marinov Date: Fri, 15 Mar 2024 16:20:16 +0200 Subject: [PATCH] Expose rollout group dynamic flag via REST (#1691) Signed-off-by: Marinov Avgustin --- .../model/rolloutgroup/MgmtRolloutGroupResponseBody.java | 3 +++ .../hawkbit/mgmt/rest/resource/MgmtRolloutMapper.java | 2 ++ .../main/java/org/eclipse/hawkbit/sdk/demo/SetupHelper.java | 6 +----- .../java/org/eclipse/hawkbit/sdk/device/DdiController.java | 1 + 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/hawkbit-rest/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/json/model/rolloutgroup/MgmtRolloutGroupResponseBody.java b/hawkbit-rest/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/json/model/rolloutgroup/MgmtRolloutGroupResponseBody.java index 46a495c25..34b2eeca9 100644 --- a/hawkbit-rest/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/json/model/rolloutgroup/MgmtRolloutGroupResponseBody.java +++ b/hawkbit-rest/hawkbit-mgmt-api/src/main/java/org/eclipse/hawkbit/mgmt/json/model/rolloutgroup/MgmtRolloutGroupResponseBody.java @@ -84,6 +84,9 @@ public class MgmtRolloutGroupResponseBody extends MgmtRolloutGroup { @Schema(description = "Rollouts id", example = "63") private Long rolloutGroupId; + @Schema(description = "If the rollout group is dynamic", example = "false") + private boolean dynamic; + @JsonProperty(required = true) @Schema(description = "The status of this rollout", example = "ready") private String status; diff --git a/hawkbit-rest/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutMapper.java b/hawkbit-rest/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutMapper.java index 47555db64..5783aabeb 100644 --- a/hawkbit-rest/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutMapper.java +++ b/hawkbit-rest/hawkbit-mgmt-resource/src/main/java/org/eclipse/hawkbit/mgmt/rest/resource/MgmtRolloutMapper.java @@ -211,6 +211,8 @@ final class MgmtRolloutMapper { body.setConfirmationRequired(rolloutGroup.isConfirmationRequired()); } + body.setDynamic(rolloutGroup.isDynamic()); + body.setSuccessCondition(new MgmtRolloutCondition(map(rolloutGroup.getSuccessCondition()), rolloutGroup.getSuccessConditionExp())); body.setSuccessAction( diff --git a/hawkbit-sdk/hawkbit-sdk-demo/src/main/java/org/eclipse/hawkbit/sdk/demo/SetupHelper.java b/hawkbit-sdk/hawkbit-sdk-demo/src/main/java/org/eclipse/hawkbit/sdk/demo/SetupHelper.java index e38ca60e2..21bf484e9 100644 --- a/hawkbit-sdk/hawkbit-sdk-demo/src/main/java/org/eclipse/hawkbit/sdk/demo/SetupHelper.java +++ b/hawkbit-sdk/hawkbit-sdk-demo/src/main/java/org/eclipse/hawkbit/sdk/demo/SetupHelper.java @@ -35,12 +35,8 @@ import java.util.Random; @Slf4j public class SetupHelper { - private static final String AUTHENTICATION_MODE_GATEWAY_SECURITY_TOKEN_ENABLED = "authentication.gatewaytoken.enabled"; - - /** - * Gateway token value. - */ private static final String AUTHENTICATION_MODE_GATEWAY_SECURITY_TOKEN_KEY = "authentication.gatewaytoken.key"; + private static final String AUTHENTICATION_MODE_GATEWAY_SECURITY_TOKEN_ENABLED = "authentication.gatewaytoken.enabled"; private static final String AUTHENTICATION_MODE_TARGET_SECURITY_TOKEN_ENABLED = "authentication.targettoken.enabled"; // if gateway toke is configured then the gateway auth is enabled key is set diff --git a/hawkbit-sdk/hawkbit-sdk-device/src/main/java/org/eclipse/hawkbit/sdk/device/DdiController.java b/hawkbit-sdk/hawkbit-sdk-device/src/main/java/org/eclipse/hawkbit/sdk/device/DdiController.java index dec3b0b74..f2b4cb856 100644 --- a/hawkbit-sdk/hawkbit-sdk-device/src/main/java/org/eclipse/hawkbit/sdk/device/DdiController.java +++ b/hawkbit-sdk/hawkbit-sdk-device/src/main/java/org/eclipse/hawkbit/sdk/device/DdiController.java @@ -217,6 +217,7 @@ public class DdiController { } void sendFeedback(final UpdateStatus updateStatus) { + log.debug(LOG_PREFIX + "Send feedback {} -> {}", getTenantId(), getControllerId(), currentActionId, updateStatus); getDdiApi().postDeploymentBaseActionFeedback( updateStatus.feedback(), getTenantId(), getControllerId(), currentActionId); if (updateStatus.status() == UpdateStatus.Status.SUCCESSFUL ||