oxidecomputer / oxidecomputer/oxide-cloud-controller-manager

Decide InstanceShutdown semantics for failed/stopping states

Open
#272 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Context

InstanceShutdown (internal/provider/instances_v2.go) only treats InstanceStateStopped as shut down. An instance in failed (or stopping) reports as running, so its node never gets the node.cloudprovider.kubernetes.io/shutdown taint and stays schedulable.

Scope

Enumerate every oxide.InstanceState value and decide which count as shut down for the cloud node lifecycle controller. Implement the mapping with a test per state so future SDK state additions are caught deliberately.

Done when

Every InstanceState value has an explicit, tested mapping.

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 in internal/provider/instances_v2.go at InstanceShutdown and enumerate every oxide.InstanceState value. Add a test for each state’s shutdown mapping, then run the relevant provider tests; done means every current state is explicitly and deliberately covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes
Domain
cloud
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.