Unable to install distributionset after Download Only
Hi all,
while checking out 0.3.0M6 I noticed some odd behaviour of the "Download Only"-Option during assignment or rollouts:
Assigning a distributionset as "Download Only" to a target and confirming the action with the status DOWNLOADED will lead to the following behavior:
- The target can no longer be commanded to install the distributionset from hawkbit. (Neither the "Forced" or "Soft" option during assignment creates an action)
- When creating a rollout with "Forced" or "Soft" assignment, an action is created on the target which immediately reports "Update Server: Distribution Set is already assigned. Skipping this action."
- The target state is reported as
in_sync, but the assigned distributionset is not the same as the installed distributionset. (The docs state thatin_syncmeans "Assigned Distribution Set is installed." - The only way to install a distributionset assigned with "Download Only" is to report the action as
FINISHEDfrom the client.
I think not having a way to trigger an installation after "Download Only" limits the use of this feature.
Thanks for filing this feature request. Back in the days when we introduced "download only" we especially focused on a client side trigger because the DDI foresees kind of server trigger already by splitting actual download and installation (cf. deployment.download and deployment.update within the deploymentBase) response. On exactly this separation the maintenance window is build upon by means devices are advised to download first and wait for the "install command". Another example which naturally comes to mind is the "time forced" option: In this case the update will be automatically switched from "soft" to "forced" after a given amount of time (or by manually forcing it).
Having this said, led me shed some light on the use cases we had in mind when designing "download only" option: Basic idea was to be able to ship different "updates/versions" ahead of time to the device. So afterwards device could even go completely offline (e.g for maintenance to garage, test lab, ...) and let the device itself by mean of his owner, a tester or a technician decide which one to install. Possible would even be to try out all available versions one after the other and finally report only the result back to hawkBit (or nothing if desired).
Please don't get me wrong, I just tried to outline the possible options as of today and want to understand the use case behind "Download Only" with a server side trigger