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.
Context
InstanceShutdown(internal/provider/instances_v2.go) only treatsInstanceStateStoppedas shut down. An instance infailed(orstopping) reports as running, so its node never gets thenode.cloudprovider.kubernetes.io/shutdowntaint and stays schedulable.Scope
Enumerate every
oxide.InstanceStatevalue 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
InstanceStatevalue has an explicit, tested mapping.