Blob Blame History Raw
From 64d7cccf48aee9a07e2e4c5237034638cae30391 Mon Sep 17 00:00:00 2001
From: Daniel J Walsh <dwalsh@redhat.com>
Date: Wed, 29 Aug 2018 06:51:21 -0400
Subject: [PATCH] [crio] Add support for gathering information on cri-o
 containers

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
---
 sos/plugins/crio.py | 74 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 74 insertions(+)
 create mode 100644 sos/plugins/crio.py

diff --git a/sos/plugins/crio.py b/sos/plugins/crio.py
new file mode 100644
index 00000000..f3e9d842
--- /dev/null
+++ b/sos/plugins/crio.py
@@ -0,0 +1,74 @@
+# Copyright (C) 2018 Red Hat, Inc. Daniel Walsh <dwalsh@redhat.com>
+
+# This file is part of the sos project: https://github.com/sosreport/sos
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions of
+# version 2 of the GNU General Public License.
+#
+# See the LICENSE file in the source distribution for further information.
+
+from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin
+
+
+class CRIO(Plugin):
+
+    """CRI-O containers
+    """
+
+    plugin_name = 'crio'
+    profiles = ('container',)
+    packages = ('cri-o', "cri-tools")
+
+    option_list = [
+        ("all", "enable capture for all containers, even containers "
+            "that have terminated", 'fast', False),
+        ("logs", "capture logs for running containers",
+            'fast', False),
+    ]
+
+    def setup(self):
+        self.add_copy_spec([
+            "/etc/containers/registries.conf",
+            "/etc/containers/storage.conf",
+            "/etc/containers/mounts.conf",
+            "/etc/containers/policy.json",
+            "/etc/crio/crio.conf",
+            "/etc/crio/seccomp.json",
+            "/etc/systemd/system/cri-o.service",
+        ])
+
+        subcmds = [
+            'info',
+            'images',
+            'pods',
+            'ps',
+            'ps -a',
+            'stats',
+            'version',
+        ]
+
+        self.add_cmd_output(["crictl %s" % s for s in subcmds])
+        self.add_journal(units="cri-o")
+        self.add_cmd_output("ls -alhR /etc/cni")
+
+        ps_cmd = 'crictl ps --quiet'
+        if self.get_option('all'):
+            ps_cmd = "%s -a" % ps_cmd
+
+        img_cmd = 'cri-o images --quiet'
+        insp = set()
+
+        for icmd in [ps_cmd, img_cmd]:
+            result = self.get_command_output(icmd)
+            if result['status'] == 0:
+                for con in result['output'].splitlines():
+                    insp.add(con)
+
+        if insp:
+            for container in insp:
+                self.add_cmd_output("crictl inspect %s" % container)
+                if self.get_option('logs'):
+                    self.add_cmd_output("crictl logs -t %s" % container)
+
+# vim: set et ts=4 sw=4 :
-- 
2.17.2

From 36a82723dfc2734b18eede4b75708595345c9d7a Mon Sep 17 00:00:00 2001
From: Jake Hunsaker <jhunsake@redhat.com>
Date: Mon, 25 Feb 2019 11:50:50 -0500
Subject: [PATCH] [crio] Add tagging classes

Adds tagging classes so plugin will run on Red Hat and Ubuntu based
systems.

Resolves: #1578

Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
---
 sos/plugins/crio.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sos/plugins/crio.py b/sos/plugins/crio.py
index f3e9d842..7afdf047 100644
--- a/sos/plugins/crio.py
+++ b/sos/plugins/crio.py
@@ -11,7 +11,7 @@
 from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin
 
 
-class CRIO(Plugin):
+class CRIO(Plugin, RedHatPlugin, UbuntuPlugin):
 
     """CRI-O containers
     """
-- 
2.17.2