oxidecomputer / oxidecomputer/omicron

Include nvme-firmware-updater binaries into TUF repo

Open
#11,222 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
572
Forks
97
Avg merge
2d 12h
Merged PRs (30d)
96

Description

The nvme-firmware-updater tool is currently uploaded separately onto individual sleds to apply NVMe firmware updates. There is no version pinning nor linkage to a host OS or omicron version. The burden is on the person preparing the update tools or performing the update to know when/where to pick up the latest binaries.

Before NVMe firmware update is implemented in the reconfigurator-driven update process, perhaps we can mitigate human errors by requiring the pinning of nvme-firmware-updater version in omicron and automatically pulling the binaries into the TUF repo (which installinator and reconfigurator will ignore) so that the latest version can be found reliably in the zip file.

This request is meant to be a stop-gap with the expectation that the eventual solution may work in an entirely different way and it won't be expensive to do this work now and reap it out in the future.

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 how omicron pins external tool versions and how binaries are assembled into the TUF repository, then check the installinator and reconfigurator handling mentioned in the issue. Done means the pinned nvme-firmware-updater binaries are reliably included in the TUF zip while remaining ignored by installinator and reconfigurator.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.