aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [policies] stop execution on Ctrl+C during user inputPavel Moravec2017-10-191-2/+2
| | | | | | | | | | | | | | | | | | When pressing Ctrl+C during user input (name and case id), sosreport treats that as an empty string and starts to collect data. It must terminate instead. Catch the KeyboardIntterupt, print a newline (to avoid munging the terminal too much), and then re-raise the exception to cause the process to exit. Allow all other exceptions to propagate up and do not attempt to continue. Resolves: #1094 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [networking] collect "ip address" with all detailsPavel Moravec2017-10-191-1/+1
| | | | | | | | | Call "ip -d address" to collect all details instead of "ip address" only. Resolves: #1084 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [keyutils] collect /proc/key-usersPavel Moravec2017-10-191-1/+2
| | | | | | | | Collect quota information and stats of users with a key on the system. Resolves: #1085 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [Plugin] reverse sort file list when size limitingBryn M. Reeves2017-10-191-1/+10
| | | | | | | | | Reverse sort the file list by modification time, to ensure that the most recent data is included when limits apply. Fixes: #1082 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack plugins] Tripleo specific containerized services configsMartin Schuppert2017-10-1018-105/+345
| | | | | | | | | | | | Add Tripleo Pike opinionated config paths to be collected for services, when running in containers. Each service has a config dir in /var/lib/config-data/puppet-generated on the host which gets bind mounted read only into the container. Closes #1054 Signed-off-by: Martin Schuppert <mschuppe@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [jars] Catch zipfile.BadZipfile exceptionMichal Srb2017-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | Bad ZIP files can raise zipfile.BadZipfile exception. Fixes: Traceback (most recent call last): File "/home/msrb/projects/sos/sos/sosreport.py", line 1252, in setup plug.setup() File "/home/msrb/projects/sos/sos/plugins/jars.py", line 72, in setup if Jars.is_jar(path): File "/home/msrb/projects/sos/sos/plugins/jars.py", line 98, in is_jar with zipfile.ZipFile(path) as f: File "/usr/lib64/python2.7/zipfile.py", line 770, in __init__ self._RealGetContents() File "/usr/lib64/python2.7/zipfile.py", line 842, in _RealGetContents raise BadZipfile("Bad magic number for central directory") BadZipfile: Bad magic number for central directory Signed-off-by: Michal Srb <michal@redhat.com>
* [jars] Scan only /usr/{share,lib}/java by defaultMichal Srb2017-10-101-5/+15
| | | | | | | | | | Other known locations can be added via: -k jars.all_known_locations Additional user-specified locations can be added via: -k jars.append_locations=... Signed-off-by: Michal Srb <michal@redhat.com>
* [block] remove bogus '.' and '..' checksBryn M. Reeves2017-09-041-1/+1
| | | | | | | The Python listdir() function never returns the special '.' and '..' directory entries. Do not test for them. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [nss] add new plugin for Network Security Services librariesBryn M. Reeves2017-09-011-0/+32
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sas3ircu] add a plugin for sas3ircuKyleMahlkuch2017-08-311-0/+44
| | | | | | | | | This is a new plugin used to collect data for SAS adapters. It collects a list of adapters and then puts information on each adapter into the sosreport. Signed-off-by: Kyle Mahlkuch <Kyle.Mahlkuch@ibm.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [etcd] Use etcdctl and determine proper listening addressJake Hunsaker2017-08-311-6/+39
| | | | | | | | | | | | | | | This moves several collected outputs over from using curl to using the etcdctl command, as well as adding some addition collection. Only statistic information is now obtained via curl. Also we now attempt to determine the actual listening address based on etcd.conf, and if that is not possible the plugin assumes version-specifc defaults. Closes: #1059. Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
* [openswan] add missing 'libreswan' to package listBryn M. Reeves2017-08-311-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [virsh] fix missing ',' in tuple definitionBryn M. Reeves2017-08-311-1/+1
| | | | | | | A single-valued tuple needs a ',' before the closing paren to distinguish it from a value in parentheses. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugin] fix bogus 're-trying in host root' messagesBryn M. Reeves2017-08-311-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | If a command is not found in Plugin.get_command_output() and the run is not configured to use an alternate sysroot (either via policy based autodetection or command line --sysroot=/path) the plugin would log messages like: [plugin:gluster] command 'gluster' not found in / - re-trying in host root This is incorrect: without an alternate sysroot the attempt should fail immediately at this point (since the 'retry' will attempt to find the command in the same namespace). This is caused by an incorrect test for alternate sysroot: if chroot and self.commons['cmdlineopts'].chroot != 'always': The 'chroot' variable is always True here, unless the caller has explicitly disabled it, or we are re-trying a command in a run with an alternate sysroot defined. Instead test that 'root' is not None and that it is not equal to '/'. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [archive] do not report IOError for virtual file systemsBryn M. Reeves2017-08-311-1/+5
| | | | | | Ignore IO errors reported by /proc and /sys. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugin] add executable command enablement checksBryn M. Reeves2017-08-081-9/+18
| | | | | | | | | | | | | | | | | | | | Add a new list/tuple member to the Plugin class that contains a list of executable commands that will enable the plugin if any are present. For example, a plugin: class MyPlugin(Plugin, RedHatPlugin): commands = ('mycmd1', 'mycmd2') Will be automatically enabled if either 'mycmd1' or 'mycmd2' is present and executable in the policy defined PATH for the run. Related: #1051. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_aodh] OpenStack Alarm supportSachin Patil2017-08-081-0/+79
| | | | | | | | | | New plugin to collect OpenStack Aodh configurations and logs. Signed-off-by: Sachin Patil <psachin@redhat.com> (minor style fix) Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [gnocchi] Tripleo specific containerized services logsMartin Schuppert2017-08-081-4/+10
| | | | | | | This is an addition to pull request 1046 to collect gnocchi logs correct when service is running in a container. Signed-off-by: Martin Schuppert mschuppert@redhat.com
* [smartcard] Stop collecting pkcs11_inspect debugPavel Moravec2017-08-081-1/+0
| | | | | | | | | | | | The tool always requires PIN to be entered manually. That contradicts the aim of sosreport to collect data as automatically as possible. Once smartcar community allows providing the PIN e.g. via an env.variable, we can add the command back. Resolves: #1045 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [openvswitch] get specific flow version commandsRobb Manes2017-08-081-0/+26
| | | | | | | | | | | | | The output of ovs-ofctl varies depending on the version of OpenFlow you query it with. Using the currently supported versions, retrieve ovs-ofctl output for each ovs-bridge depending on which specified versions of OpenFlow are in use. Signed-off-by: Robb Manes <rmanes@redhat.com> (minor style tweaks) Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [docker-distribution] Add New PluginJake Hunsaker2017-08-081-0/+43
| | | | | | | | | Adds a new plugin for docker-distribution (registry v2). Collects the journal, registry config and a view of the contents of images in the registry. Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
* [tripleo] Add ui logs (#1052)Honza Pokorny2017-07-061-0/+3
| | | | | | We're using the "openstack" command to stream the ui log file to stdout. Signed-off-by: Honza Pokorny <honza@redhat.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [cs] Add Certificate System 9 data capture (#1049)Brian Gribble2017-06-291-2/+30
| | | | | | | | | | | | | | Red Hat Certificate System 9 (Dogtag 10) has been out for a while. This commit adds the ability to capture those logs and config files for each subsystem. Added pki-base because redhat-pki or dogtag-pki do not have to be installed to build a Certificate Authority. Removed "/usr/share/java/pki" check because CS 9 uses the same directory. Signed-off-by: Brian Gribble <bgribble@redhat.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [man/sosreport] fix typo in chroot description (#1036)Adam Stokes2017-06-291-1/+1
| | | | | | | Fix small typo in the chroot section of the man page (alwyas -> always) Fixes #1035 Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [openstack plugins] run openstack command when correct ENV is set (#1048)stuggi2017-06-288-24/+56
| | | | | | | | | With Tripleo Pike the default ENV changed from OS_TENANT_NAME to OS_PROJECT_NAME. The commands of the openstack plugins against the env should run when either OSP_TENANT_NAME or OS_PROJECT_NAME is set. Signed-off-by: Martin Schuppert mschuppe@redhat.com Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [plugins] Tripleo specific containerized services logs (#1046)Bogdan Dobrelya2017-06-2819-35/+95
| | | | | | | | | | | | Add Tripleo Pike opinionated logs paths to be collected for services, when running in containers. This is a temporary and will be reworked for Queens, like switching those to syslog or fluentd shipping logs to Elasticsearch cluster. Partial bug: https://bugs.launchpad.net/tripleo/+bug/1700909 Related blueprint: https://review.openstack.org/#/c/462900 Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [targetcli] added one item (#1044)vredara2017-06-281-0/+1
| | | | | | collecting the /sys/kernel/config/target Signed-off-by: venkata edara <redara@redhat.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [gluster_block] Added new plugin gluster_block (#1041)vredara2017-06-281-0/+39
| | | | | | gluster_block plugin collects config/log files related to blocks Signed-off-by: venkata edara <redara@redhat.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [i18n] Update Spanish translation (#996)Adolfo Jayme-Barrientos2017-06-281-40/+34
| | | | Signed-off-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [iscsi] Enable plugin for Ubuntu and Debian (#932)Louis Bouchard2017-06-161-7/+17
| | | | Signed-off-by: Louis Bouchard <louis.bouchard@canonical.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [workflow] format update to PR template to list the items properlyAdam Stokes2017-06-141-4/+4
| | | | Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [workflow] Add a pull request template (#1025)Adam Stokes2017-06-141-0/+7
| | | | | | | | | | This includes information for users wishing to submit PR's and is visible during their creation of the PR. This allows them to validate that they are providing all necessary requirements prior to submitting and should reduce the amount of back and forth we do asking users to follow our guidelines. Fixes #1021 Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [AUTHORS] update authors file with more contributors (#1026)Adam Stokes2017-06-141-3/+103
| | | | | | | We've had a lot of contributions from outside companies, organizations, and individual contributors. I'd like to update this file to acknowledge those new contributors and continue to encourage and promote this products ecosystem. Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [hardware] add /sys/class/dmi/id/* (#1037)davecore822017-06-131-1/+2
| | | | | | | | | | | | | | | | | | | | | Collect the entire /sys/class/dmi/id/ directory from the hardware plugin. Today, this is really the "native" format for this information, as far as Linux is concerned. The dmidecode program (which historically at least read the data directly from firmware tables, as no proc or sysfs interface existed) is a legacy formatting of this information which we are unfortunately obliged to keep around a little longer yet, as many users have grown dependencies on its format. The data included in this directory is small (about 500 bytes on my system) and will not have an impact on the time or size of the report. Original discussion at: https://github.com/sosreport/sos/pull/1034 Signed-off-by: David Coronel <david.coronel@canonical.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [docker] Update Ubuntu copy spec (#1009)christyp2017-05-311-4/+3
| | | | | | | | The binary name changed from docker.io to docker. Update config and log file locations. Signed-off-by: Karsten Graul <kgraul@linux.vnet.ibm.com> Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* Fix dc-connect winbind logfile path for samba plugin (#1018)Günther Deschner2017-05-301-1/+1
| | | | | | Fixes patch collection on an incorrect samba path. Signed-off-by: Guenther Deschner <gd@samba.org> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [policies/redhat] make missing 'filesystem' package non-fatalBryn M. Reeves2017-05-221-2/+10
| | | | | | | | | | | | | | | | | | | | | | | On Red Hat systems, we use the version of the installed filesystem' package to enable handling of UsrMove[1] in the PATH used when running commands from sos. If the package is not present (e.g. because of a broken system configuration, rpm timeout, corrupt database or other cause), previous versions would fail immediately. In this situation there was no way for the user to attempt a complete run (short of fixing the problem related to the 'filesystem' package). Now that the timeout has been lengthened for this command, make the UsrMove determination a bit more robust to prevent users from being unable to run sos at all: - If RPM fails entirely, exit (plugin enablement tests will fail) - If RPM succeeds but 'filesystem' is missing assume UsrMove (this is true for all supported Red Hat distros today) - Otherwise apply the normal PATH logic. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ceph] exclude temporary mount locations from collectionTomas Petr2017-05-221-0/+7
| | | | | | | | | | Do not collect temporary mount paths at /var/lib/ceph/tmp/mnt.XXXX. Resolves #1006 Replaces #1005 Signed-off-by: Tomas Petr <tpetr@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_neutron] Add more OpenStack Neutron commandsAssaf Muller2017-05-221-0/+4
| | | | | | | | | | | | | | | Finish off core set of Neutron resources: * Networks * Security groups * Floating IPs As well as the API extensions exposed by the server: * Extensions Resolves: #1011. Signed-off-by: Assaf Muller <amuller@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [global] update FSF addressSandro Bonazzola2017-05-22233-722/+743
| | | | | | | Resolve issue #886 Change-Id: I0496cf4f4dbee33a8a6c52b2b6a1a3271834fb6f Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
* [libvirt] fix per-process cgroup collectionBryn M. Reeves2017-05-151-1/+1
| | | | | | | The per-pid cgroup data is in a pseudofile named 'cgroup', and not 'cgroups' as in commit 2523ad5. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kernel] add /sys/fs/pstore collection for all platforms (#1008)Chris Newcomer2017-05-122-2/+2
| | | | | | | | | | | | | | | | The pstore data should be collected upon sosreport run for all architecture (currently only enabled in powerpc.py) because the data there will include any past oops event and/or panic events. This data would assist diagnosing panics with little other data available. Also, the data included is a few kb in size, so it will not add much size to the output of the report. I just moved the /sys/fs/pstore collection from powerpc.py to kernel.py in order to have it collect for all architectures. Signed-off-by: Chris Newcomer <chris@thenewcomers.org> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [plugins] Handle stat errors on missing files (#991)Louis Bouchard2017-05-101-1/+4
| | | | | | | When the stat is done on a broken symlink, it will return either OSError or FileNotFoundError. Handle these and report accordingly. Signed-off-by: Louis Bouchard <louis.bouchard@canonical.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [networking] collect more link data (#988)qsn2017-05-101-1/+2
| | | | | | | Collect macsec configuration, and detailed link information from iproute. Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [docker] Collect image inspect output (#995)Jake Hunsaker2017-05-101-4/+12
| | | | | | Adds output for 'docker inspect' for each unique image on the host. Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [snappy] new plugin to show snappy info (#999)BryanQuigley2017-05-101-0/+36
| | | | | | | | | | Adds a new plugin that lists information about snappy, including: * all installed snaps with version info (snap list --all) * Snappy's own version info (snap --version) * status info and logs for the snapd daemon * List snappy system changes (snap changes) Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [pacemaker] Collect user-defined logfilePavel Moravec2017-05-091-0/+17
| | | | | | | | | | /etc/sysconfig/pacemaker or /etc/default/pacemaker can specify pacemaker's logfile that sos should collect. Resolves: #1002. Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [pacemaker] Collect /etc/default/pacemaker for Debian/UbuntuBryn M. Reeves2017-05-091-2/+12
| | | | | | | | | Make /etc/default/pacemaker the default location for the Pacemaker defaults file, and have the RedHatPlugin override this to the /etc/sysconfig/pacemaker location as required. Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [policies/redhat] accept 'oci' as a valid container typeBryn M. Reeves2017-05-031-1/+1
| | | | | | | | | | | Currently the Red Hat container policy accepts 'container=docker' as a valid indication that we are running in a container and to enable sysroot and host sysroot checks. More recent Red Hat container infrastructure has change to setting 'container=oci', so recognise this value as well. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] work around Six string problems in HTML reportsBryn M. Reeves2017-05-031-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A workaround for Six string encoding problems involving strings that end in '\' characters was introduced for plain text reports in commit 3d23564: a similar fix is also needed for HTML reports, since the same string encoding problem can occur there too: > /usr/lib/python2.7/site-packages/six.py(647)u() -> return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") (Pdb) bt /usr/sbin/sosreport(25)<module>() -> main(sys.argv[1:]) /usr/lib/python2.7/site-packages/sos/sosreport.py(1632)main() -> sos.execute() /usr/lib/python2.7/site-packages/sos/sosreport.py(1606)execute() -> self.html_report() /usr/lib/python2.7/site-packages/sos/sosreport.py(1373)html_report() -> self._html_report() /usr/lib/python2.7/site-packages/sos/sosreport.py(1434)_html_report() -> self.handle_exception() /usr/lib/python2.7/site-packages/sos/sosreport.py(1432)_html_report() -> html = plug.report() /usr/lib/python2.7/site-packages/sos/plugins/__init__.py(930)report() -> + "/" + _to_u(cmd['file']) /usr/lib/python2.7/site-packages/sos/plugins/__init__.py(44)_to_u() -> s = six.u(s) > /usr/lib/python2.7/site-packages/six.py(647)u() -> return unicode(s.replace(r'\\', r'\\\\'), "unicode_escape") Avoid this by applying the same workaround ('\$' -> '\ $') in the existing Plugin _to_u() helper function. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>