From 63472ab356df4d3585f7408a374b5c88cbc66ff5 Mon Sep 17 00:00:00 2001 From: Likitha Vemulapalli Date: Fri, 21 Jul 2023 10:31:54 -0500 Subject: [PATCH] Allow short node name matching --- pkg/node/node.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/node/node.go b/pkg/node/node.go index 8051ce5e..ffd04bb5 100644 --- a/pkg/node/node.go +++ b/pkg/node/node.go @@ -28,7 +28,6 @@ import ( corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" @@ -606,9 +605,17 @@ func (n Node) fetchKubernetesNode(nodeName string) (*corev1.Node, error) { if n.nthConfig.DryRun { return node, nil } - - labelSelector := metav1.LabelSelector{MatchLabels: map[string]string{"kubernetes.io/hostname=": nodeName}} - listOptions := metav1.ListOptions{LabelSelector: labels.Set(labelSelector.MatchLabels).String()} + shortNodeName := strings.Split(nodeName, ".")[0] + labelSelector := metav1.LabelSelector{ + MatchExpressions: []metav1.LabelSelectorRequirement{ + { + Key: "kubernetes.io/hostname", + Operator: metav1.LabelSelectorOpIn, + Values: []string{nodeName, shortNodeName}, + }, + }, + } + listOptions := metav1.ListOptions{LabelSelector: metav1.FormatLabelSelector(&labelSelector)} matchingNodes, err := n.drainHelper.Client.CoreV1().Nodes().List(context.TODO(), listOptions) if err != nil || len(matchingNodes.Items) == 0 { log.Warn().Msgf("Unable to list Nodes w/ label, falling back to direct Get lookup of node")