Project

General

Profile

Actions

Feature #730

open

Add upgrade tools

Added by Hammel over 4 years ago. Updated 11 months ago.

Status:
New
Priority:
Urgent
Assignee:
Category:
05 - Releases
Target version:
Start date:
29 Nov 2019
Due date:
% Done:

0%

Estimated time:
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 upgradesIn ProgressHammel29 Nov 2019

Actions
Actions

Also available in: Atom PDF