[sos-devel] [v2 PATCH 1/1] Add IBM PowerKVM policy

Kamalesh Babulal kamalesh at linux.vnet.ibm.com
Thu Mar 5 08:17:04 UTC 2015


Add support for IBM PowerKVM platform, by introducing PowerKVM policy.
It defines PowerKVM specific details/environment, for sos to validate
the environment and enable plugins to collect information while running
over PowerKVM. Patch also introduces PowerKVM plugin class which could
be used by plugins, when we add support for them individually later.

Signed-off-by: Kamalesh Babulal <kamalesh at linux.vnet.ibm.com>
cc: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
cc: Bryn M. Reeves <bmr at redhat.com>
---
V2:
 * Derive PowerKVMPolicy/PowerKVMPlugin from RedHatPolicy and RedHatPlugin.

V1:
 * Create  PowerKVMPolicy/PowerKVMPlugin for IBM PowerKVM Platform.

 sos/plugins/__init__.py  |  5 +++++
 sos/policies/powerkvm.py | 51 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+)
 create mode 100644 sos/policies/powerkvm.py

diff --git a/sos/plugins/__init__.py b/sos/plugins/__init__.py
index d8ff2df..2a384d8 100644
--- a/sos/plugins/__init__.py
+++ b/sos/plugins/__init__.py
@@ -745,6 +745,11 @@ class RedHatPlugin(object):
     pass


+class PowerKVMPlugin(RedHatPlugin):
+    """Tagging class to indicate that this plugin works with IBM PowerKVM Linux"""
+    pass
+
+
 class UbuntuPlugin(object):
     """Tagging class to indicate that this plugin works with Ubuntu Linux"""
     pass
diff --git a/sos/policies/powerkvm.py b/sos/policies/powerkvm.py
new file mode 100644
index 0000000..f9e76e0
--- /dev/null
+++ b/sos/policies/powerkvm.py
@@ -0,0 +1,51 @@
+# Copyright (C) IBM Corporation, 2015
+#
+# Authors:
+#	Kamalesh Babulal <kamalesh at linux.vnet.ibm.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+#
+from __future__ import print_function
+
+from sos.plugins import PowerKVMPlugin, RedHatPlugin
+from sos.policies.redhat import RedHatPolicy
+
+import os
+
+class PowerKVMPolicy(RedHatPolicy):
+    distro = "PowerKVM"
+    vendor = "IBM"
+    vendor_url = "http://www-03.ibm.com/systems/power/software/linux/powerkvm"
+
+    def __init__(self):
+        super(PowerKVMPolicy, self).__init__()
+        self.valid_subclasses = [PowerKVMPlugin, RedHatPlugin]
+
+    @classmethod
+    def check(self):
+        """This method checks to see if we are running on PowerKVM.
+           It returns True or False."""
+        return os.path.isfile('/etc/ibm_powerkvm-release')
+
+    def dist_version(self):
+        try:
+            with open('/etc/ibm_powerkvm-release', 'r') as fp:
+				version_string = fp.read();
+                return version_string[2][0]
+            return False
+		except:
+            return False
+
+# vim: set ts=4 sw=4
--
2.1.2




More information about the sos-devel mailing list