| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Updates the uses of 'from sos.plugins' to 'from sos.report.plugins' in
order to fix imports across the project with the new tree organization.
Additionally, the legacy `sosreport` binary now injects the user's
current working directory into the path the python interpreter uses in
order to allow local execution from a git checkout.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a new mechanism for iterating over a list of devices with a given
command or list of commands. This is to allow us to stop doing ad-hoc
device enumeration in multiple plugins and instead provide a consistent
behavior for iterating over devices such as disks.
Before setting up plugins, sos will now enumerate a list of block
devices and fibre devices that is made available to the plugins. From
there the new 'add_blockdev_cmd()' method may be passed a command or
list of commands that will be iterated over for every device. Commands
passed need to include '%(dev)s' in the appropriate place for device
name substitution. By default this will iterate over all discovered
block devices. The 'devices' parameter may be used to change this,
either by passing 'fibre' to instead iterate over fibre devices, or by
passing a list of devices to use directly.
To filter out or restrict commands to running on specific types of
devices, the blacklist and whitelist parameters can be used respectively
and can accept either a single regex string or a list of regexes.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Resolves: #1958
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Various unit test source files in tests/ have unnecessary shell
"shebang" notation specifying a particular Python interpereter.
Since these files are executed under the test suite runner there
is no need for them to include these lines.
Related: #1949
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 285873a introduces a regression in the performance of
LinuxProfile class initialisation:
commit 285873a4f753822a88d475a1b030ab622bf4c72e
Author: Bryan Quigley <bryan.quigley@canonical.com>
Date: Tue Feb 11 15:03:16 2020 -0800
[policies] Detect systemd use instead of hardcoding it
All the patch does is to switch from testing self.init to
determine whether to use the SystemdInit() class or the
basic InitSystem() one, to looking for '/run/systemd/system'
in the file system.
This has more broad side effects than it might seem since
the test suite uses LinuxPolicy() as a mock policy object
for a large number of tests. Since SystemdInit() calls out
to systemctl to obtain the state of the init system this
both increases the run time for the tests and causes high
resource use in systemd itself:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 177196 13504 4512 R 92.7 0.1 5:24.04 systemd
This causes the run time for the Python2 and 3 test suite
(plus pep8/pycodestyle) to grow from ~5s to over 1m20s on
my test system:
285873a~1 real 0m5.683s
285873a real 1m20.353s
Allow direct users of LinuxPolicy to override the init
system detection by specifying an init= kwarg initialised
to an InitSystem-like object directly, and use this in the
test suite to avoid the cost of initialising the full
SystemdInit() class.
Resolves: #1953
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
If the --allow-system-changes option is in effect, bypass checking
of kernel modules and allow commands to attempt to auto-load any
missing modules when run.
Related: #1678
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's a lot of ancient junk in this method (and associated code
strewn around sos.sosreport and tests). Remove the ability to pass
a list of options to the method since nothing uses this, and also
delete the incomplete implementation of global plugin options via
the commons dictionary (this work was already completed some time
ago by mapping these options directly to the command line args).
Resolves: #1498
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Moves Plugin.policy to be an object for plugins instead of a function,
making it easier to leverage the active policy within sos plugins.
Resolves: #1179
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Prefix copyspecs with self.sysroot when using an alternate root
path. Prefixes are applied before expanding copyspecs and the
prefixed paths are stored as the 'srcpath' attribute in the
archive. Destination paths in the report archive do not include
the prefix.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the syntax of the vim modeline used to enable the required
editing mode in all python sources files.
The desired options are:
et - expand tabs (convert tab chars to spaces)
ts=4 - set tabstop to 4 characters
sw=4 - set shiftwidth to 4 characters
Signed-off-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
(edits for commit message, modeline compatibility & options)
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
---
__run__.py | 2 +-
example_plugins/example.py | 2 +-
setup.py | 2 +-
sos/archive.py | 2 +-
sos/plugins/__init__.py | 2 +-
sos/plugins/abrt.py | 2 +-
sos/plugins/acpid.py | 2 +-
sos/plugins/anaconda.py | 2 +-
sos/plugins/anacron.py | 2 +-
sos/plugins/apache.py | 2 +-
sos/plugins/apparmor.py | 2 +-
sos/plugins/apport.py | 2 +-
sos/plugins/apt.py | 2 +-
sos/plugins/ata.py | 2 +-
sos/plugins/auditd.py | 2 +-
sos/plugins/autofs.py | 2 +-
sos/plugins/azure.py | 2 +-
sos/plugins/block.py | 2 +-
sos/plugins/boot.py | 2 +-
sos/plugins/ceph.py | 2 +-
sos/plugins/cgroups.py | 2 +-
sos/plugins/cluster.py | 2 +-
sos/plugins/cobbler.py | 2 +-
sos/plugins/corosync.py | 2 +-
sos/plugins/cron.py | 2 +-
sos/plugins/cs.py | 2 +-
sos/plugins/ctdb.py | 2 +-
sos/plugins/cups.py | 2 +-
sos/plugins/dbus.py | 2 +-
sos/plugins/devicemapper.py | 2 +-
sos/plugins/dhcp.py | 2 +-
sos/plugins/distupgrade.py | 2 +-
sos/plugins/dmraid.py | 2 +-
sos/plugins/docker.py | 2 +-
sos/plugins/dovecot.py | 2 +-
sos/plugins/dpkg.py | 2 +-
sos/plugins/ds.py | 2 +-
sos/plugins/fcoe.py | 2 +-
sos/plugins/filesys.py | 2 +-
sos/plugins/firewalld.py | 2 +-
sos/plugins/foreman.py | 2 +-
sos/plugins/gdm.py | 2 +-
sos/plugins/general.py | 2 +-
sos/plugins/gluster.py | 2 +-
sos/plugins/grub.py | 2 +-
sos/plugins/grub2.py | 2 +-
sos/plugins/haproxy.py | 2 +-
sos/plugins/hardware.py | 2 +-
sos/plugins/hpasm.py | 2 +-
sos/plugins/hts.py | 2 +-
sos/plugins/i18n.py | 2 +-
sos/plugins/infiniband.py | 2 +-
sos/plugins/ipa.py | 2 +-
sos/plugins/ipsec.py | 2 +-
sos/plugins/ipvs.py | 2 +-
sos/plugins/iscsi.py | 2 +-
sos/plugins/iscsitarget.py | 2 +-
sos/plugins/java.py | 2 +-
sos/plugins/juju.py | 2 +-
sos/plugins/kdump.py | 2 +-
sos/plugins/keepalived.py | 2 +-
sos/plugins/kernel.py | 2 +-
sos/plugins/kernelrt.py | 2 +-
sos/plugins/keyutils.py | 2 +-
sos/plugins/kpatch.py | 2 +-
sos/plugins/krb5.py | 2 +-
sos/plugins/kvm.py | 2 +-
sos/plugins/landscape.py | 2 +-
sos/plugins/ldap.py | 2 +-
sos/plugins/libraries.py | 2 +-
sos/plugins/libvirt.py | 2 +-
sos/plugins/lightdm.py | 2 +-
sos/plugins/lilo.py | 2 +-
sos/plugins/logrotate.py | 2 +-
sos/plugins/logs.py | 2 +-
sos/plugins/lsbrelease.py | 2 +-
sos/plugins/lvm2.py | 2 +-
sos/plugins/maas.py | 2 +-
sos/plugins/manageiq.py | 2 +-
sos/plugins/md.py | 2 +-
sos/plugins/megacli.py | 2 +-
sos/plugins/memory.py | 2 +-
sos/plugins/mongodb.py | 2 +-
sos/plugins/mpt.py | 2 +-
sos/plugins/mrggrid.py | 2 +-
sos/plugins/mrgmessg.py | 2 +-
sos/plugins/multipath.py | 2 +-
sos/plugins/mysql.py | 2 +-
sos/plugins/named.py | 2 +-
sos/plugins/navicli.py | 2 +-
sos/plugins/networking.py | 2 +-
sos/plugins/nfs.py | 2 +-
sos/plugins/nfsserver.py | 2 +-
sos/plugins/nis.py | 2 +-
sos/plugins/nscd.py | 2 +-
sos/plugins/ntp.py | 2 +-
sos/plugins/numa.py | 2 +-
sos/plugins/oddjob.py | 2 +-
sos/plugins/openhpi.py | 2 +-
sos/plugins/openshift.py | 2 +-
sos/plugins/openssl.py | 2 +-
sos/plugins/openstack_ceilometer.py | 2 +-
sos/plugins/openstack_cinder.py | 2 +-
sos/plugins/openstack_glance.py | 2 +-
sos/plugins/openstack_heat.py | 2 +-
sos/plugins/openstack_horizon.py | 2 +-
sos/plugins/openstack_keystone.py | 2 +-
sos/plugins/openstack_neutron.py | 2 +-
sos/plugins/openstack_nova.py | 2 +-
sos/plugins/openstack_swift.py | 2 +-
sos/plugins/openstack_trove.py | 2 +-
sos/plugins/openswan.py | 2 +-
sos/plugins/openvswitch.py | 2 +-
sos/plugins/pam.py | 2 +-
sos/plugins/pci.py | 2 +-
sos/plugins/pcp.py | 2 +-
sos/plugins/postfix.py | 2 +-
sos/plugins/postgresql.py | 2 +-
sos/plugins/powerpath.py | 2 +-
sos/plugins/powerpc.py | 2 +-
sos/plugins/ppp.py | 2 +-
sos/plugins/procenv.py | 2 +-
sos/plugins/process.py | 2 +-
sos/plugins/processor.py | 2 +-
sos/plugins/psacct.py | 2 +-
sos/plugins/pxe.py | 2 +-
sos/plugins/python.py | 2 +-
sos/plugins/qpid.py | 2 +-
sos/plugins/quagga.py | 2 +-
sos/plugins/rabbitmq.py | 2 +-
sos/plugins/radius.py | 2 +-
sos/plugins/rhui.py | 2 +-
sos/plugins/rpm.py | 2 +-
sos/plugins/s390.py | 2 +-
sos/plugins/samba.py | 2 +-
sos/plugins/sanlock.py | 2 +-
sos/plugins/sar.py | 2 +-
sos/plugins/satellite.py | 2 +-
sos/plugins/scsi.py | 2 +-
sos/plugins/selinux.py | 2 +-
sos/plugins/sendmail.py | 2 +-
sos/plugins/smartcard.py | 2 +-
sos/plugins/snmp.py | 2 +-
sos/plugins/soundcard.py | 2 +-
sos/plugins/squid.py | 2 +-
sos/plugins/ssh.py | 2 +-
sos/plugins/ssmtp.py | 2 +-
sos/plugins/sssd.py | 2 +-
sos/plugins/startup.py | 2 +-
sos/plugins/sunrpc.py | 2 +-
sos/plugins/symcli.py | 2 +-
sos/plugins/system.py | 2 +-
sos/plugins/systemd.py | 2 +-
sos/plugins/systemtap.py | 2 +-
sos/plugins/sysvipc.py | 2 +-
sos/plugins/targetcli.py | 2 +-
sos/plugins/teamd.py | 2 +-
sos/plugins/tftpserver.py | 2 +-
sos/plugins/tomcat.py | 2 +-
sos/plugins/tuned.py | 2 +-
sos/plugins/udev.py | 2 +-
sos/plugins/unity.py | 2 +-
sos/plugins/upstart.py | 2 +-
sos/plugins/usb.py | 2 +-
sos/plugins/veritas.py | 2 +-
sos/plugins/vmware.py | 2 +-
sos/plugins/vsftpd.py | 2 +-
sos/plugins/x11.py | 2 +-
sos/plugins/xen.py | 2 +-
sos/plugins/xfs.py | 2 +-
sos/plugins/xinetd.py | 2 +-
sos/plugins/yum.py | 2 +-
sos/policies/__init__.py | 2 +-
sos/policies/debian.py | 2 +-
sos/policies/osx.py | 2 +-
sos/policies/redhat.py | 2 +-
sos/policies/ubuntu.py | 2 +-
sos/reporting.py | 2 +-
sos/sosreport.py | 2 +-
sos/utilities.py | 2 +-
tests/archive_tests.py | 2 +-
tests/importer_tests.py | 2 +-
tests/option_tests.py | 2 +-
tests/plugin_tests.py | 2 +-
tests/policy_tests.py | 2 +-
tests/report_tests.py | 2 +-
tests/sosreport_pexpect.py | 2 +-
tests/test_exe.py | 2 +-
tests/utilities_tests.py | 2 +-
189 files changed, 189 insertions(+), 189 deletions(-)
|
|
|
|
|
|
| |
Fixes Issue #243.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Fix policy and utility function, method and variable names to use
lower case underscored style instead of camelCase.
Related to Issue #112.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are lots of historical camelCase function and method names
in the plugin directory even though pep8 very clearly recommends
against these other than for external backwards compatibility.
Rename all the camelCased functions and methods and fix up the
main sosreport code, examples and tests to use the new names.
Fixes Issue #112.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
| |
|
|
|