aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [subscription_manager] Add syspurpose and rct collectionJake Hunsaker2019-03-191-1/+6
| | | | | | | | | | | | Adds syspurpose output collection which is a new tool to assist with subscription manager on RHEL systems. Also adds rct output for default product certificates. Resolves: #1489 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [firewalld] Collect direct rules, overall state and logging settingPatrick Talbert2019-03-191-1/+9
| | | | | | | | | | | | | Direct Rules are an increasingly common way to control the firewall, but current sos plugin output does not get these. Update the plugin to grab firwall-cmd output about Direct Rules, and also pick up the 'state' output and newer logging settings. Resolves: #1486 Signed-off-by: Patrick Talbert <ptalbert@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [policies] Fix default xz versionPierre Equoy2019-03-191-1/+1
| | | | | | | | | | | | | | | | | | | While running some tests using sosreport in a snap, I ran into the following issue: Creating compressed archive... [archive:TarFileArchive] An error occurred compressing the archive: unorderable types: int() >= str() This is because the `xz_version` variable might be set to a list containing one integer, but it was later compared to a list of strings, raising an exception. Resolves: #1485 Signed-off-by: Pierre Equoy <pierre.equoy@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [services/upstart] Cleanup and move commands to right pluginBryan Quigley2019-03-192-7/+3
| | | | | | | | | | Remove /sbin/ for service command so it runs on ubuntu. Move initctl command to upstart plugin Resolves: #1484 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_instack] more indentation fixesBryn M. Reeves2019-03-191-12/+12
| | | | | | | The outer loop was also double-indented (my local version of pycodestyle did not pick this up, nor did my eyes...). Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ipvs] Gather additional ipvsadm outputPatrick Talbert2019-03-191-1/+6
| | | | | | | | | | Collect further ipvsadm details and always do so with the -n numeric option. Resolves: #1483 Signed-off-by: Patrick Talbert <ptalbert@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_instack] re-format innermost loopBryn M. Reeves2019-03-191-10/+10
| | | | | | | Re-format the indentation and structure of the innermost loop in the failed deployments capture. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_instack] pass lists to add_cmd_output()Bryn M. Reeves2019-03-191-3/+4
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_instack] Support for multiple stacksJoe Talerico2019-03-191-22/+26
| | | | | | | The OpenStack undercloud can support > 1 stack. This patch will iterate through all the possible stacks deployed on the undercloud. Signed-off-by: Joe Talerico <rook@redhat.com>
* [presets] Create preset directory if it does not existJake Hunsaker2019-03-191-0/+3
| | | | | | | | | | | When attempting to add a preset when /var/lib/sos/presets does not exist, the attempt will fail. Now, if the directory does not exist, sos will attempt to create it. Resolves: #1480 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [man] Update manpage for presetsJake Hunsaker2019-03-191-0/+33
| | | | | | | | | | | | | The manpage for sosreport was previously missing documentation for the new preset feature in 3.6. This updates the manpage to include entries for add-preset, del-preset, list-presets, and the --desc options. Resolves: #1479 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [smartcard] collect info about smart card readers via openscPavel Moravec2019-03-181-3/+10
| | | | | | | | | Inspect smart card reader information using opensc command pkcs11-tool and collect its configuration. Resolves: #1478 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [juju] Add detection when juju is installed as a snap.Eric Desrochers2019-03-181-1/+1
| | | | | | | | | | | Conventional DEB package extract juju binary in /usr/bin/juju, but SNAP extract juju binary in /snap/bin/juju. Fixes: #1475 Resolves: #1476 Signed-off-by: Eric Desrochers eric.desrochers@canonical.com Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [etcd] Include journalJuan-Luis de Sousa-Valadas Castaño2019-03-181-0/+1
| | | | | | | Resolves: #1474 Signed-off-by: Juan-Luis de Sousa-Valadas <jdesousa@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] Decrease log verbosity when do_file_sub failed on missing filePavel Moravec2019-03-181-2/+8
| | | | | | | | | In case do_file_sub fails to apply a substitution on a non-existing file, don't log it as an error log to stdout. Resolves: #1471 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [openvswitch] Capture additional datapath flowsAndreas Karis2019-03-181-0/+2
| | | | | | | | | | Capture additional datapath flows for the OVS netdev datapath with: ovs-appctl dpctl/dump-flows Resolves: #1468 Signed-off-by: Andreas Karis <akaris@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ipsec] Remove IPSec plugin in favor of OpenSwanRobb Manes2019-03-181-42/+0
| | | | | | | | | | | | | | Red Hat distributions have not used the ipsec-tools and racoon packages since RHEL5, and all of this information is collected in the OpenSwan module via the same paths. Similarly, Debian distributions have not provided this since wheezy, and the same data is collected in OpenSwan. Resolves: #1465 Signed-off-by: Robb Manes <rmanes@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openswan] fix option list styleBryn M. Reeves2019-03-181-3/+4
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openswan] Forbid collection of secrets and certdbRobb Manes2019-03-181-1/+6
| | | | | | | | | | | | | | When collecting IPSec data, currently nothing prevents the collection of keys or the cert.db files. Ensure we don't collect this information as it is private. Thanks to Robert Bost (@bostrt) for discovering this and Matt Rogers (@mrogers950) for double checking what we should ignore. Resolves: #1463 Signed-off-by: Robb Manes <rmanes@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [utilities] Remove the __path__ attribute comparison with empty stringSourabh Jain2019-03-181-1/+1
| | | | | | | | | | | | | | | This patch removes an unnecessary comparison on package's __path__ attribute with an empty string in get_modules method. When we pass an empty path to _find_plugins_from_list function it returns None. The NoneType is not an iterable entity, so this will leads to runtime error when we extend the plugins list with None value. Resolves: #1463 Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] use mode='w' when writing plugin exceptionsFilip Krska2019-03-181-1/+1
| | | | | | | | | | Use append mode when writing to plugin exception files: otherwise, if multiple exceptions occur within one plugin (e.g. in separate execution phases), the later ones will overwrite the earlier. Resolves: #1461 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [archive] add mode argument to Archive.add_string()Filip Krska2019-03-181-3/+3
| | | | | | | | | Add mode (e.g. to allow append) support to add_string() function. Related: #1461 Signed-off-by: Filip Krska <fkrska@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ovirt] collect `engine-config -d` when availableDan Kenigsberg2019-03-181-2/+6
| | | | | | | | | | Newer versions of ovirt-engine can produce a short and readable diff from the "factory defaults". Resolves: #1460 Signed-off-by: Dan Kenigsberg <danken@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_novajoin] Novajoin logs and confDavid Vallee Delisle2019-03-181-0/+40
| | | | | | | Resolves: #1459 Signed-off-by: David Vallee Delisle <dvd@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [networking] call ethtool for proper vlan device namesPavel Moravec2019-03-181-42/+25
| | | | | | | | | | Dont rely on device names from "ip -o link" output where the names contain also physical device name. Rather get the list of device names from listing /sys/class/net/ directory. Resolves: #1458 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [logging] Always cleanup temp directoryJake Hunsaker2019-03-181-0/+1
| | | | | | | | | | | | | | | | When running `sosreport -l`, or the more specific --list-* options, sos still creates a temp directory and log files, however we were not cleaning those up - so over time we could have a multitude of sos temp directories littering the filesystem. Now always cleanup the temp directory after execution. Only exception to this would be if we hit an OSError during execution _and_ the debug option is specified. Resolves: #1456 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [filesys] Use the correct interface when calling dumpe2fsXuewei Zhang2019-03-181-1/+1
| | | | | | | | | | dumpe2fs takes one parameter indicating the device to be dumped. Closes: #1452 Resolves: #1453 Signed-off-by: Xuewei Zhang <xueweiz@google.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openvswitch] Collect also offloaded flowsPavel Moravec2019-03-181-0/+2
| | | | | | | | | | Dump also any offloaded hardware flows by colling: ovs-dpctl dump-flows type=offloaded -m Resolves: #1450 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [policies] Detect CentOS distribution without D/S patchesMiguel Angel Ajo2019-03-181-1/+13
| | | | | | | | | | | | | | This partially fixes issue #1264 by handling the CentOS and CentOS Atomic hosts, partially based on the CentOS packaging patch [1]. Without this patch, if you try to develop sosreports on a CentOS host, you will get an empty list of plugins. [1] https://git.centos.org/blob/rpms!sos.git/c7/SOURCES!sos-3.4-centos-branding.patch Resolves: #1447 Signed-off-by: Miguel Angel Ajo <majopela@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [pacemaker] leave CIB file collection to crm_reportKen Gaillot2019-03-181-3/+0
| | | | | | | | | | | | The plugin previously collected the CIB, which may contain sensitive information, without scrubbing it. While the plugin could scrub it, it will already be collected (scrubbed) by the crm_report command run in setup(), so the plugin's collection is redundant and can be removed. Resolves: #1444 Signed-off-by: Ken Gaillot <kgaillot@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [pacemaker] only run pcs commands on systems that support itKen Gaillot2019-03-181-5/+2
| | | | | | | | | | pcs commands should be run in pcs_setup() rather than setup(), so they are only called on distributions that ship pcs Related: #1444 Signed-off-by: Ken Gaillot <kgaillot@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kubernetes] improve parsing namespacesPavel Moravec2019-03-181-1/+3
| | | | | | | | | Handle (theoretical) cases when "kubectl get namespace" returns a line with white characters only, and prevent IndexError to be raised. Resolves: #1442 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [openstack_nova] list all non-admin instances tooMiguel Angel Ajo2019-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | The current command in the openstack_nova.py plugin $ nova list Returns an incomplete list of instances when called as administrator, which results in incomplete sosreports. The right command to use to get a complete list of instances is: $ nova list --all-tenants Closes: #1439 Resolves: #1440 Signed-off-by: Miguel Angel Ajo Pelayo <majopela@redhat.com> Signed-off-by: Assaf Muller <amuller@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [lustre] Collect ring buffer dumps on all_logsNathaniel Clark2019-03-181-0/+4
| | | | | | | | | | | Collect emergency dumps of the lustre ring buffer if all_logs is set. These files are dumps of the Lustre ring buffer, that are dumped under certain conditions Resolves: #1436 Signed-off-by: Nathaniel Clark <Nathaniel.Clark@misrule.us> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] Add new plugin cifsPierguido Lambri2019-03-181-0/+30
| | | | | | | | | This collects few configuration files and cifs data. Resolves: #1434 Signed-off-by: Pierguido Lambri <plambri@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openvswitch] Add FDB bridge statisticsEelco Chaudron2019-03-181-1/+2
| | | | | | | | | Add the ovs-appctl fdb/stats command for each bridge. Resolves: #1431 Signed-off-by: Eelco Chaudron <echaudron@gmail.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [systemd] Add 'systemctl list-jobs' to systemd pluginHATAYAMA Daisuke2019-03-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the output of 'systemctl list-jobs', providing a list of jobs that are in progress. This is sometimes useful when we try to analyze troubles such as some units are unexpectedly not started/stopped. For example, consider there is the inquiry from some customer that multi-user.target on our system is configured as default.target but is still inactive after system boot, why? # LANG=C systemctl get-default multi-user.target # LANG=C systemctl status multi-user.target * multi-user.target - Multi-User System Loaded: loaded (/usr/lib/systemd/system/multi-user.target; \ enabled; vendor preset: disabled) Active: inactive (dead) Docs: man:systemd.special(7) In such case, systemctl list-jobs gives us the clear suggestion that there is a still running start job for foobar.service and multi-user.target and the other units are waiting for it to finish. # LANG=C systemctl --no-pager list-jobs JOB UNIT TYPE STATE 112 multi-user.target start waiting 226 systemd-update-utmp-runlevel.service start waiting 258 foobar.service start running 236 systemd-readahead-done.timer start waiting 4 jobs listed. Resolves: #1427 Signed-off-by: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kubernetes] Collect additional resourcesJake Hunsaker2019-03-181-2/+9
| | | | | | | | | Adds several resources for 'kubectl get' output. Resolves: #1424 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [origin] Collect deploymentconfigs from additional namespacesJake Hunsaker2019-03-181-2/+19
| | | | | | | | | | | | | | The origin plugin will now collect deploymentconfig output from more than just the 'default' namespace. Now it will collect from 'default', 'openshift-web-console', and 'openshift-ansible-broker' by default and a new 'all-namespaces' option has been added to allow deploymentconfig collection from all existing namespaces. Closes: #1410 Resolves: #1423 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_glance] fix typo from commit 2b29530Pavel Moravec2019-03-181-1/+1
| | | | | | | | false -> False Resolves: #1420 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [ovirt] Collect engine heap dump only if it's specifiedNijin Ashok2019-03-181-1/+7
| | | | | | | | | | | | | Currently the java heap dump of engine process is collected from "/var/log/ovirt-engine/dump" by default. The size of these dumps are very large which will increase the size of collected sosreport significantly. The dumps are not required for most of the cases and hence collect it only if it's specified using -k ovirt.heapdump Resolves: #1415 Signed-off-by: Nijin Ashok <nashok@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [etcd] Don't collect private .key filesJake Hunsaker2019-03-181-1/+4
| | | | | | | | | | Prevent the etcd plugin from capturing private keys. Closes: #1403 Resolves: #1414 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [landscape] Add copy of Landscape OOPS filesEric Desrochers2019-03-181-0/+1
| | | | | | | | | | | | | | | | | When a deviation from correct behaviour occurs Landscape may generate a very lightweight OOPS file useful for debugging file as follow: Format: /var/lib/landscape/landscape-oops/<YYYY-MM-DD>/OOPS-<OOPS-ID> OOPS-ID represent the ID displayed in the Landscape WebUI when an oops occurs. Resolves: #1413 Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [logrotate] fix path for logrotate.status in RHEL7/CentOS7Andrea Perotti2019-03-181-0/+1
| | | | | | | | | | In RHEL7/CentOS7 logrotate.status is placed in /var/lib/logrotate rather then directly in /var/lib. Resolves: #1412 Signed-off-by: Andrea Perotti <aperotti@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [x11] Add .old files to check previous executionsMikel Olasagasti Uranga2019-03-181-0/+2
| | | | | | | Resolves: #1286 Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [azure] Added /var/log/azure directory to sosreportBryn M. Reeves2019-03-181-1/+10
| | | | | | | Resolves: #1274 Suggested-by: Dave Mulford <dave.mulford@gmail.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] Allow user-controllable plugin timeoutsJake Hunsaker2019-03-124-6/+57
| | | | | | | | | | | | | | | | | | | | Allows users to specify a timeout for each plugin using the '-k plugin.timeout=value' syntax by adding the 'timeout' option to every plugin. Additionally, adds the --plugin-timeout option to set a timeout for _all_ plugins. If --plugin-timeout and a specific -k timeout option is provided, the -k timeout option will be applied for those specific plugins, with --plugin-timeout being applied to all others. In either case, specifying a timeout of 0 seconds results in no timeout being applied. In the event that an invalid timeout is set, the timeout will be set to the default value for the plugin. Resolves: #1499 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [pcp] collect 12 newest pmlogger files regardless of sizePavel Moravec2019-03-121-7/+21
| | | | | | | | | | | - collect reasonable count of pmlogger files instead of sizelimit - (configurable via pcp.pmloggerfiles plugin option - prevent pmlogger/pmmgr binary files to be truncated/tailed Resolves: #1496 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [podman|docker] Add postprocessing for container inspect outputJake Hunsaker2019-03-122-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a postproc for the podman and docker plugins to attempt to obfuscate sensitive keys in 'inspect' output for those runtimes. Previously, these keys were being captured in plaintext which could lead to passwords or similar being leaked when sysadmins configure containers with environment variables (or similar) that contain this data. Specifically, we match against 'key=value' pairs as that is how the container runtimes accept and print these pairs, like so: "Env": [ "mypassword=supersecret", "container=oci" ], By comparison, the inspect outputs now read like the following when a potentially sensitive key is found: "Env": [ "mypassword=********", "container=oci" ], Resolves: #1487 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [boom] collect entire /boot/boom treeBryn M. Reeves2019-03-111-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>