Blob Blame History Raw
From 482029d991e1aa075aafb122cbeee911afad341c Mon Sep 17 00:00:00 2001
From: Pavel Moravec <pmoravec@redhat.com>
Date: Thu, 23 Jul 2020 15:35:31 +0200
Subject: [PATCH] [kubernetes] ignore blank+empty lines in "kubectl get nodes"
 output

In a theoretical case when the command output contains empty or blank
line, we must skip them before finding the first word there.

Resolves: #2162

Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
---
 sos/plugins/kubernetes.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sos/plugins/kubernetes.py b/sos/plugins/kubernetes.py
index 03f2c498..5f21fa3d 100644
--- a/sos/plugins/kubernetes.py
+++ b/sos/plugins/kubernetes.py
@@ -105,7 +105,11 @@ class Kubernetes(Plugin):
         nodes = self.collect_cmd_output("%s get nodes" % self.kube_cmd)
         if nodes['status'] == 0:
             for line in nodes['output'].splitlines()[1:]:
-                node = line.split()[0]
+                # find first word in the line and ignore empty+blank lines
+                words = line.split()
+                if not words:
+                    continue
+                node = words[0]
                 self.add_cmd_output(
                     "%s describe node %s" % (self.kube_cmd, node),
                     subdir='nodes'
-- 
2.26.2