oxidecomputer / oxidecomputer/hubris

Being able to power on a sled during a host flash update is probably bad

Open
#1,617 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
3.6k
Forks
239
Avg merge
1d 12h
Merged PRs (30d)
23

Description

My leading explanation for the failure in #1613 is that, while wicket was doing an image update, some other program asked the sled to power itself on into A0. That may or may not be what actually happened, of course, but the fact is that nothing in the SP will currently prevent that.

I think we probably want an interlock here that rejects attempts to go into A0 while the host flash is muxed to the SP and being actively used for something like an update.

There's some design work that needs to happen here -- is the interlock automatic in response to the host flash mux, or is it requested? Are there cases where we want to mess with the host flash without the interlock, or should it always occur? etc.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the SP handling of the host flash mux and requests to power the sled into A0, using the suspected failure in #1613 as context. Define whether the interlock is automatic or requested, whether host-flash operations can bypass it, and what behavior should be considered complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
embedded-iot
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.