smf/mgs-sim/config.toml's ignition targets might be off by one
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 66/100
Research direction
Read smf/mgs-sim/config.toml alongside smf/sp-sim/config.toml, then check the zero-indexed insertion and lookup paths in sp-sim/src/sidecar.rs. Confirm how each configured ignition target maps to a simulated SP and whether the mismatch affects the inventory exercised by .github/buildomat/jobs/deploy.sh. Done means the configuration and simulator mapping agree, with the deploy inventory check still passing.
Written by the indexing model from the issue text.
Description
The smf/sp-sim/config.toml config for the SP simulator used in the helios / deploy CI job (and I think nothing else) declares one simulated Sidecar and two simulated Gimlets. The smf/mgs-sim/config.toml that configures MGS to talk to the simulated SPs declares three switch ports with the addresses of those simulated SPs: https://github.com/oxidecomputer/omicron/blob/f079d063197dde3eef042eca49cb3e5b888f0163/smf/mgs-sim/config.toml#L73-L99
However, note that the ignition-targets here are declared as 1, 2, and 3. In the SP simulator, simulated ignition targets are pushed to a zero-indexed vec in the order that they were declared in the config file:
https://github.com/oxidecomputer/omicron/blob/f079d063197dde3eef042eca49cb3e5b888f0163/sp-sim/src/sidecar.rs#L1116-L1123
and are then accessed when ignition targets are requested by looking them up from that Vec (again, zero-indexedly):
This means that if helios / deploy's control plane tries to use ignition, it may end up getting the wrong ignition target, or getting an InvalidPort error when it doesn't expect one, depending on which ignition target it requests.
Luckily, it appears that this 🌈DOESN'T ACTUALLY MATTER AT ALL✨.
The only thing that helios / deploy currently does that exercises ignition is inventory collection, and the only thing the CI job currently does with inventory collection is "assert that there is at least one inventory collection":
The fact that some simulated SPs are not going to be inventoried correctly appears to basically not matter because the test doesn't actually care whether they're all inventoried or not. So that's funny. But I guess if we're going to make this test actually care about the contents of its inventory, we should maybe fix that.
- Dominant language
- Rust
- Stars
- 610
- Forks
- 104
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 96
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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.
More from oxidecomputer/omicron
-
fault-management
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
oxidecomputer/omicron#11444 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
oxidecomputer/omicron#11397 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
oxidecomputer/omicron#11390 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
oxidecomputer/omicron#11269 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
oxidecomputer/omicron#11266 ·
Maintainers usually reply within 1 day
All issues in oxidecomputer/omicron
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
peteonrails/voxtype#909 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
alchemyplatform/rundler#1358 ·
Maintainers usually reply within 3 days
-
[BUG] VA-API HEVC: out-of-range cu_qp_delta (measured -130..+56) produces a corrupted bitstreamOpen
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
selkies-project/pixelflux#52 · 4 comments ·
Maintainers usually reply within 1 day
-
llm translation
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
BerriAI/litellm#47884 · 1 comment ·
Maintainers usually reply within 1 day
-
area:testing bug good first issue platform:windows priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day