Feature #730

Add upgrade tools

Added by Hammel 11 months ago. Updated 3 months ago.

Status:NewStart date:29 Nov 2019
Priority:UrgentDue date:
Assignee:Hammel% Done:

0%

Category:05 - Releases
Target version:2.0 - Harkonnen
Severity:01 - Critical

Description

Need a collection of tools to manage an upgrade. These tools will handle the following items, at a minimum.
  1. Download an update
  2. Unpack an update as the "next" bank
  3. Setup rollback (cleanup of update) in current release
  4. Setup and execute reboot via kexec to update
  5. Validate a new update after boot
  6. Rollback (reboot and cleanup) if validation fails
  7. Update active (re: "current") bank
  8. Cleanup old release on successful update
  9. Possibly kexec so that the system is now actually on the "current" bank.

The active bank update only happens after the kexec and validation because if we fail validation then nothing has changed and the system can simply boot back to the old version and clean up the downloaded update.

This methodology probably needs an update to the init script in the initramfs that supports specifying which bank to boot. The kexec would tell the init "use the 'next' bank instead of 'current'" when it mounts the overlay.

These don't need to be automated into an unattended update yet. They just need to provide the tools that an automatic update could use.


Related issues

Blocks PiBox - Feature #731: Automate upgrades New 29 Nov 2019

History

#1 Updated by Hammel 11 months ago

  • Description updated (diff)

#2 Updated by Hammel 3 months ago

  • Priority changed from High to Urgent

Also available in: Atom PDF