From 8f47b930b6f8d243416fcba04b77b0d4ce6f4506 Mon Sep 17 00:00:00 2001 From: Julian Phillips Date: Sun, 28 Jan 2018 18:40:41 -0800 Subject: [PATCH 1/5] Initial Arch Linux support. Signed-off-by: Julian Phillips --- sos/policies/arch.py | 53 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 sos/policies/arch.py diff --git a/sos/policies/arch.py b/sos/policies/arch.py new file mode 100644 index 0000000000..81c45e9b64 --- /dev/null +++ b/sos/policies/arch.py @@ -0,0 +1,53 @@ +import os +from sos.policies import PackageManager, LinuxPolicy +from sos.plugins import Plugin +from sos.utilities import shell_out + + +class ArchPolicy(LinuxPolicy): + + distro = "Arch Linux" + vendor = "Arch Linux" + vendor_url = "https://www.archlinux.org/" + vendor_text = "" + # package_manager = PackageManager( + # "pacman --query | awk 'BEGIN {OFS = \"|\"} {print $1,$2}'") + valid_subclasses = [Plugin] + + def __init__(self, sysroot=None): + super(LinuxPolicy, self).__init__(sysroot=sysroot) + self.package_manager = Pacman() + + @classmethod + def check(cls): + """This method checks to see if we are running on Arch. + It returns True or False.""" + try: + with open('/etc/os-release', 'r') as f: + return "archlinux" in f.read() + except: + return False + + +class Pacman(PackageManager): + # this subclass is only needed because sos_get_command_output() + # in utilities.py sets shell=False so the pipe to awk in the + # command below used to format pacman output does not work + # pacman --query | awk 'BEGIN {OFS = \"|\"} {print $1,$2}' + + def get_pkg_list(self): + cmd = "pacman --query" + pkg_list = shell_out( + cmd, timeout=0, chroot=self.chroot + ).splitlines() + + for pkg in pkg_list: + name, version = pkg.split() + self.packages[name] = { + 'name': name, + 'version': version.split(".") + } + + return self.packages + +# vim: set et ts=4 sw=4 : From 3d649b778cab92b6aedf139ee0d724e8f45e5527 Mon Sep 17 00:00:00 2001 From: Julian Phillips Date: Mon, 29 Jan 2018 19:43:59 -0800 Subject: [PATCH 2/5] [pacman] Adding pacman plugin. Signed-off-by: Julian Phillips --- sos/plugins/pacman.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 sos/plugins/pacman.py diff --git a/sos/plugins/pacman.py b/sos/plugins/pacman.py new file mode 100644 index 0000000000..02e6f13abe --- /dev/null +++ b/sos/plugins/pacman.py @@ -0,0 +1,42 @@ +# 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, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +from sos.plugins import Plugin + + +class Pacman(Plugin): + """ Pacman specific information + """ + + plugin_name = 'pacman' + profiles = ('system', 'sysmgmt', 'packagemanager') + packages = ('pacman',) + + def setup(self): + self.add_copy_spec([ + "/etc/pacman.conf", + "/etc/makepkg.conf" + ]) + + self.add_cmd_output( + "ls -l /usr/share/libalpm/hooks /etc/pacman.d/hooks", + suggest_filename="hooks") + self.add_cmd_output([ + "checkupdates", + "pacdiff --output", + "pacman --query", + "paccache --dryrun" + ]) + +# vim: set et ts=4 sw=4 : From 8603b94f7dd249d2bfee0a21b65bd5ea47d811b8 Mon Sep 17 00:00:00 2001 From: Julian Phillips Date: Sat, 3 Feb 2018 20:35:45 -0800 Subject: [PATCH 3/5] [ArchLinux] Create new ArchPlugin tagging class. The Arch policy sets this new tagging class as its only valid subclass and the Pacman plugin now subclasses this new tagging class. With this commit the Pacman plugin is the only plugin that gets executed on an Arch system. Support for additional plugins will be added in subsequent commits, after testing. Additonal minor changes include the removal of an unused import from the Arch policy and formatting changes in the Pacman plugin. Signed-off-by: Julian Phillips --- sos/plugins/__init__.py | 5 +++++ sos/plugins/pacman.py | 11 +++++++---- sos/policies/arch.py | 9 ++------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/sos/plugins/__init__.py b/sos/plugins/__init__.py index ed55ea382c..4bc5fc67fd 100644 --- a/sos/plugins/__init__.py +++ b/sos/plugins/__init__.py @@ -1699,6 +1699,11 @@ class SuSEPlugin(object): pass +class ArchPlugin(object): + """Tagging class for Arch Linux""" + pass + + class IndependentPlugin(object): """Tagging class for plugins that can run on any platform""" pass diff --git a/sos/plugins/pacman.py b/sos/plugins/pacman.py index 02e6f13abe..3bf5c36de6 100644 --- a/sos/plugins/pacman.py +++ b/sos/plugins/pacman.py @@ -12,10 +12,10 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -from sos.plugins import Plugin +from sos.plugins import Plugin, ArchPlugin -class Pacman(Plugin): +class Pacman(Plugin, ArchPlugin): """ Pacman specific information """ @@ -26,12 +26,15 @@ class Pacman(Plugin): def setup(self): self.add_copy_spec([ "/etc/pacman.conf", - "/etc/makepkg.conf" + "/etc/makepkg.conf", + "/var/log/pacman.log" ]) self.add_cmd_output( "ls -l /usr/share/libalpm/hooks /etc/pacman.d/hooks", - suggest_filename="hooks") + suggest_filename="hooks" + ) + self.add_cmd_output([ "checkupdates", "pacdiff --output", diff --git a/sos/policies/arch.py b/sos/policies/arch.py index 81c45e9b64..6f32af3f33 100644 --- a/sos/policies/arch.py +++ b/sos/policies/arch.py @@ -1,6 +1,5 @@ -import os from sos.policies import PackageManager, LinuxPolicy -from sos.plugins import Plugin +from sos.plugins import ArchPlugin from sos.utilities import shell_out @@ -12,7 +11,7 @@ class ArchPolicy(LinuxPolicy): vendor_text = "" # package_manager = PackageManager( # "pacman --query | awk 'BEGIN {OFS = \"|\"} {print $1,$2}'") - valid_subclasses = [Plugin] + valid_subclasses = [ArchPlugin] def __init__(self, sysroot=None): super(LinuxPolicy, self).__init__(sysroot=sysroot) @@ -30,10 +29,6 @@ def check(cls): class Pacman(PackageManager): - # this subclass is only needed because sos_get_command_output() - # in utilities.py sets shell=False so the pipe to awk in the - # command below used to format pacman output does not work - # pacman --query | awk 'BEGIN {OFS = \"|\"} {print $1,$2}' def get_pkg_list(self): cmd = "pacman --query" From c042ec52c28bcbfa9fd7ac908f7a9eb6ff7f8a4a Mon Sep 17 00:00:00 2001 From: Julian Phillips Date: Wed, 14 Feb 2018 21:48:51 -0800 Subject: [PATCH 4/5] Tagged 37 classes with the ArchPlugin class. All newly tagged plugins are ones that execute as is on an Arch Linux system. No changes were made to plugin execution code. The ArchPlugin tagging class is simply imported and appended to the existing list of derived classes in each plugin. Signed-off-by: Julian Phillips --- sos/plugins/ata.py | 5 +++-- sos/plugins/block.py | 5 +++-- sos/plugins/cgroups.py | 5 +++-- sos/plugins/crypto.py | 5 +++-- sos/plugins/dbus.py | 5 +++-- sos/plugins/devicemapper.py | 9 +++++++-- sos/plugins/devices.py | 5 +++-- sos/plugins/dmraid.py | 5 +++-- sos/plugins/filesys.py | 5 +++-- sos/plugins/gdm.py | 5 +++-- sos/plugins/hardware.py | 5 +++-- sos/plugins/i18n.py | 5 +++-- sos/plugins/kernel.py | 5 +++-- sos/plugins/keyutils.py | 4 ++-- sos/plugins/kvm.py | 5 +++-- sos/plugins/libraries.py | 4 ++-- sos/plugins/libvirt.py | 5 +++-- sos/plugins/login.py | 5 +++-- sos/plugins/logrotate.py | 5 +++-- sos/plugins/lvm2.py | 5 +++-- sos/plugins/md.py | 5 +++-- sos/plugins/memory.py | 5 +++-- sos/plugins/nfs.py | 5 +++-- sos/plugins/numa.py | 5 +++-- sos/plugins/pci.py | 5 +++-- sos/plugins/perl.py | 5 +++-- sos/plugins/process.py | 5 +++-- sos/plugins/processor.py | 5 +++-- sos/plugins/python.py | 5 +++-- sos/plugins/scsi.py | 5 +++-- sos/plugins/ssh.py | 5 +++-- sos/plugins/system.py | 5 +++-- sos/plugins/systemd.py | 5 +++-- sos/plugins/udev.py | 5 +++-- sos/plugins/usb.py | 5 +++-- sos/plugins/x11.py | 5 +++-- sos/plugins/xfs.py | 5 +++-- 37 files changed, 113 insertions(+), 74 deletions(-) diff --git a/sos/plugins/ata.py b/sos/plugins/ata.py index b0c6035800..1c1337a33d 100644 --- a/sos/plugins/ata.py +++ b/sos/plugins/ata.py @@ -6,11 +6,12 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, \ + ArchPlugin import os -class Ata(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): +class Ata(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, ArchPlugin): """ ATA and IDE information """ diff --git a/sos/plugins/block.py b/sos/plugins/block.py index c457442165..21e400b584 100644 --- a/sos/plugins/block.py +++ b/sos/plugins/block.py @@ -7,10 +7,11 @@ # See the LICENSE file in the source distribution for further information. import os -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Block(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Block(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Block device information """ diff --git a/sos/plugins/cgroups.py b/sos/plugins/cgroups.py index f8d76a2dfd..d969be910d 100644 --- a/sos/plugins/cgroups.py +++ b/sos/plugins/cgroups.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Cgroups(Plugin, DebianPlugin, UbuntuPlugin): +class Cgroups(Plugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Control groups subsystem """ diff --git a/sos/plugins/crypto.py b/sos/plugins/crypto.py index a9c51bb184..6fd10cf037 100644 --- a/sos/plugins/crypto.py +++ b/sos/plugins/crypto.py @@ -8,10 +8,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Crypto(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Crypto(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """ System crypto services information """ diff --git a/sos/plugins/dbus.py b/sos/plugins/dbus.py index 606b6e941c..e3ceafaf3c 100644 --- a/sos/plugins/dbus.py +++ b/sos/plugins/dbus.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Dbus(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Dbus(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """D-Bus message bus""" plugin_name = "dbus" diff --git a/sos/plugins/devicemapper.py b/sos/plugins/devicemapper.py index a97b733693..c9970b1d30 100644 --- a/sos/plugins/devicemapper.py +++ b/sos/plugins/devicemapper.py @@ -6,10 +6,15 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class DeviceMapper(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class DeviceMapper(Plugin, + RedHatPlugin, + DebianPlugin, + UbuntuPlugin, + ArchPlugin): """device-mapper framework """ diff --git a/sos/plugins/devices.py b/sos/plugins/devices.py index ad33d91e99..76987e87dc 100644 --- a/sos/plugins/devices.py +++ b/sos/plugins/devices.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Devices(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Devices(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """ devices specific commands """ diff --git a/sos/plugins/dmraid.py b/sos/plugins/dmraid.py index c647fe12d6..1c736014de 100644 --- a/sos/plugins/dmraid.py +++ b/sos/plugins/dmraid.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Dmraid(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Dmraid(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """dmraid software RAID """ diff --git a/sos/plugins/filesys.py b/sos/plugins/filesys.py index cba662a991..0ca36ff2c6 100644 --- a/sos/plugins/filesys.py +++ b/sos/plugins/filesys.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Filesys(Plugin, DebianPlugin, UbuntuPlugin): +class Filesys(Plugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Local file systems """ diff --git a/sos/plugins/gdm.py b/sos/plugins/gdm.py index 333908912c..7683f2bc2b 100644 --- a/sos/plugins/gdm.py +++ b/sos/plugins/gdm.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Gdm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Gdm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """GNOME display manager """ diff --git a/sos/plugins/hardware.py b/sos/plugins/hardware.py index 3f79248ceb..7cf6476478 100644 --- a/sos/plugins/hardware.py +++ b/sos/plugins/hardware.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, \ + ArchPlugin -class Hardware(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Hardware(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """General hardware information """ diff --git a/sos/plugins/i18n.py b/sos/plugins/i18n.py index 0b35d11e4d..a7ed0556da 100644 --- a/sos/plugins/i18n.py +++ b/sos/plugins/i18n.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class I18n(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class I18n(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Internationalization """ diff --git a/sos/plugins/kernel.py b/sos/plugins/kernel.py index 88b146892e..5a2a934d7d 100644 --- a/sos/plugins/kernel.py +++ b/sos/plugins/kernel.py @@ -6,13 +6,14 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin import os import glob import json -class Kernel(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Kernel(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Linux kernel """ diff --git a/sos/plugins/keyutils.py b/sos/plugins/keyutils.py index 200c2cd2b0..547f4f2f64 100644 --- a/sos/plugins/keyutils.py +++ b/sos/plugins/keyutils.py @@ -8,10 +8,10 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin +from sos.plugins import Plugin, RedHatPlugin, ArchPlugin -class Keyutils(Plugin, RedHatPlugin): +class Keyutils(Plugin, RedHatPlugin, ArchPlugin): """Kernel key ring """ diff --git a/sos/plugins/kvm.py b/sos/plugins/kvm.py index f8014a0d45..eb14334a28 100644 --- a/sos/plugins/kvm.py +++ b/sos/plugins/kvm.py @@ -9,11 +9,12 @@ # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin import os -class Kvm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Kvm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Kernel virtual machine """ diff --git a/sos/plugins/libraries.py b/sos/plugins/libraries.py index 581c2ffefb..e402457f33 100644 --- a/sos/plugins/libraries.py +++ b/sos/plugins/libraries.py @@ -6,10 +6,10 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, ArchPlugin -class Libraries(Plugin, RedHatPlugin, UbuntuPlugin): +class Libraries(Plugin, RedHatPlugin, UbuntuPlugin, ArchPlugin): """Dynamic shared libraries """ diff --git a/sos/plugins/libvirt.py b/sos/plugins/libvirt.py index 883c0ddd81..b0221a1394 100644 --- a/sos/plugins/libvirt.py +++ b/sos/plugins/libvirt.py @@ -6,12 +6,13 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, \ + ArchPlugin import glob import os -class Libvirt(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): +class Libvirt(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, ArchPlugin): """libvirt virtualization API """ diff --git a/sos/plugins/login.py b/sos/plugins/login.py index 86f8bdc43c..0d66fcc0a6 100644 --- a/sos/plugins/login.py +++ b/sos/plugins/login.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Login(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Login(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """login information """ diff --git a/sos/plugins/logrotate.py b/sos/plugins/logrotate.py index f2b9faf611..e80fc7faa7 100644 --- a/sos/plugins/logrotate.py +++ b/sos/plugins/logrotate.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class LogRotate(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class LogRotate(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """LogRotate service """ diff --git a/sos/plugins/lvm2.py b/sos/plugins/lvm2.py index 24bf685fd6..3f7ebeb250 100644 --- a/sos/plugins/lvm2.py +++ b/sos/plugins/lvm2.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Lvm2(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Lvm2(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """LVM2 volume manager """ diff --git a/sos/plugins/md.py b/sos/plugins/md.py index 5850637b74..601bef5ff1 100644 --- a/sos/plugins/md.py +++ b/sos/plugins/md.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Md(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Md(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """MD RAID subsystem """ diff --git a/sos/plugins/memory.py b/sos/plugins/memory.py index 48ba150be1..59aceec8f3 100644 --- a/sos/plugins/memory.py +++ b/sos/plugins/memory.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Memory(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Memory(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Memory configuration and use """ diff --git a/sos/plugins/nfs.py b/sos/plugins/nfs.py index 833d79a244..cb2acac543 100644 --- a/sos/plugins/nfs.py +++ b/sos/plugins/nfs.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Nfs(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Nfs(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Network file system information """ plugin_name = 'nfs' diff --git a/sos/plugins/numa.py b/sos/plugins/numa.py index 67b7fcd2c3..60954c1077 100644 --- a/sos/plugins/numa.py +++ b/sos/plugins/numa.py @@ -8,11 +8,12 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin import os.path -class Numa(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Numa(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """NUMA state and configuration """ diff --git a/sos/plugins/pci.py b/sos/plugins/pci.py index 83828d801e..4daf6d5fca 100644 --- a/sos/plugins/pci.py +++ b/sos/plugins/pci.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, \ + ArchPlugin -class Pci(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): +class Pci(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, ArchPlugin): """PCI devices """ diff --git a/sos/plugins/perl.py b/sos/plugins/perl.py index 8ae7e57b27..acff16589e 100644 --- a/sos/plugins/perl.py +++ b/sos/plugins/perl.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, \ + ArchPlugin -class Perl(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): +class Perl(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, ArchPlugin): """Perl runtime""" plugin_name = "perl" diff --git a/sos/plugins/process.py b/sos/plugins/process.py index a01f93f57a..f4e403c328 100644 --- a/sos/plugins/process.py +++ b/sos/plugins/process.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Process(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Process(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """process information """ diff --git a/sos/plugins/processor.py b/sos/plugins/processor.py index e1783dcfe7..186d00dc56 100644 --- a/sos/plugins/processor.py +++ b/sos/plugins/processor.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, \ + ArchPlugin -class Processor(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): +class Processor(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, ArchPlugin): """CPU information """ diff --git a/sos/plugins/python.py b/sos/plugins/python.py index e355f518b6..2fc703fcb9 100644 --- a/sos/plugins/python.py +++ b/sos/plugins/python.py @@ -8,11 +8,12 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin import sos.policies -class Python(Plugin, DebianPlugin, UbuntuPlugin): +class Python(Plugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Python runtime """ diff --git a/sos/plugins/scsi.py b/sos/plugins/scsi.py index 18454e2109..7c589fe7fd 100644 --- a/sos/plugins/scsi.py +++ b/sos/plugins/scsi.py @@ -7,10 +7,11 @@ # See the LICENSE file in the source distribution for further information. from glob import glob -from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, \ + ArchPlugin -class Scsi(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): +class Scsi(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, ArchPlugin): """SCSI devices """ diff --git a/sos/plugins/ssh.py b/sos/plugins/ssh.py index 4b51cb518a..1e7fe25b08 100644 --- a/sos/plugins/ssh.py +++ b/sos/plugins/ssh.py @@ -8,10 +8,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Ssh(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Ssh(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Secure shell service """ diff --git a/sos/plugins/system.py b/sos/plugins/system.py index 971c89da38..10e46499fd 100644 --- a/sos/plugins/system.py +++ b/sos/plugins/system.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class System(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class System(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """core system information """ diff --git a/sos/plugins/systemd.py b/sos/plugins/systemd.py index cd21d5174e..fb07818506 100644 --- a/sos/plugins/systemd.py +++ b/sos/plugins/systemd.py @@ -8,10 +8,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Systemd(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Systemd(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """ System management daemon """ diff --git a/sos/plugins/udev.py b/sos/plugins/udev.py index a044ab4ad0..d9772f6e87 100644 --- a/sos/plugins/udev.py +++ b/sos/plugins/udev.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Udev(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Udev(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """udev dynamic device management """ diff --git a/sos/plugins/usb.py b/sos/plugins/usb.py index 1109167625..d54cb49fb6 100644 --- a/sos/plugins/usb.py +++ b/sos/plugins/usb.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin, \ + ArchPlugin -class Usb(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Usb(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """USB devices """ diff --git a/sos/plugins/x11.py b/sos/plugins/x11.py index 8322d8774f..2e170d5379 100644 --- a/sos/plugins/x11.py +++ b/sos/plugins/x11.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class X11(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class X11(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """X windowing system """ diff --git a/sos/plugins/xfs.py b/sos/plugins/xfs.py index c04ef0af3c..0eb0059d1c 100644 --- a/sos/plugins/xfs.py +++ b/sos/plugins/xfs.py @@ -6,11 +6,12 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin from six.moves import zip -class Xfs(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Xfs(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """XFS filesystem """ From 4fb78993374198c3b77bf590ccbeb23c68f059d2 Mon Sep 17 00:00:00 2001 From: Julian Phillips Date: Sun, 22 Apr 2018 19:21:17 -0700 Subject: [PATCH 5/5] Tagged 22 more plugins with the ArchPlugin class. These newly tagged plugins execute as is and produce useful output on an Arch Linux system without changes to plugin execution code. The ArchPlugin tagging class is simply imported and appended to the existing list of derived classes in each plugin. This brings the total number of classes tagged with the ArchPlugin to 60. Signed-off-by: Julian Phillips --- sos/plugins/auditd.py | 5 +++-- sos/plugins/ceph.py | 4 ++-- sos/plugins/collectd.py | 5 +++-- sos/plugins/cups.py | 5 +++-- sos/plugins/devicemapper.py | 5 +---- sos/plugins/firewalld.py | 4 ++-- sos/plugins/gluster.py | 4 ++-- sos/plugins/haproxy.py | 4 ++-- sos/plugins/ipmitool.py | 4 ++-- sos/plugins/ipvs.py | 5 +++-- sos/plugins/lightdm.py | 5 +++-- sos/plugins/monit.py | 4 ++-- sos/plugins/npm.py | 7 ++++--- sos/plugins/opencl.py | 5 +++-- sos/plugins/ppp.py | 5 +++-- sos/plugins/quagga.py | 4 ++-- sos/plugins/redis.py | 4 ++-- sos/plugins/release.py | 5 +++-- sos/plugins/salt.py | 4 ++-- sos/plugins/ssmtp.py | 4 ++-- sos/plugins/tomcat.py | 4 ++-- sos/plugins/vulkan.py | 5 +++-- sos/plugins/xinetd.py | 5 +++-- sos/policies/arch.py | 12 ++++++++++-- 24 files changed, 67 insertions(+), 51 deletions(-) diff --git a/sos/plugins/auditd.py b/sos/plugins/auditd.py index 8380a6d183..83ee8e9095 100644 --- a/sos/plugins/auditd.py +++ b/sos/plugins/auditd.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Auditd(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Auditd(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Audit daemon information """ diff --git a/sos/plugins/ceph.py b/sos/plugins/ceph.py index 6e340c6993..420c8ad6a8 100644 --- a/sos/plugins/ceph.py +++ b/sos/plugins/ceph.py @@ -6,11 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, UbuntuPlugin, ArchPlugin from socket import gethostname -class Ceph(Plugin, RedHatPlugin, UbuntuPlugin): +class Ceph(Plugin, RedHatPlugin, UbuntuPlugin, ArchPlugin): """CEPH distributed storage """ diff --git a/sos/plugins/collectd.py b/sos/plugins/collectd.py index 2e528fe994..05df05de35 100644 --- a/sos/plugins/collectd.py +++ b/sos/plugins/collectd.py @@ -8,10 +8,11 @@ # # See the LICENSE file in the source distribution for further information. import re -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Collectd(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Collectd(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): ''' Collectd config collector ''' diff --git a/sos/plugins/cups.py b/sos/plugins/cups.py index 6c159e956d..903842c984 100644 --- a/sos/plugins/cups.py +++ b/sos/plugins/cups.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Cups(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Cups(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """CUPS IPP print service """ diff --git a/sos/plugins/devicemapper.py b/sos/plugins/devicemapper.py index c9970b1d30..1f38593221 100644 --- a/sos/plugins/devicemapper.py +++ b/sos/plugins/devicemapper.py @@ -10,10 +10,7 @@ ArchPlugin -class DeviceMapper(Plugin, - RedHatPlugin, - DebianPlugin, - UbuntuPlugin, +class DeviceMapper(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """device-mapper framework """ diff --git a/sos/plugins/firewalld.py b/sos/plugins/firewalld.py index 26731fd39c..82a5d355b9 100644 --- a/sos/plugins/firewalld.py +++ b/sos/plugins/firewalld.py @@ -9,10 +9,10 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin +from sos.plugins import Plugin, RedHatPlugin, ArchPlugin -class FirewallD(Plugin, RedHatPlugin): +class FirewallD(Plugin, RedHatPlugin, ArchPlugin): """Firewall daemon """ diff --git a/sos/plugins/gluster.py b/sos/plugins/gluster.py index 1a349d9e7f..7834b66eb9 100644 --- a/sos/plugins/gluster.py +++ b/sos/plugins/gluster.py @@ -11,10 +11,10 @@ import os import glob import string -from sos.plugins import Plugin, RedHatPlugin +from sos.plugins import Plugin, RedHatPlugin, ArchPlugin -class Gluster(Plugin, RedHatPlugin): +class Gluster(Plugin, RedHatPlugin, ArchPlugin): """GlusterFS storage""" plugin_name = 'gluster' diff --git a/sos/plugins/haproxy.py b/sos/plugins/haproxy.py index 4e0c40b5b2..46f71360ad 100644 --- a/sos/plugins/haproxy.py +++ b/sos/plugins/haproxy.py @@ -8,7 +8,7 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, ArchPlugin from re import match try: @@ -17,7 +17,7 @@ from urlparse import urlparse -class HAProxy(Plugin, RedHatPlugin, DebianPlugin): +class HAProxy(Plugin, RedHatPlugin, DebianPlugin, ArchPlugin): """HAProxy load balancer """ diff --git a/sos/plugins/ipmitool.py b/sos/plugins/ipmitool.py index e3a2920f45..1fdae098d5 100644 --- a/sos/plugins/ipmitool.py +++ b/sos/plugins/ipmitool.py @@ -8,10 +8,10 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, ArchPlugin -class IpmiTool(Plugin, RedHatPlugin, DebianPlugin): +class IpmiTool(Plugin, RedHatPlugin, DebianPlugin, ArchPlugin): """IpmiTool hardware information. """ diff --git a/sos/plugins/ipvs.py b/sos/plugins/ipvs.py index a2669588a5..b7d6ca2932 100644 --- a/sos/plugins/ipvs.py +++ b/sos/plugins/ipvs.py @@ -8,10 +8,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, SoSPredicate +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, SoSPredicate, \ + ArchPlugin -class Ipvs(Plugin, RedHatPlugin, DebianPlugin): +class Ipvs(Plugin, RedHatPlugin, DebianPlugin, ArchPlugin): """Linux IP virtual server """ diff --git a/sos/plugins/lightdm.py b/sos/plugins/lightdm.py index 2135b8f795..c0b1bd5273 100644 --- a/sos/plugins/lightdm.py +++ b/sos/plugins/lightdm.py @@ -8,10 +8,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class LightDm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class LightDm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Light Display Manager """ packages = ('lightdm', ) diff --git a/sos/plugins/monit.py b/sos/plugins/monit.py index e3eecec574..3f7dde44b4 100644 --- a/sos/plugins/monit.py +++ b/sos/plugins/monit.py @@ -9,11 +9,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin +from sos.plugins import Plugin, RedHatPlugin, ArchPlugin from glob import glob -class Monit(Plugin, RedHatPlugin): +class Monit(Plugin, RedHatPlugin, ArchPlugin): """Monit monitoring daemon """ packages = ('monit',) diff --git a/sos/plugins/npm.py b/sos/plugins/npm.py index 0d4f2d241f..cd5bb840a1 100644 --- a/sos/plugins/npm.py +++ b/sos/plugins/npm.py @@ -11,10 +11,11 @@ import json from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ - SuSEPlugin + SuSEPlugin, ArchPlugin -class Npm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, SuSEPlugin): +class Npm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, SuSEPlugin, + ArchPlugin): """ Get info about available npm modules """ @@ -26,7 +27,7 @@ class Npm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, SuSEPlugin): 'fast', '')] - # in Fedora, Debian, Ubuntu and Suse the package is called npm + # in Fedora, Debian, Ubuntu, Suse and Arch the package is called npm packages = ('npm',) def _get_npm_output(self, cmd, filename, working_directory=None): diff --git a/sos/plugins/opencl.py b/sos/plugins/opencl.py index 7495fb4307..186524ae1e 100644 --- a/sos/plugins/opencl.py +++ b/sos/plugins/opencl.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class OpenCL(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class OpenCL(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """OpenCL """ diff --git a/sos/plugins/ppp.py b/sos/plugins/ppp.py index cd2798a6a8..ce97d8e030 100644 --- a/sos/plugins/ppp.py +++ b/sos/plugins/ppp.py @@ -8,10 +8,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Ppp(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Ppp(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Point-to-point protocol """ diff --git a/sos/plugins/quagga.py b/sos/plugins/quagga.py index b91ee21029..fcc862db44 100644 --- a/sos/plugins/quagga.py +++ b/sos/plugins/quagga.py @@ -8,10 +8,10 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin +from sos.plugins import Plugin, RedHatPlugin, ArchPlugin -class Quagga(Plugin, RedHatPlugin): +class Quagga(Plugin, RedHatPlugin, ArchPlugin): """Quagga routing service """ diff --git a/sos/plugins/redis.py b/sos/plugins/redis.py index 36d9052161..0e32f12f50 100644 --- a/sos/plugins/redis.py +++ b/sos/plugins/redis.py @@ -9,10 +9,10 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin +from sos.plugins import Plugin, RedHatPlugin, ArchPlugin -class Redis(Plugin, RedHatPlugin): +class Redis(Plugin, RedHatPlugin, ArchPlugin): """Redis, in-memory data structure store """ diff --git a/sos/plugins/release.py b/sos/plugins/release.py index 62b5925521..27259cca6e 100644 --- a/sos/plugins/release.py +++ b/sos/plugins/release.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Release(Plugin, RedHatPlugin, UbuntuPlugin): +class Release(Plugin, RedHatPlugin, UbuntuPlugin, ArchPlugin): """Linux release information """ diff --git a/sos/plugins/salt.py b/sos/plugins/salt.py index 595443ba86..d2749e7405 100644 --- a/sos/plugins/salt.py +++ b/sos/plugins/salt.py @@ -6,10 +6,10 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, ArchPlugin -class Salt(Plugin, RedHatPlugin, DebianPlugin): +class Salt(Plugin, RedHatPlugin, DebianPlugin, ArchPlugin): """Salt """ diff --git a/sos/plugins/ssmtp.py b/sos/plugins/ssmtp.py index 0b7142611d..0e60eac9a3 100644 --- a/sos/plugins/ssmtp.py +++ b/sos/plugins/ssmtp.py @@ -7,10 +7,10 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin +from sos.plugins import Plugin, RedHatPlugin, ArchPlugin -class Ssmtp(Plugin, RedHatPlugin): +class Ssmtp(Plugin, RedHatPlugin, ArchPlugin): """sSMTP information """ diff --git a/sos/plugins/tomcat.py b/sos/plugins/tomcat.py index adacde0826..8c287d6a2e 100644 --- a/sos/plugins/tomcat.py +++ b/sos/plugins/tomcat.py @@ -6,11 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin +from sos.plugins import Plugin, RedHatPlugin, ArchPlugin from datetime import datetime -class Tomcat(Plugin, RedHatPlugin): +class Tomcat(Plugin, RedHatPlugin, ArchPlugin): """Apache Tomcat server """ diff --git a/sos/plugins/vulkan.py b/sos/plugins/vulkan.py index 7ae16dcdc8..f0e434e1d1 100644 --- a/sos/plugins/vulkan.py +++ b/sos/plugins/vulkan.py @@ -6,10 +6,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Vulkan(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Vulkan(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """Vulkan """ diff --git a/sos/plugins/xinetd.py b/sos/plugins/xinetd.py index 76f15caa55..de2b7419f7 100644 --- a/sos/plugins/xinetd.py +++ b/sos/plugins/xinetd.py @@ -8,10 +8,11 @@ # # See the LICENSE file in the source distribution for further information. -from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin +from sos.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, \ + ArchPlugin -class Xinetd(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): +class Xinetd(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, ArchPlugin): """xinetd information """ diff --git a/sos/policies/arch.py b/sos/policies/arch.py index 6f32af3f33..85255b82b1 100644 --- a/sos/policies/arch.py +++ b/sos/policies/arch.py @@ -1,3 +1,11 @@ +# 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.policies import PackageManager, LinuxPolicy from sos.plugins import ArchPlugin from sos.utilities import shell_out @@ -14,7 +22,7 @@ class ArchPolicy(LinuxPolicy): valid_subclasses = [ArchPlugin] def __init__(self, sysroot=None): - super(LinuxPolicy, self).__init__(sysroot=sysroot) + super(ArchPolicy, self).__init__(sysroot=sysroot) self.package_manager = Pacman() @classmethod @@ -24,7 +32,7 @@ def check(cls): try: with open('/etc/os-release', 'r') as f: return "archlinux" in f.read() - except: + except IOError: return False