oxidecomputer / oxidecomputer/oxide-cloud-controller-manager

[RI-20] Populate Kubernetes topology labels from Oxide failure domains

Open
#303 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Enhancement Kubernetes Cloud Controller Manager (CCM)
Dominant language
Go
Stars
6
Forks
2
Avg merge
2h 5m
Merged PRs (30d)
14

Description

The CCM’s InstanceMetadata implementation returns provider ID, instance type, and node addresses but omits zone and region metadata. Kubernetes consequently receives no topology.kubernetes.io/zone label and cannot use scheduler topology constraints to spread workloads across Oxide failure domains.

Populate a stable, distinct topology value for each Oxide failure domain through InstanceMetadata.Zone. This may depend on the Oxide API exposing a tenant-visible instance-to-failure-domain identifier; coordinate that dependency rather than assigning every node the generic value sled.

Contributor guide

No contributing guide indexed for this repository

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 CCM’s InstanceMetadata implementation and its Zone method, then trace how the Oxide API could expose a tenant-visible instance-to-failure-domain identifier. Coordinate that API dependency and verify that each failure domain produces a stable, distinct topology value so Kubernetes receives topology.kubernetes.io/zone labels rather than the generic sled value.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.