From e945c1c7f7cb726b6b6f9e897b41c5dac609c34e Mon Sep 17 00:00:00 2001 From: "Bryn M. Reeves" Date: Tue, 30 Sep 2014 18:22:25 +0100 Subject: [Plugin] remove add_cmd_outputs() Remove add_cmd_outputs() and allow add_cmd_output() to accept a list of commands to invoke. Add a check and warn via the logs if a plugin attempts to use 'root_symlink' or 'suggest_filename' with a command list of length > 1. Fixes #301. Signed-off-by: Bryn M. Reeves --- sos/plugins/__init__.py | 25 +++++++++++-------------- sos/plugins/apt.py | 2 +- sos/plugins/ata.py | 2 +- sos/plugins/block.py | 4 ++-- sos/plugins/boot.py | 2 +- sos/plugins/ceph.py | 2 +- sos/plugins/cluster.py | 2 +- sos/plugins/corosync.py | 2 +- sos/plugins/ctdb.py | 2 +- sos/plugins/cups.py | 2 +- sos/plugins/devicemapper.py | 2 +- sos/plugins/docker.py | 4 ++-- sos/plugins/fcoe.py | 2 +- sos/plugins/filesys.py | 2 +- sos/plugins/firewalld.py | 2 +- sos/plugins/grub2.py | 2 +- sos/plugins/hpasm.py | 2 +- sos/plugins/infiniband.py | 2 +- sos/plugins/ipa.py | 4 ++-- sos/plugins/ipvs.py | 2 +- sos/plugins/iscsi.py | 2 +- sos/plugins/juju.py | 2 +- sos/plugins/kernel.py | 2 +- sos/plugins/logs.py | 2 +- sos/plugins/lvm2.py | 2 +- sos/plugins/maas.py | 2 +- sos/plugins/megacli.py | 2 +- sos/plugins/multipath.py | 2 +- sos/plugins/navicli.py | 2 +- sos/plugins/networking.py | 8 ++++---- sos/plugins/nfsserver.py | 2 +- sos/plugins/numa.py | 2 +- sos/plugins/openshift.py | 4 ++-- sos/plugins/openstack_neutron.py | 4 ++-- sos/plugins/ovirt_hosted_engine.py | 2 +- sos/plugins/pam.py | 2 +- sos/plugins/pci.py | 2 +- sos/plugins/powerpath.py | 2 +- sos/plugins/powerpc.py | 4 ++-- sos/plugins/process.py | 2 +- sos/plugins/processor.py | 2 +- sos/plugins/qpid.py | 2 +- sos/plugins/s390.py | 4 ++-- sos/plugins/samba.py | 2 +- sos/plugins/sanlock.py | 2 +- sos/plugins/scsi.py | 2 +- sos/plugins/selinux.py | 4 ++-- sos/plugins/smartcard.py | 2 +- sos/plugins/soundcard.py | 2 +- sos/plugins/symcli.py | 2 +- sos/plugins/systemd.py | 2 +- sos/plugins/systemtap.py | 2 +- sos/plugins/teamd.py | 2 +- sos/plugins/tuned.py | 2 +- sos/plugins/upstart.py | 2 +- sos/plugins/usb.py | 2 +- sos/plugins/xen.py | 2 +- sos/plugins/yum.py | 2 +- 58 files changed, 79 insertions(+), 82 deletions(-) diff --git a/sos/plugins/__init__.py b/sos/plugins/__init__.py index 03e82f1b..48ece912 100644 --- a/sos/plugins/__init__.py +++ b/sos/plugins/__init__.py @@ -486,22 +486,19 @@ class Plugin(object): """ return self.call_ext_prog(prog)['status'] == 0 - def add_cmd_outputs(self, cmds, timeout=300, runat=None): - """Run a list of programs and collect the output""" + def add_cmd_output(self, cmds, suggest_filename=None, + root_symlink=None, timeout=300, runat=None): + """Run a program or a list of programs and collect the output""" if isinstance(cmds, six.string_types): - raise TypeError("add_cmd_outputs called with string argument") + cmds = [cmds] + if len(cmds) > 1 and (suggest_filename or root_symlink): + self._log_warn("ambiguous filename or symlink for command list") for cmd in cmds: - self.add_cmd_output(cmd, timeout=timeout, runat=runat) - - def add_cmd_output(self, exe, suggest_filename=None, - root_symlink=None, timeout=300, - runat=None): - """Run a program and collect the output""" - cmd = (exe, suggest_filename, root_symlink, timeout, runat) - self._log_debug("packed command tuple: ('%s', '%s', '%s', %s, '%s')" - % cmd) - self.collect_cmds.append(cmd) - self._log_info("added cmd output '%s'" % exe) + cmdt = (cmd, suggest_filename, root_symlink, timeout, runat) + _logstr = "packed command tuple: ('%s', '%s', '%s', %s, '%s')" + self._log_debug(_logstr % cmdt) + self.collect_cmds.append(cmdt) + self._log_info("added cmd output '%s'" % cmd) def get_cmd_output_path(self, name=None, make=True): """Return a path into which this module should store collected diff --git a/sos/plugins/apt.py b/sos/plugins/apt.py index 5ce8d194..587af4ca 100644 --- a/sos/plugins/apt.py +++ b/sos/plugins/apt.py @@ -34,7 +34,7 @@ class Apt(Plugin, DebianPlugin, UbuntuPlugin): dpkg_output = dpkg_result['output'].splitlines() pkg_list = ' '.join( [v.split('\t')[0] for v in dpkg_output if 'ok installed' in v]) - self.add_cmd_outputs([ + self.add_cmd_output([ "apt-get check", "apt-config dump", "apt-cache stats", diff --git a/sos/plugins/ata.py b/sos/plugins/ata.py index 170f97b4..454969f1 100644 --- a/sos/plugins/ata.py +++ b/sos/plugins/ata.py @@ -33,7 +33,7 @@ class Ata(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): for disk in os.listdir(sys_block): if disk.startswith("sd") or disk.startswith("hd"): disk_path = os.path.join(dev_path, disk) - self.add_cmd_outputs([ + self.add_cmd_output([ "hdparm %s" % disk_path, "smartctl -a %s" % disk_path ]) diff --git a/sos/plugins/block.py b/sos/plugins/block.py index 466782b2..c92ea862 100644 --- a/sos/plugins/block.py +++ b/sos/plugins/block.py @@ -26,7 +26,7 @@ class Block(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): def setup(self): self.add_copy_spec("/proc/partitions") - self.add_cmd_outputs([ + self.add_cmd_output([ "lsblk", "blkid -c /dev/null", "ls -lanR /dev", @@ -44,7 +44,7 @@ class Block(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): if disk in [".", ".."] or disk.startswith("ram"): continue disk_path = os.path.join('/dev/', disk) - self.add_cmd_outputs([ + self.add_cmd_output([ "udevadm info -ap /sys/block/%s" % (disk), "parted -s %s print" % (disk_path), "fdisk -l %s" % disk_path diff --git a/sos/plugins/boot.py b/sos/plugins/boot.py index 4a12bee0..f70f34cc 100644 --- a/sos/plugins/boot.py +++ b/sos/plugins/boot.py @@ -36,7 +36,7 @@ class Boot(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): "/etc/yaboot.conf", "/boot/yaboot.conf" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "ls -lanR /boot", "lsinitrd" ]) diff --git a/sos/plugins/ceph.py b/sos/plugins/ceph.py index 39b8b0ba..7d25f07a 100644 --- a/sos/plugins/ceph.py +++ b/sos/plugins/ceph.py @@ -40,7 +40,7 @@ class Ceph(Plugin, RedHatPlugin, UbuntuPlugin): "/var/log/ceph/" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "ceph status", "ceph health", "ceph osd tree", diff --git a/sos/plugins/cluster.py b/sos/plugins/cluster.py index 4cc5b16e..7c0111b9 100644 --- a/sos/plugins/cluster.py +++ b/sos/plugins/cluster.py @@ -66,7 +66,7 @@ class Cluster(Plugin, RedHatPlugin): if self.get_option('lockdump'): self.do_lockdump() - self.add_cmd_outputs([ + self.add_cmd_output([ "rg_test test /etc/cluster/cluster.conf", "fence_tool ls -n", "gfs_control ls -n", diff --git a/sos/plugins/corosync.py b/sos/plugins/corosync.py index 0692d088..dff65d9d 100644 --- a/sos/plugins/corosync.py +++ b/sos/plugins/corosync.py @@ -29,7 +29,7 @@ class Corosync(Plugin): "/var/lib/corosync/fdata", "/var/log/cluster/corosync.log" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "corosync-quorumtool -l", "corosync-quorumtool -s", "corosync-cpgtool", diff --git a/sos/plugins/ctdb.py b/sos/plugins/ctdb.py index c68ce872..9c040683 100644 --- a/sos/plugins/ctdb.py +++ b/sos/plugins/ctdb.py @@ -31,7 +31,7 @@ class Ctdb(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): "/var/log/log.ctdb" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "ctdb ip", "ctdb ping", "ctdb status", diff --git a/sos/plugins/cups.py b/sos/plugins/cups.py index dc5d95dd..936010a3 100644 --- a/sos/plugins/cups.py +++ b/sos/plugins/cups.py @@ -42,7 +42,7 @@ class Cups(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): "/etc/cups/ppd/*.ppd" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "lpstat -t", "lpstat -s", "lpstat -d" diff --git a/sos/plugins/devicemapper.py b/sos/plugins/devicemapper.py index 002ea371..ba99525c 100644 --- a/sos/plugins/devicemapper.py +++ b/sos/plugins/devicemapper.py @@ -23,7 +23,7 @@ class DeviceMapper(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): profiles = ('storage',) def setup(self): - self.add_cmd_outputs([ + self.add_cmd_output([ "dmsetup info -c", "dmsetup table", "dmsetup status", diff --git a/sos/plugins/docker.py b/sos/plugins/docker.py index 0c5c976e..9c0ac437 100644 --- a/sos/plugins/docker.py +++ b/sos/plugins/docker.py @@ -33,7 +33,7 @@ class Docker(Plugin): "/var/lib/docker/repositories-*" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "{0} info".format(self.docker_bin), "{0} ps".format(self.docker_bin), "{0} images".format(self.docker_bin) @@ -48,7 +48,7 @@ class Docker(Plugin): result['output'] = result['output'].split("\n") for line in result['output'][1:]: container_id = line.split(" ")[0] - self.add_cmd_outputs([ + self.add_cmd_output([ "{0} logs {1}".format(self.docker_bin, container_id) ]) diff --git a/sos/plugins/fcoe.py b/sos/plugins/fcoe.py index 3db05fc4..6b847b4c 100644 --- a/sos/plugins/fcoe.py +++ b/sos/plugins/fcoe.py @@ -28,7 +28,7 @@ class fcoe(Plugin, RedHatPlugin): # FCoE instances with the -i option, and # information about all discovered FCFs # with the -f option - self.add_cmd_outputs([ + self.add_cmd_output([ "fcoeadm -i", "fcoeadm -f" ]) diff --git a/sos/plugins/filesys.py b/sos/plugins/filesys.py index c8f07499..32a42bcb 100644 --- a/sos/plugins/filesys.py +++ b/sos/plugins/filesys.py @@ -37,7 +37,7 @@ class Filesys(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): ]) self.add_cmd_output("mount -l", root_symlink="mount") self.add_cmd_output("df -al", root_symlink="df") - self.add_cmd_outputs([ + self.add_cmd_output([ "df -ali", "findmnt" ]) diff --git a/sos/plugins/firewalld.py b/sos/plugins/firewalld.py index eb641966..24074c05 100644 --- a/sos/plugins/firewalld.py +++ b/sos/plugins/firewalld.py @@ -35,7 +35,7 @@ class FirewallD(Plugin, RedHatPlugin): "/etc/sysconfig/firewalld" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "firewall-cmd --list-all-zones", "firewall-cmd --permanent --list-all-zones" ]) diff --git a/sos/plugins/grub2.py b/sos/plugins/grub2.py index b919d780..59740642 100644 --- a/sos/plugins/grub2.py +++ b/sos/plugins/grub2.py @@ -33,7 +33,7 @@ class Grub2(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): "/etc/grub2.cfg", "/etc/grub.d" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "ls -lanR /boot", "grub2-mkconfig" ]) diff --git a/sos/plugins/hpasm.py b/sos/plugins/hpasm.py index 157a57e5..4d5d158f 100644 --- a/sos/plugins/hpasm.py +++ b/sos/plugins/hpasm.py @@ -27,7 +27,7 @@ class Hpasm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): def setup(self): self.add_copy_spec("/var/log/hp-health/hpasmd.log") - self.add_cmd_outputs([ + self.add_cmd_output([ "hpasmcli -s 'show asr'", "hpasmcli -s 'show server'" ]) diff --git a/sos/plugins/infiniband.py b/sos/plugins/infiniband.py index 1ca0b853..7353332d 100644 --- a/sos/plugins/infiniband.py +++ b/sos/plugins/infiniband.py @@ -31,7 +31,7 @@ class Infiniband(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): "/etc/ofed/opensm.conf" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "ibv_devices", "ibv_devinfo", "ibstat", diff --git a/sos/plugins/ipa.py b/sos/plugins/ipa.py index 3b6b4178..e3ae4302 100644 --- a/sos/plugins/ipa.py +++ b/sos/plugins/ipa.py @@ -70,7 +70,7 @@ class Ipa(Plugin, RedHatPlugin): self.add_forbidden_path("/etc/named.keytab") - self.add_cmd_outputs([ + self.add_cmd_output([ "ls -la /etc/dirsrv/slapd-*/schema/", "ipa-getcert list", "certutil -L -d /etc/httpd/alias/", @@ -80,7 +80,7 @@ class Ipa(Plugin, RedHatPlugin): ]) hostname = self.call_ext_prog('hostname')['output'] - self.add_cmd_outputs([ + self.add_cmd_output([ "ipa-replica-manage -v list", "ipa-replica-manage -v list %s" % hostname ], timeout=30) diff --git a/sos/plugins/ipvs.py b/sos/plugins/ipvs.py index 690b2d52..2a4c57fe 100644 --- a/sos/plugins/ipvs.py +++ b/sos/plugins/ipvs.py @@ -26,7 +26,7 @@ class Ipvs(Plugin, RedHatPlugin, DebianPlugin): packages = ('ipvsadm',) def setup(self): - self.add_cmd_outputs([ + self.add_cmd_output([ "ipvsadm -Ln", "ipvsadm -Lc" ]) diff --git a/sos/plugins/iscsi.py b/sos/plugins/iscsi.py index 2dcb9e07..96534ce6 100644 --- a/sos/plugins/iscsi.py +++ b/sos/plugins/iscsi.py @@ -35,7 +35,7 @@ class RedHatIscsi(Iscsi, RedHatPlugin): "/etc/iscsi/initiatorname.iscsi", "/var/lib/iscsi" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "iscsiadm -m session -P 3", "iscsiadm -m node -P 3", "iscsiadm -m iface -P 1", diff --git a/sos/plugins/juju.py b/sos/plugins/juju.py index 5b5c4c66..f6995e03 100644 --- a/sos/plugins/juju.py +++ b/sos/plugins/juju.py @@ -77,7 +77,7 @@ class Juju(Plugin, UbuntuPlugin): "/var/lib/juju" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "juju -v status", "juju -v get-constraints" ]) diff --git a/sos/plugins/kernel.py b/sos/plugins/kernel.py index f22f2dae..6377bfc7 100644 --- a/sos/plugins/kernel.py +++ b/sos/plugins/kernel.py @@ -36,7 +36,7 @@ class Kernel(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): except OSError: self._log_warn("could not list %s" % self.sys_module) - self.add_cmd_outputs([ + self.add_cmd_output([ "dmesg", "sysctl -a", "dkms status" diff --git a/sos/plugins/logs.py b/sos/plugins/logs.py index d5f33deb..ee44e45b 100644 --- a/sos/plugins/logs.py +++ b/sos/plugins/logs.py @@ -31,7 +31,7 @@ class Logs(Plugin): self.limit = self.get_option("log_size") self.add_copy_spec_limit("/var/log/boot.log", sizelimit=self.limit) self.add_copy_spec_limit("/var/log/cloud-init*", sizelimit=self.limit) - self.add_cmd_outputs([ + self.add_cmd_output([ "journalctl --all --this-boot --no-pager", "journalctl --all --this-boot --no-pager -o verbose", ]) diff --git a/sos/plugins/lvm2.py b/sos/plugins/lvm2.py index d6b5d877..f215cfb9 100644 --- a/sos/plugins/lvm2.py +++ b/sos/plugins/lvm2.py @@ -59,7 +59,7 @@ class Lvm2(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): vgs_cols = 'vg_mda_count,vg_mda_free,vg_mda_size,vg_mda_used_count' vgs_cols = vgs_cols + ',' + 'vg_tags' lvs_cols = 'lv_tags,devices' - self.add_cmd_outputs([ + self.add_cmd_output([ "vgscan -vvv %s" % lvm_opts, "pvscan -v %s" % lvm_opts, "pvs -a -v -o +%s %s" % (pvs_cols, lvm_opts), diff --git a/sos/plugins/maas.py b/sos/plugins/maas.py index 8a02a163..bb0e761b 100644 --- a/sos/plugins/maas.py +++ b/sos/plugins/maas.py @@ -53,7 +53,7 @@ class Maas(Plugin, UbuntuPlugin): "/var/log/maas*", "/var/log/upstart/maas-*", ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "apt-cache policy maas-*", "apt-cache policy python-django-*", "maas dumpdata" diff --git a/sos/plugins/megacli.py b/sos/plugins/megacli.py index 5edaded4..37a72fe7 100644 --- a/sos/plugins/megacli.py +++ b/sos/plugins/megacli.py @@ -36,7 +36,7 @@ class MegaCLI(Plugin, RedHatPlugin): """ MegaCLI specific output """ - self.add_cmd_outputs([ + self.add_cmd_output([ "MegaCli64 LDPDInfo -aALL", "MegaCli64 -AdpAllInfo -aALL", "MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL", diff --git a/sos/plugins/multipath.py b/sos/plugins/multipath.py index cc3d84e5..d3e1fd7f 100644 --- a/sos/plugins/multipath.py +++ b/sos/plugins/multipath.py @@ -27,7 +27,7 @@ class Multipath(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): "/etc/multipath/", "/etc/multipath.conf" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "multipath -l", "multipath -v4 -ll" ]) diff --git a/sos/plugins/navicli.py b/sos/plugins/navicli.py index 22f595ba..3062c13d 100644 --- a/sos/plugins/navicli.py +++ b/sos/plugins/navicli.py @@ -47,7 +47,7 @@ class Navicli(Plugin, RedHatPlugin): """ EMC Navisphere Host Agent NAVICLI specific information - CLARiiON - commands """ - self.add_cmd_outputs([ + self.add_cmd_output([ "navicli -h %s getall" % SP_address, "navicli -h %s getsptime -spa" % SP_address, "navicli -h %s getsptime -spb" % SP_address, diff --git a/sos/plugins/networking.py b/sos/plugins/networking.py index 3a8f25b8..1e4801fe 100644 --- a/sos/plugins/networking.py +++ b/sos/plugins/networking.py @@ -93,7 +93,7 @@ class Networking(Plugin): self.collect_iptable("nat") self.collect_iptable("mangle") self.add_cmd_output("netstat -neopa", root_symlink="netstat") - self.add_cmd_outputs([ + self.add_cmd_output([ "netstat -s", "netstat -agn", "ip route show table all", @@ -115,7 +115,7 @@ class Networking(Plugin): ip_link_result = self.call_ext_prog("ip -o link") if ip_link_result['status'] == 0: for eth in self.get_eth_interfaces(ip_link_result['output']): - self.add_cmd_outputs([ + self.add_cmd_output([ "ethtool "+eth, "ethtool -i "+eth, "ethtool -k "+eth, @@ -128,7 +128,7 @@ class Networking(Plugin): brctl_file = self.get_cmd_output_now("brctl show") if brctl_file: for br_name in self.get_bridge_name(brctl_file): - self.add_cmd_outputs([ + self.add_cmd_output([ "brctl showstp "+br_name, "brctl showmacs "+br_name ]) @@ -180,7 +180,7 @@ class UbuntuNetworking(Networking, UbuntuPlugin): "/var/log/ufw.Log", "/etc/resolv.conf" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "/usr/sbin/ufw status", "/usr/sbin/ufw app list" ]) diff --git a/sos/plugins/nfsserver.py b/sos/plugins/nfsserver.py index 7ce9a4aa..a7ca45a3 100644 --- a/sos/plugins/nfsserver.py +++ b/sos/plugins/nfsserver.py @@ -51,7 +51,7 @@ class NfsServer(Plugin, RedHatPlugin): "/var/lib/nfs/rmtab" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "rpcinfo -p localhost", "nfsstat -o all", "exportfs -v" diff --git a/sos/plugins/numa.py b/sos/plugins/numa.py index f526ba7d..facf6100 100644 --- a/sos/plugins/numa.py +++ b/sos/plugins/numa.py @@ -34,7 +34,7 @@ class Numa(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): "/var/log/numad.log*", sizelimit=self.get_option("log_size") ) - self.add_cmd_outputs([ + self.add_cmd_output([ "numastat", "numastat -m", "numastat -n", diff --git a/sos/plugins/openshift.py b/sos/plugins/openshift.py index d34ab5cd..ab599c49 100644 --- a/sos/plugins/openshift.py +++ b/sos/plugins/openshift.py @@ -55,7 +55,7 @@ class Openshift(Plugin, RedHatPlugin): "/var/www/openshift/console/httpd/conf.d/*.conf", ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "oo-accept-broker -v", "oo-admin-chk -v", "oo-mco ping", @@ -76,7 +76,7 @@ class Openshift(Plugin, RedHatPlugin): "/var/log/node-web-proxy/supervisor.log", ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "oo-accept-node -v", "oo-admin-ctl-gears list", "ls -laZ /var/lib/openshift" diff --git a/sos/plugins/openstack_neutron.py b/sos/plugins/openstack_neutron.py index 6eea1485..ed99f69e 100644 --- a/sos/plugins/openstack_neutron.py +++ b/sos/plugins/openstack_neutron.py @@ -89,7 +89,7 @@ class Neutron(Plugin): def ns_gather_data(self, nsname): cmd_prefix = "ip netns exec %s " % nsname - self.add_cmd_outputs([ + self.add_cmd_output([ cmd_prefix + "iptables-save", cmd_prefix + "ifconfig -a", cmd_prefix + "route -n" @@ -102,7 +102,7 @@ class Neutron(Plugin): # virtual. The '-a', '-c' and '-g' options are not likely to be # supported so these ops are not copied from the network # plugin. - self.add_cmd_outputs([ + self.add_cmd_output([ cmd_prefix + "ethtool "+eth, cmd_prefix + "ethtool -i "+eth, cmd_prefix + "ethtool -k "+eth, diff --git a/sos/plugins/ovirt_hosted_engine.py b/sos/plugins/ovirt_hosted_engine.py index 9e404afe..74fc4b28 100644 --- a/sos/plugins/ovirt_hosted_engine.py +++ b/sos/plugins/ovirt_hosted_engine.py @@ -77,7 +77,7 @@ class OvirtHostedEngine(Plugin, RedHatPlugin): ) # Add run-time status - self.add_cmd_outputs([ + self.add_cmd_output([ 'hosted-engine --vm-status', 'hosted-engine --check-liveliness', ]) diff --git a/sos/plugins/pam.py b/sos/plugins/pam.py index bb174dac..016796f7 100644 --- a/sos/plugins/pam.py +++ b/sos/plugins/pam.py @@ -28,7 +28,7 @@ class Pam(Plugin): "/etc/pam.d", "/etc/security" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "ls -lanF %s" % self.security_libs, "pam_tally2", "faillock" diff --git a/sos/plugins/pci.py b/sos/plugins/pci.py index 964a1c4b..9e6470b8 100644 --- a/sos/plugins/pci.py +++ b/sos/plugins/pci.py @@ -30,7 +30,7 @@ class Pci(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): ]) self.add_cmd_output("lspci", root_symlink="lspci") - self.add_cmd_outputs([ + self.add_cmd_output([ "lspci -nvv", "lspci -tv" ]) diff --git a/sos/plugins/powerpath.py b/sos/plugins/powerpath.py index 990cfab5..349fd5d3 100644 --- a/sos/plugins/powerpath.py +++ b/sos/plugins/powerpath.py @@ -43,7 +43,7 @@ class PowerPath(Plugin, RedHatPlugin): def get_pp_config(self): """ EMC PowerPath specific information - commands """ - self.add_cmd_outputs([ + self.add_cmd_output([ "powermt display", "powermt display dev=all", "powermt check_registration", diff --git a/sos/plugins/powerpc.py b/sos/plugins/powerpc.py index 48899936..6ef2704b 100644 --- a/sos/plugins/powerpc.py +++ b/sos/plugins/powerpc.py @@ -50,7 +50,7 @@ class PowerPC(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): "/dev/nvram", "/var/lib/lsvpd/" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "ppc64_cpu --smt", "ppc64_cpu --cores-present", "ppc64_cpu --cores-on", @@ -69,7 +69,7 @@ class PowerPC(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): "/proc/ppc64/systemcfg", "/var/log/platform" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "lsvio -des", "servicelog --dump", "servicelog_notify --list", diff --git a/sos/plugins/process.py b/sos/plugins/process.py index edea34d1..ab66322e 100644 --- a/sos/plugins/process.py +++ b/sos/plugins/process.py @@ -26,7 +26,7 @@ class Process(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): self.add_cmd_output("ps auxwww", root_symlink="ps") self.add_cmd_output("pstree", root_symlink="pstree") self.add_cmd_output("lsof -b +M -n -l", root_symlink="lsof") - self.add_cmd_outputs([ + self.add_cmd_output([ "ps auxwwwm", "ps alxwww" ]) diff --git a/sos/plugins/processor.py b/sos/plugins/processor.py index 9a6eede3..afec86c1 100644 --- a/sos/plugins/processor.py +++ b/sos/plugins/processor.py @@ -31,7 +31,7 @@ class Processor(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): "/sys/devices/system/cpu" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "lscpu", "cpupower info", "cpupower idle-info", diff --git a/sos/plugins/qpid.py b/sos/plugins/qpid.py index 86eaf7c7..8bbebde7 100644 --- a/sos/plugins/qpid.py +++ b/sos/plugins/qpid.py @@ -26,7 +26,7 @@ class Qpid(Plugin, RedHatPlugin): def setup(self): """ performs data collection for qpid broker """ - self.add_cmd_outputs([ + self.add_cmd_output([ "qpid-stat -g", # applies since 0.18 version "qpid-stat -b", # applies to pre-0.18 versions "qpid-stat -c", diff --git a/sos/plugins/s390.py b/sos/plugins/s390.py index 5de8b53f..1e72ede8 100644 --- a/sos/plugins/s390.py +++ b/sos/plugins/s390.py @@ -53,7 +53,7 @@ class S390(Plugin, RedHatPlugin): "/etc/src_vipa.conf", "/etc/ccwgroup.conf", "/etc/chandev.conf"]) - self.add_cmd_outputs([ + self.add_cmd_output([ "lscss", "lsdasd", "lstape", @@ -65,7 +65,7 @@ class S390(Plugin, RedHatPlugin): r = self.call_ext_prog("ls /dev/dasd?") dasd_dev = r['output'] for x in dasd_dev.split('\n'): - self.add_cmd_outputs([ + self.add_cmd_output([ "dasdview -x -i -j -l -f %s" % (x,), "fdasd -p %s" % (x,) ]) diff --git a/sos/plugins/samba.py b/sos/plugins/samba.py index f4e071ea..d74b0435 100644 --- a/sos/plugins/samba.py +++ b/sos/plugins/samba.py @@ -29,7 +29,7 @@ class Samba(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): "/var/log/samba/log.smbd", "/var/log/samba/log.nmbd" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "wbinfo --domain='.' -g", "wbinfo --domain='.' -u", "testparm -s -v" diff --git a/sos/plugins/sanlock.py b/sos/plugins/sanlock.py index 3a58bc90..cc14449f 100644 --- a/sos/plugins/sanlock.py +++ b/sos/plugins/sanlock.py @@ -24,7 +24,7 @@ class SANLock(Plugin): def setup(self): self.add_copy_spec("/var/log/sanlock.log*") - self.add_cmd_outputs([ + self.add_cmd_output([ "sanlock client status -D", "sanlock client host_status -D", "sanlock client log_dump" diff --git a/sos/plugins/scsi.py b/sos/plugins/scsi.py index e8aad08c..b5724983 100644 --- a/sos/plugins/scsi.py +++ b/sos/plugins/scsi.py @@ -33,7 +33,7 @@ class Scsi(Plugin, RedHatPlugin, UbuntuPlugin, DebianPlugin): "/sys/class/scsi_generic" ]) - self.add_cmd_outputs([ + self.add_cmd_output([ "lsscsi", "sg_map" ]) diff --git a/sos/plugins/selinux.py b/sos/plugins/selinux.py index d59c1404..c46e91a2 100644 --- a/sos/plugins/selinux.py +++ b/sos/plugins/selinux.py @@ -30,7 +30,7 @@ class SELinux(Plugin, RedHatPlugin): def setup(self): # sestatus is always collected in check_enabled() self.add_copy_spec("/etc/selinux") - self.add_cmd_outputs([ + self.add_cmd_output([ "sestatus -b", "semodule -l", "selinuxdefcon root", @@ -41,7 +41,7 @@ class SELinux(Plugin, RedHatPlugin): if self.get_option('fixfiles'): self.add_cmd_output("fixfiles -v check") if self.get_option('list'): - self.add_cmd_outputs([ + self.add_cmd_output([ "semanage fcontext -l", "semanage user -l", "semanage login -l", diff --git a/sos/plugins/smartcard.py b/sos/plugins/smartcard.py index 3c5ce885..9841d204 100644 --- a/sos/plugins/smartcard.py +++ b/sos/plugins/smartcard.py @@ -32,7 +32,7 @@ class Smartcard(Plugin, RedHatPlugin): "/etc/reader.conf", "/etc/reader.conf.d/", "/etc/pam_pkcs11/"]) - self.add_cmd_outputs([ + self.add_cmd_output([ "pkcs11_inspect debug", "pklogin_finder debug", "ls -nl /usr/lib*/pam_pkcs11/" diff --git a/sos/plugins/soundcard.py b/sos/plugins/soundcard.py index 0d297cd5..347dfc47 100644 --- a/sos/plugins/soundcard.py +++ b/sos/plugins/soundcard.py @@ -24,7 +24,7 @@ class Soundcard(Plugin): def setup(self): self.add_copy_spec("/proc/asound/*") - self.add_cmd_outputs([ + self.add_cmd_output([ "aplay -l", "aplay -L", "amixer" diff --git a/sos/plugins/symcli.py b/sos/plugins/symcli.py index 6dc660e8..95ce79d0 100644 --- a/sos/plugins/symcli.py +++ b/sos/plugins/symcli.py @@ -38,7 +38,7 @@ class Symcli(Plugin, RedHatPlugin): """ EMC Solutions Enabler SYMCLI specific information - Symmetrix/DMX - commands """ - self.add_cmd_outputs([ + self.add_cmd_output([ "/usr/symcli/bin/symcli -def", "/usr/symcli/bin/symdg list", "/usr/symcli/bin/symdg -v list", diff --git a/sos/plugins/systemd.py b/sos/plugins/systemd.py index 692483ac..cd8ac7fd 100644 --- a/sos/plugins/systemd.py +++ b/sos/plugins/systemd.py @@ -28,7 +28,7 @@ class Systemd(Plugin, RedHatPlugin): files = ('/usr/lib/systemd/systemd',) def setup(self): - self.add_cmd_outputs([ + self.add_cmd_output([ "systemctl show --all", "systemctl list-units", "systemctl list-units --failed", diff --git a/sos/plugins/systemtap.py b/sos/plugins/systemtap.py index 3e0c8f65..58e1f681 100644 --- a/sos/plugins/systemtap.py +++ b/sos/plugins/systemtap.py @@ -28,7 +28,7 @@ class SystemTap(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): packages = ('systemtap', 'systemtap-runtime') def setup(self): - self.add_cmd_outputs([ + self.add_cmd_output([ "stap -V 2", "uname -r", "stap-report" diff --git a/sos/plugins/teamd.py b/sos/plugins/teamd.py index 16fb7027..cdd53b83 100644 --- a/sos/plugins/teamd.py +++ b/sos/plugins/teamd.py @@ -43,7 +43,7 @@ class Teamd(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): ]) teams = self._get_team_interfaces() for team in teams: - self.add_cmd_outputs([ + self.add_cmd_output([ "teamdctl %s state" % team, "teamdctl %s state dump" % team, "teamdctl %s config dump" % team, diff --git a/sos/plugins/tuned.py b/sos/plugins/tuned.py index 27c2ba78..7b8c68a9 100644 --- a/sos/plugins/tuned.py +++ b/sos/plugins/tuned.py @@ -25,7 +25,7 @@ class Tuned(Plugin, RedHatPlugin): plugin_name = 'tuned' def setup(self): - self.add_cmd_outputs([ + self.add_cmd_output([ "tuned-adm list", "tuned-adm active", "tuned-adm recommend" diff --git a/sos/plugins/upstart.py b/sos/plugins/upstart.py index d8e9f51a..01a02c1c 100644 --- a/sos/plugins/upstart.py +++ b/sos/plugins/upstart.py @@ -26,7 +26,7 @@ class Upstart(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): packages = ('upstart',) def setup(self): - self.add_cmd_outputs([ + self.add_cmd_output([ 'initctl --system list', 'initctl --system version', 'init --version', diff --git a/sos/plugins/usb.py b/sos/plugins/usb.py index b3da2aea..c34e4bcc 100644 --- a/sos/plugins/usb.py +++ b/sos/plugins/usb.py @@ -25,7 +25,7 @@ class Usb(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin): def setup(self): self.add_copy_spec("/sys/bus/usb") - self.add_cmd_outputs([ + self.add_cmd_output([ "lsusb", "lsusb -v", "lsusb -t" diff --git a/sos/plugins/xen.py b/sos/plugins/xen.py index 702ed0e2..a0ce130a 100644 --- a/sos/plugins/xen.py +++ b/sos/plugins/xen.py @@ -79,7 +79,7 @@ class Xen(Plugin, RedHatPlugin): "/sys/hypervisor/compilation", "/sys/hypervisor/properties", "/sys/hypervisor/type"]) - self.add_cmd_outputs([ + self.add_cmd_output([ "xm dmesg", "xm info", "xm list", diff --git a/sos/plugins/yum.py b/sos/plugins/yum.py index f56f48f5..937bd9f6 100644 --- a/sos/plugins/yum.py +++ b/sos/plugins/yum.py @@ -49,7 +49,7 @@ class Yum(Plugin, RedHatPlugin): "/etc/rhsm/", "/var/log/rhsm/rhsm.log", "/var/log/rhsm/rhsmcertd.log"]) - self.add_cmd_outputs([ + self.add_cmd_output([ "subscription-manager list --installed", "subscription-manager list --consumed" ]) -- cgit