oxidecomputer / oxidecomputer/omicron

Incorporate rack ID into inventory collection system

Open
#10,968 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

The inventory collection code doesn't currently save the rack ID of the various components it tracks. For multi-rack, we will have to add this.

We may not need to add a rack ID to every type of hardware being tracked, but at a minimum we'll need to track it for the SPs; this will be necessary to address the multi-rack TODO in Nexus::sled_list_uninitialized. That said, there may be other uses of the inventory code where we'll need access to rack IDs as well, and I'll plan to add them to this issue if/when I find more. And even if there aren't any more reasons we need to track rack IDs right now, it might be a good idea to add a rack ID to more parts of the inventory system than just the SPs, assuming it's easy to do.

Note that this depends on #5201: the inventory collection code grabs the SP data from MGS, so we'll need a way to connect to other racks' MGS instances.

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 inventory collection code and the SP data path through MGS, then inspect the multi-rack TODO in Nexus::sled_list_uninitialized. Review dependency #5201 to understand how other racks' MGS instances will be reached. Done means SP inventory includes rack IDs and the multi-rack path can use them; determine whether other hardware types also need them.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.