aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJake Hunsaker <jhunsake@redhat.com>2020-01-28 16:49:02 -0500
committerJake Hunsaker <jhunsake@redhat.com>2020-01-29 17:19:43 -0500
commit6cb4ee3bf35c5d0af42d50887b126d041bb73a20 (patch)
tree3425d3302f8ef6a665050b0cac950f59fd589c72
parent86cce54ef115264873e09d620d0951fc557e472d (diff)
downloadsos-6cb4ee3bf35c5d0af42d50887b126d041bb73a20.tar.gz
[kubernetes] Collect detailed node information
Adds collection of detailed node information for each node returned by `kubectl get nodes`. Fixes: #1466 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
-rw-r--r--sos/plugins/kubernetes.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/sos/plugins/kubernetes.py b/sos/plugins/kubernetes.py
index 32b089cf..1a97de9d 100644
--- a/sos/plugins/kubernetes.py
+++ b/sos/plugins/kubernetes.py
@@ -89,13 +89,23 @@ class Kubernetes(Plugin):
# these are not namespaced, must pull separately.
global_resources = [
'namespaces',
- 'nodes',
'projects',
'pvs'
]
self.add_cmd_output([
"%s get %s" % (self.kube_cmd, res) for res in global_resources
])
+
+ # Get detailed node information
+ 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]
+ self.add_cmd_output(
+ "%s describe node %s" % (self.kube_cmd, node),
+ subdir='nodes'
+ )
+
# Also collect master metrics
self.add_cmd_output("%s get --raw /metrics" % self.kube_cmd)