oxidecomputer / oxidecomputer/omicron

inventory should report mupdate-overridden zone image sources more clearly

Open
#8,743 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

Currently, even if a mupdate override is in place, inventory reports something like:

    ZONES: 15
        ID                                       KIND                IMAGE_SOURCE
        04dd5ada-4e81-4555-8da3-42b0de7b0f96     crucible            artifact: d143108148c2b1de67323c8110300cea46f851bd8c5f72a5a491461dc10d86a8
        181d754d-46b0-4cc5-8f87-46210bfebbe2     crucible            artifact: d143108148c2b1de67323c8110300cea46f851bd8c5f72a5a491461dc10d86a8
        2bf76c43-9f15-429b-a426-26218939079c     crucible_pantry     artifact: 28e812d2f67a1c55f50f03b738673bde90e054aa01ce41e4d20ef476e8e0ba0d
        3239739d-e485-491f-9640-050338ab6444     crucible            artifact: d143108148c2b1de67323c8110300cea46f851bd8c5f72a5a491461dc10d86a8
        34c583c0-8217-4977-95ce-21a3b4c8f0e8     nexus               artifact: 5d026b72b6cb87618db49ab798d08211787c6bade70f56ab0040f377ac84183e
        3667886a-e4de-4319-bc8c-78d9557b0058     crucible            artifact: d143108148c2b1de67323c8110300cea46f851bd8c5f72a5a491461dc10d86a8
        4734ff81-60c9-4261-83a6-14d91250659f     internal_ntp        artifact: a756e9d59583901d14ffcab3186f30fbaeede878a2c81f578dd839a9f3cf69d5
        4819cef7-f3f9-4e2b-899a-690286cbcd4a     crucible            artifact: d143108148c2b1de67323c8110300cea46f851bd8c5f72a5a491461dc10d86a8
        6b93a987-0139-45a6-a674-549d1bd5513f     cockroach_db        artifact: fc3910209482c000596874b1b8ce7baf5d1d5c5f938539339a791a4632f53502
        97eca2e4-468f-4b9b-8ff1-28b215a766dc     crucible            artifact: d143108148c2b1de67323c8110300cea46f851bd8c5f72a5a491461dc10d86a8
        a39aea26-9df6-47d9-815f-fdf519d76b52     crucible            artifact: d143108148c2b1de67323c8110300cea46f851bd8c5f72a5a491461dc10d86a8
        a539e126-a506-4b1c-a79a-63b8938c821e     crucible            artifact: d143108148c2b1de67323c8110300cea46f851bd8c5f72a5a491461dc10d86a8
        af375677-5c58-402b-bda8-2d698e10e08a     crucible            artifact: d143108148c2b1de67323c8110300cea46f851bd8c5f72a5a491461dc10d86a8
        e33dc9e1-6c75-49e7-8a47-85fd1aafbce9     crucible            artifact: d143108148c2b1de67323c8110300cea46f851bd8c5f72a5a491461dc10d86a8
        f1f1e0fa-4329-4fd2-9469-bacfea6ce74e     cockroach_db        artifact: fc3910209482c000596874b1b8ce7baf5d1d5c5f938539339a791a4632f53502

as part of the ledgered sled config. While this is technically accurate, it is a bit confusing -- in reality, the image sources are overriden and the actual ones in use are from the install dataset.

What's actually going on can be figured out by looking at whether inventory reports a mupdate override in place, but it's easy to overlook this under stress. We should find a place to report this information more clearly.

Questions:

  • Thoughts on how?
  • I'm not sure whether Sled Agent should report the actual image sources in use directly, or whether the inventory displayer should infer this. The former is more data to store in CockroachDB, while the latter would mean that the override logic lives in two spots, both Sled Agent and the display code.

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 the inventory displayer presents zone image sources and how Sled Agent records or exposes mupdate overrides. Compare the two approaches raised in the issue, including whether CockroachDB would need additional data. Done requires an agreed design for clearly identifying the install-dataset image sources, rather than only the ledgered sled config sources.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, databases
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.