oxidecomputer / oxidecomputer/omicron

New instances shouldn't be placed on incompletely time-synchronized sleds

Open
#5,530 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Add/expunge sled
Dominant language
Rust
Stars
572
Forks
97
Avg merge
2d 12h
Merged PRs (30d)
96

Description

A newly added sled which didn't succeed in getting its NTP zone created (#5502) was still in use by nexus for new instance placement. Its state was set to active in the sled table once it has gone through the omdb --destructive nexus sleds add step.

According to RFD 457, the process should involve a state transition from initializing to in-service to prevent using a sled that is partially initialized for customer workload or other service zones.

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 with the sled state handling used by omdb --destructive nexus sleds add and the placement path described in the issue, then read RFD 457's sled policy. Done means a sled that has not successfully received its NTP zone remains initializing and is excluded from new instance placement until it reaches in-service.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.