Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for updates where both OS and apps are updated #13

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

v-bertin
Copy link
Contributor

With the mixed updates (OS + apps), we had two issues :

  • first, we didn't know if it would just work ;
  • second, we didn't know in which order the chunks would be processed (OS then Apps, App A then OS then App B, etc) ;

Here is the behaviour we want to implement.

  1. The OS chunk is processed first
  2. The system reboots
  3. When the FMU client gets back online, we check if the deployment went well : if so, we can just jump right to the container chunks. If not, we stop the update and send a negative feedback to the Hawkbit server.
  4. Then, we process the container chunks. The order here does not really matter here
  5. Finally, we feedback the Hawkbit server with the final results of the update . For example, the rev of the OS deployment has been well deployed (normally if we arrived here that's because the OS deployment was imperatively successful), app A was successfully updated and restarted, app B failed to be restarted, ...

The first commit implements the behaviour described above.
Regarding the order of the chunks, chunks arrive in the same order the user drags and drops the "software updates" when creating a new Hawkbit "distribution" on Hawkbit Web Client. To force OS chunks to always be processed first, we implement a small algorithm to always push the OS chunk first in the list. (please see the second commit)

Fix notification system (except when the OS fails to be updated, the notification to Hawkbit server is always sent at the end of the update process) and change the update order (update OS -> reboot -> upadate containers -> restart containers -> notify hawkbit server).
Previously, the chunks were processed in the order where the user dragged and dropped the "software updates" when creating the Hawkbit update on Hawkbit Web Client. I was a problem because for multi-updates OS + Apps.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant