oxidecomputer / oxidecomputer/oxide.rs
`system_update_status` `components_by_release_version` is ordered randomly
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 75
- Forks
- 21
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 19
Description
When running e.g. watch oxide system update status:
Every 2.0s: oxide --resolve recovery.sys.dublin.eng.oxide.computer:443:"$(dig +short @172.20.29.1 recovery.sys.dublin.eng.oxide.computer | head -n 1)" system update status
{
"components_by_release_version": {
"23.0.0-0.ci+giteda69a8e45f": 27,
"23.0.0-0.local+gita08ad974814": 61
},
"suspended": false,
"target_release": {
"time_requested": "2026-09-17T22:10:24.555924Z",
"version": "23.0.0-0.local+gita08ad974814"
},
"time_last_step_planned": "2026-09-17T23:02:53.898713Z"
}
the keys in components_by_release_version are not presented in a consistent order, so they jump around randomly even when the values have not changed. This is a minor annoyance.
Presumably this is a HashMap -> BTreeMap sort of thing.
Contributor guide
No contributing guide indexed for this repository
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.
Research direction
Start at the system update status command and trace how components_by_release_version is serialized into the displayed JSON. Check the existing tests or output fixtures for this status response; done means the component version keys appear in a consistent sorted order across repeated runs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100