diff --git a/cluster-autoscaler/cloudprovider/vultr/OWNERS b/cluster-autoscaler/cloudprovider/vultr/OWNERS index 1248e0bafa8..0507a7b4d0f 100644 --- a/cluster-autoscaler/cloudprovider/vultr/OWNERS +++ b/cluster-autoscaler/cloudprovider/vultr/OWNERS @@ -1,4 +1,6 @@ approvers: -#- ddymko +#- happytreees +#- optik-aper reviewers: -#- ddymko +#- happytreees +#- optik-aper diff --git a/cluster-autoscaler/cloudprovider/vultr/vultr_node_group.go b/cluster-autoscaler/cloudprovider/vultr/vultr_node_group.go index 0b96d76b619..a5960657a29 100644 --- a/cluster-autoscaler/cloudprovider/vultr/vultr_node_group.go +++ b/cluster-autoscaler/cloudprovider/vultr/vultr_node_group.go @@ -103,13 +103,13 @@ func (n *NodeGroup) IncreaseSize(delta int) error { func (n *NodeGroup) DeleteNodes(nodes []*apiv1.Node) error { for _, node := range nodes { nodeID, ok := node.Labels[nodeIDLabel] + providerID := node.Spec.ProviderID - //todo review this if !ok { - // CA creates fake node objects to represent upcoming VMs that - // haven't registered as nodes yet. We cannot delete the node at - // this point. - return fmt.Errorf("cannot delete node %q with provider ID %q on node pool %q: node ID label %q is missing", node.Name, node.Spec.ProviderID, n.id, nodeIDLabel) + if providerID == "" { + return fmt.Errorf("cannot delete node %q on node pool %q: missing provider ID and node ID label %q", node.Name, n.id, nodeIDLabel) + } + nodeID = toNodeID(providerID) } err := n.client.DeleteNodePoolInstance(context.Background(), n.clusterID, n.id, nodeID)