in pkg/node/node.go [425:451]
func (n Node) GetNodeNameFromProviderID(providerId string) (string, error) {
if n.nthConfig.DryRun {
return "", nil
}
listOptions := metav1.ListOptions{}
nodes, err := n.drainHelper.Client.CoreV1().Nodes().List(context.TODO(), listOptions)
if err != nil {
log.Err(err).Msgf("Error when trying to list nodes to find node with ProviderID")
return "", err
}
for _, n := range nodes.Items {
if n.Spec.ProviderID == providerId {
labels := n.GetObjectMeta().GetLabels()
if hostname, ok := labels["kubernetes.io/hostname="]; ok {
return hostname, nil
}
return n.GetObjectMeta().GetName(), nil
}
}
return "", fmt.Errorf("Node with ProviderID '%s' was not found in the cluster", providerId)
}