oxidecomputer / oxidecomputer/omicron

Update the `populate_switch_ports` background task for multi-rack

Open
#10,916 0 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 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

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.