Skip to content

Commit fd05c66

Browse files
Add better logging.
1 parent 9b7e73e commit fd05c66

File tree

1 file changed

+74
-4
lines changed

1 file changed

+74
-4
lines changed

pkg/node/node.go

Lines changed: 74 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -427,26 +427,53 @@ func (n Node) GetNodeNameFromProviderID(providerId string) (string, error) {
427427
return "", nil
428428
}
429429

430+
log.Debug().
431+
Str("target_provider_id", providerId).
432+
Msg("Looking up node by ProviderID")
433+
430434
listOptions := metav1.ListOptions{}
431435
nodes, err := n.drainHelper.Client.CoreV1().Nodes().List(context.TODO(), listOptions)
432436
if err != nil {
433437
log.Err(err).Msgf("Error when trying to list nodes to find node with ProviderID")
434-
435438
return "", err
436439
}
437440

441+
log.Debug().
442+
Int("total_nodes", len(nodes.Items)).
443+
Str("looking_for", providerId).
444+
Msg("Retrieved nodes from API")
445+
438446
for _, n := range nodes.Items {
447+
log.Trace().
448+
Str("node_name", n.GetObjectMeta().GetName()).
449+
Str("node_provider_id", n.Spec.ProviderID).
450+
Str("comparing_to", providerId).
451+
Bool("match", n.Spec.ProviderID == providerId).
452+
Msg("Checking node")
453+
439454
if n.Spec.ProviderID == providerId {
440455
labels := n.GetObjectMeta().GetLabels()
441456

442457
if hostname, ok := labels["kubernetes.io/hostname="]; ok {
458+
log.Debug().
459+
Str("found_hostname", hostname).
460+
Msg("Returning hostname from label")
443461
return hostname, nil
444462
}
445463

446-
return n.GetObjectMeta().GetName(), nil
464+
nodeName := n.GetObjectMeta().GetName()
465+
log.Debug().
466+
Str("found_node", nodeName).
467+
Msg("Returning node name")
468+
return nodeName, nil
447469
}
448470
}
449471

472+
log.Warn().
473+
Str("provider_id_not_found", providerId).
474+
Int("nodes_checked", len(nodes.Items)).
475+
Msg("Node with ProviderID was not found in the cluster")
476+
450477
return "", fmt.Errorf("Node with ProviderID '%s' was not found in the cluster", providerId)
451478
}
452479

@@ -652,7 +679,14 @@ func (n Node) fetchKubernetesNode(nodeName string) (*corev1.Node, error) {
652679
if n.nthConfig.DryRun {
653680
return node, nil
654681
}
682+
655683
shortNodeName := strings.Split(nodeName, ".")[0]
684+
685+
log.Debug().
686+
Str("node_name", nodeName).
687+
Str("short_node_name", shortNodeName).
688+
Msg("Attempting to fetch Kubernetes node")
689+
656690
labelSelector := metav1.LabelSelector{
657691
MatchExpressions: []metav1.LabelSelectorRequirement{
658692
{
@@ -663,11 +697,47 @@ func (n Node) fetchKubernetesNode(nodeName string) (*corev1.Node, error) {
663697
},
664698
}
665699
listOptions := metav1.ListOptions{LabelSelector: metav1.FormatLabelSelector(&labelSelector)}
700+
701+
log.Debug().
702+
Str("label_selector", metav1.FormatLabelSelector(&labelSelector)).
703+
Msg("Listing nodes with label selector")
704+
666705
matchingNodes, err := n.drainHelper.Client.CoreV1().Nodes().List(context.TODO(), listOptions)
706+
667707
if err != nil || len(matchingNodes.Items) == 0 {
668-
log.Warn().Msgf("Unable to list Nodes w/ label, falling back to direct Get lookup of node")
669-
return n.drainHelper.Client.CoreV1().Nodes().Get(context.TODO(), nodeName, metav1.GetOptions{})
708+
if err != nil {
709+
log.Warn().
710+
Err(err).
711+
Str("node_name", nodeName).
712+
Msg("Unable to list Nodes w/ label, falling back to direct Get lookup of node")
713+
} else {
714+
log.Warn().
715+
Str("node_name", nodeName).
716+
Str("label_selector", metav1.FormatLabelSelector(&labelSelector)).
717+
Int("matching_nodes", 0).
718+
Msg("No nodes found with label selector, falling back to direct Get lookup of node")
719+
}
720+
721+
node, getErr := n.drainHelper.Client.CoreV1().Nodes().Get(context.TODO(), nodeName, metav1.GetOptions{})
722+
if getErr != nil {
723+
log.Error().
724+
Err(getErr).
725+
Str("node_name", nodeName).
726+
Msg("Failed to get node directly")
727+
} else {
728+
log.Debug().
729+
Str("node_name", nodeName).
730+
Msg("Successfully fetched node via direct Get")
731+
}
732+
return node, getErr
670733
}
734+
735+
log.Debug().
736+
Str("node_name", nodeName).
737+
Int("matching_nodes", len(matchingNodes.Items)).
738+
Str("selected_node", matchingNodes.Items[0].Name).
739+
Msg("Found node(s) via label selector")
740+
671741
return &matchingNodes.Items[0], nil
672742
}
673743

0 commit comments

Comments
 (0)