oxidecomputer / oxidecomputer/omicron
Update the `populate_switch_ports` background task for multi-rack
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 572
- Forks
- 97
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 96
Description
The populate_switch_ports task in Nexus implements a necessary part of the rack setup process. It looks up the dpd clients for the local switches, gets lists of ports from them, and populates the switch_port database table accordingly. The current version of the task uses the local configured rack ID for everything. For multirack, we'll either need to restrict the lookup so that we only query the dpd instances on the local rack, or we'll need to make other changes to the task if we want Nexus to be able to run this task for another rack's switches.
Likely depends on #5201 so that we can specifically find the local rack's instances of dpd.
Contributor 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.
Research direction
Locate the populate_switch_ports background task and review issue #5201 first, since the issue says it may provide local-rack instance lookup. Determine how the task should select DPD clients for multirack, then verify that the appropriate ports populate the switch_port table for the target rack.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100