aboutsummaryrefslogtreecommitdiffstats
path: root/sos/policies/ibmkvm.py
diff options
context:
space:
mode:
Diffstat (limited to 'sos/policies/ibmkvm.py')
-rw-r--r--sos/policies/ibmkvm.py77
1 files changed, 77 insertions, 0 deletions
diff --git a/sos/policies/ibmkvm.py b/sos/policies/ibmkvm.py
new file mode 100644
index 00000000..ff059532
--- /dev/null
+++ b/sos/policies/ibmkvm.py
@@ -0,0 +1,77 @@
+# Copyright (C) IBM Corporation, 2015
+#
+# Authors: Kamalesh Babulal <kamalesh@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, ZKVMPlugin, 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
+
+
+class ZKVMPolicy(RedHatPolicy):
+ distro = "IBM Hypervisor"
+ vendor = "IBM Hypervisor"
+ vendor_url = "http://www.ibm.com/systems/z/linux/IBMHypervisor/support/"
+
+ def __init__(self):
+ super(ZKVMPolicy, self).__init__()
+ self.valid_subclasses = [ZKVMPlugin, RedHatPlugin]
+
+ @classmethod
+ def check(self):
+ """This method checks to see if we are running on IBM Z KVM. It
+ returns True or False."""
+ return os.path.isfile('/etc/base-release')
+
+ def dist_version(self):
+ try:
+ with open('/etc/base-release', 'r') as fp:
+ version_string = fp.read()
+ return version_string.split(' ', 4)[3][0]
+ return False
+ except:
+ return False
+
+
+# vim: set ts=4 sw=4