hawkbit
hawkbit copied to clipboard
Support "Forced" vs "Soft" assignments in DMF API
Within the scope of DMF API, what does a "Froced" vs "Soft" distribution set assignment means?
Current behaviour seems to be that a DOWNLOAD_AND_INSTALL request is sent for both assignment types and there's no way to distinguish between those different assignment types.
We have use cases where we would actually like to have this "Forced" vs "Soft" assignment functionality while using DMF API (to enable user interaction before actually an update operation proceeds or to "force" it directly).
It would be nice to clarify this behaviour for DMF API.
Maybe, it's as easy as putting an attribute of "forced" vs "soft" assignment to the DOWNLOAD_AND_INSTALL message?
Yes, you are right. Currently, the concept of and update type forced
/soft
is only present in the DDI-API.
Just to understand your setup a little bit better: Are your devices directly connected to hawkBit via DMF, or is there a Device Management/Protocol Adapter component in between?
There's kind of a protocol adapter in between the device and hawkbit DMF. We could probably extend the Protocol Adapter to query from Mgmt API the update type, however I think it doesn't sound optimal.
I agree, that doesn't sound optimal. So I guess, it would make sense here, to extend the DMF-API to also communicate the update type (forced
/ soft
) in the DOWNLOAD_AND_INSTALL
payload.
@schabdo what do you think?
Indeed, we can do better here and include this piece of information into the DOWNLOAD_AND_INSTALL
message. In case of "time forced" option we'd just return either forced
or soft
. However what we are going to do in case of message with topic DOWNLOAD
?
@laverman any thoughts on this? I think we could either return always forced
or don't add the attribute at all. On DDI it's a different story, since attributes are separated:
"download": "forced",
"update": "skip"
@laverman ping
@laverman ping