From a2dc34cb17c2eb9981b80cd9a550559f3a74ce23 Mon Sep 17 00:00:00 2001 From: Jingyuan Liang Date: Thu, 8 Aug 2024 00:53:04 +0000 Subject: [PATCH] kubectl/describe: use function calls to build field selector Instead of using string concatenation. Signed-off-by: Jingyuan Liang --- staging/src/k8s.io/kubectl/pkg/describe/describe.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/staging/src/k8s.io/kubectl/pkg/describe/describe.go b/staging/src/k8s.io/kubectl/pkg/describe/describe.go index fc76f232475..0ed503b9369 100644 --- a/staging/src/k8s.io/kubectl/pkg/describe/describe.go +++ b/staging/src/k8s.io/kubectl/pkg/describe/describe.go @@ -3631,10 +3631,11 @@ func (d *NodeDescriber) Describe(namespace, name string, describerSettings Descr return "", err } - fieldSelector, err := fields.ParseSelector("spec.nodeName=" + name + ",status.phase!=" + string(corev1.PodSucceeded) + ",status.phase!=" + string(corev1.PodFailed)) - if err != nil { - return "", err - } + fieldSelector := fields.AndSelectors( + fields.OneTermEqualSelector("spec.nodeName", name), + fields.OneTermNotEqualSelector("status.phase", string(corev1.PodSucceeded)), + fields.OneTermNotEqualSelector("status.phase", string(corev1.PodFailed)), + ) // in a policy aware setting, users may have access to a node, but not all pods // in that case, we note that the user does not have access to the pods canViewPods := true