oxidecomputer / oxidecomputer/hubris
Allow ovewrite of updated images without requiring a Reset
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 239
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 23
Description
The update servers on both the RoT and SP (and I believe the control-plane-agent) will not allow an update to start if one has already completed without a reset. While this prevents accidentally reflashing the same image as things currently stand, it prevents the ability to fix an accidental flash which may boot into a bad image before reboot. This could occur and be noticed if, for instance, we staged updates on multiple devices, but only reset them 1 by 1. We'd discover the issue and would want to replace the broken image if possible before reset.
While this doesn't protect against power outages, or things of that nature, it gives us another lever of control that may be useful.
CC @jgallagher @labbott @lzrd @cbiffle
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the update-server handling for the RoT, SP, and control-plane-agent, then reproduce an update that completes without a reset followed by a second update attempt. Done means an updated image can be replaced before reset while retaining protection against accidental reflashing; verify the behavior across the named update servers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100