hawkbit icon indicating copy to clipboard operation
hawkbit copied to clipboard

Multi-Assignments feature usage & experience

Open strailov opened this issue 11 months ago • 5 comments

Dear hawkBit community,

I hope you're doing well!

I'm reaching out to ask if anyone is actively using the Multi-Assignments feature in hawkBit. We’re considering deprecating it, and it would be helpful to understand its current usage.

If you are using this feature, could you share your experience and how critical it is to your workflow? Any feedback would be greatly appreciated!

Looking forward to your insights. Thanks in advance for your help!

strailov avatar Jan 29 '25 13:01 strailov

I'm working on implementing it now, because I need to use it for both updating a device's OS and backup software. From the user perspective, we want to reduce the number of times a user has to click "update device" by allowing the assignment of multiple at a time. From an architectural perspective, it's simpler to assign both and let them complete, than wait for the first update to complete successfully, then sending a second update.

I could package the OS and backup software together into one release (when they need to go out at the same time to reduce user interaction), but I haven't yet figured out how to set weights/force one to go prior to the other. If it were deprecated I'd have to get a little more creative.

lizziemac avatar Jan 30 '25 20:01 lizziemac

@lizziemac Didn't quite get that. Is this related to your previous question regarding Ds Types ?

strailov avatar Jan 31 '25 13:01 strailov

@strailov Yes, I updated my question here with how I'm using multi-assignment. TLDR, multi-assignment allows me to apply updates to a device in the order I want, at the same time. As a result, I can avoid needing to wait for one update to finish before applying the second update.

This makes it easier to do a first implementation of updating devices with multiple DSs. If multi-assignment is retired, I can still achieve the above, it will just require a bit more backend complexity to manage what to assign to the device when.

lizziemac avatar Feb 10 '25 19:02 lizziemac

In that case, I guess it will be better if we leave the multi-assignments feature as it is.

strailov avatar Mar 18 '25 07:03 strailov

@lizziemac, are you still using multi-assigments? We are about to finalized hawkbit 1.0 and still consider this feature as something we don't want to include into it. You haven't answer at on my question https://github.com/eclipse-hawkbit/hawkbit/issues/2153#issuecomment-2649919110. If you really need/want this, we could remove it from hawkbit, but try to make it still pluggable - so by extending hawkbit you could re-enable the behavior. If you need to assign X, Y, Z we assume you could do that with single assignment by:

  1. Install X on initial set
  2. Install Y on devices having X
  3. Install Z on having Y This should work with Dynamic rollouts and with auto-assigments

avgustinmm avatar Sep 18 '25 12:09 avgustinmm

@lizziemac, it seems that you are the only one who have interest in that feature. Do you still use this feature. If so, could you answer the questions? Also, if you just need to have multiple actions at the same time - maybe you could get it with just having your DS with requiredMigrationStep=true. Then when you create then next action - this one won't be stopped.

As for now, I'd propose remove that feature from hawkbit.

avgustinmm avatar Jan 16 '26 11:01 avgustinmm