aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [archive] Change log level for missing compression toolsJake Hunsaker2018-05-091-1/+1
| | | | | | | | | | | | | | | | | | | Changes the log level from error to info when sos is checking for valid compression tools (xz, bzip2, gzip) and finds that one does not exist. The fact that one of the compression methods isn't available is not necessarily an error depending on where sos is being run, for example in a container that provides xz but not gzip. In this case an error is printed saying gzip is not available, even if sos would never have used gzip due to the presence of xz, which could cause end user confusion. If no supported compression methods are available, then that is still properly reported as an error. Resolves: #1235 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openvswitch] verbose tunnel port outputMatteo Croce2018-05-091-1/+1
| | | | | | | | | Run the command "ovs-appctl tnl/ports/show" with verbose output. Resolves: #1234 Signed-off-by: Matteo Croce <mcroce@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [rpm] drop unneeded importBryn M. Reeves2018-05-091-1/+0
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [dnf, yum] add package-cleanup commandsBryn M. Reeves2018-05-092-1/+8
| | | | | | | | | | | | | Add calls to the package-cleanup script from both the dnf and yum plugins: each command is provided by the corresponding -utils RPM, and the scripts are different (even though they share the same name). Based on a patch from Jake Hunsaker in PR #1217. Related: #1217 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [dnf] remove bogus suggest_filename use from dnf commandsBryn M. Reeves2018-05-091-8/+5
| | | | | | | | The suggested names are not actually accurate reflections of the generated file content: drop them and just use the automatically generated names for these files. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [rpm] add option for rpm DBJake Hunsaker2018-05-091-1/+8
| | | | | | | | | | | | Adds the rpmdb option, disabled by default, to collect the contents of /var/lib/rpm to diagnose RPM DB problems. Users should note that use of this option will typically significantly increase the size of the final sosreport archive. Resolves: #1217 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [boot] Collect verbose efibootmgrJake Hunsaker2018-05-091-1/+1
| | | | | | | | | Makes collection of efibootmgr output verbose. Resolves: #1231 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] dont catch FileNotFoundError specificallyPavel Moravec2018-05-091-2/+2
| | | | | | | | | .. since it doesnt exist in py2, while parent class OSError does Resolves: #1230 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [systemd] Add 'systemd-analyze blame' to systemd pluginJose Castillo2018-05-091-0/+1
| | | | | | | | | | | | | This patch adds the output of 'systemd-analyze blame', which is very useful when we try to analyze slow boots, providing more fine-grained information than the one we currently have with 'systemd-analyze' in the sosreport. Closes: #1228 Resolves: #1229 Signed-off-by: Jose Castillo <jcastillo@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [logs] implement --all-logs for Red Hat messages* and secure*Bryn M. Reeves2018-05-091-2/+9
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [logs] collect journalctl verbosed logs with --all-logs onlyPavel Moravec2018-05-091-0/+3
| | | | | | Resolves: #1225 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [os_net_config] Capture the os-net-config run time dataSaravanan KR2018-05-091-0/+1
| | | | | | | | | | | | For DPDK OpenStack deployments with TripleO, os-net-config binds the DPDK PMD driver to the interface and writes the details in to the directory /var/lib/os-net-config. Adding this directory for the report collection. Resolves: #1224 Signed-off-by: Saravanan KR <skramaja@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [auditd] Collect rules listJake Hunsaker2018-05-091-1/+2
| | | | | | | | | Adds collection of auditd rules Resolves: #1223 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sunrpc] Simplify enablement check and collect debug informationJake Hunsaker2018-05-091-27/+4
| | | | | | | | | | | | Simplifies the enablement check to look for the rpcbind package as is consistent with other plugins and enables the plugin for Debian/Ubuntu. Also now collects /sys/kernel/debug/sunrpc. Resolves: #1222 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [networking] Capture the complete /etc/NetworkManager/ directoryPatrick Talbert2018-05-091-2/+1
| | | | | | | | | | | Previosuly, only the NetworkManager.conf file was recorded. This misses out on any conf.d/ changes, dispatcher scripts, etc. Add them. Resolves: #1221 Signed-off-by: Patrick Talbert <ptalbert@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [networking] Add sysfs netdev statisticsPatrick Talbert2018-05-091-0/+1
| | | | | | Some net_device statistics are only exposed via sysfs. Get them. Signed-off-by: Patrick Talbert <ptalbert@redhat.com>
* [alternatives] Add new pluginJake Hunsaker2018-05-091-0/+52
| | | | | | | | | Adds a new plugin to capture output for alternatives Resolves: #1220 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [postfix|sendmail] Add mailq outputJake Hunsaker2018-05-092-12/+13
| | | | | | | | | | | | | Adds collection of mailq output to the postfix and sendmail plugins. Sendmail also collects 'mailq -Ac'. Additionally, cleanup redundant checks and add_copy_spec in sendmail plugin. Resolves: #1219 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [logs] collect boot journals with message catalogsBryn M. Reeves2018-04-301-2/+2
| | | | | | Related: #1216 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugin] add 'catalog=True|False' to Plugin.add_journal()Bryn M. Reeves2018-04-301-9/+16
| | | | | | | Allow users of add_journal() to also collect message catalogs for the logs returned. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [logs] parse extra rsyslog log configs and include by defaultJake Hunsaker2018-04-301-13/+21
| | | | | | | | | | | | | Parse any extra rsyslog configs that are specified via an 'IncludeConfig' line in /etc/rsyslog.conf. Additionally, this makes collection of rsyslog defined log locations a default action, rather than requiring the --all-logs option. Resolves: #1216 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] Fix boom and conntrackd plugin file permissionMikel Olasagasti Uranga2018-04-302-0/+0
| | | | | | | Resolves: #1239 Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [samba] Add information about trusted domainsAndreas Schneider2018-04-301-0/+1
| | | | | | | Resolves: #1192 Signed-off-by: Andreas Schneider <asn@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_*, gnocchi] Fix collection of openstack logsShatadru Bandyopadhyay2018-04-305-7/+39
| | | | | | | | | | | | | | | | | | with --all-logs option openstack plugins now collects respective logs from /var/log/httpd/ without --all-logs, plugins only captures related .log file from /var/log/httpd Changes are made in following plugins : gnocchi, openstack_aodh, openstack_ceilometer, openstack_horizon and openstack_keystone to ensure all openstack specific logs are collected from /var/log/httpd/ Fixes : #1131 Resolves: #1132 Signed-off-by: Shatadru Bandyopadhyay <shatadru1@gmail.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [powerpath] Check for kernel module to enable pluginJake Hunsaker2018-04-301-0/+1
| | | | | | | | | | | Changes the enablement for the powerpath plugin to first check for any of the EMC kernel modules associated with powerpath. If none are present, still check for the presence of the EMCpower package. Resolves: #1215 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugin] add kernel module triggersBryn M. Reeves2018-04-302-2/+18
| | | | | | | | | | Add a new mechanism to trigger plugin execution on the presence of one or more named Linux kernel module. Plugins may now declare a "kernel_mods" list (in the same manner as files, packages etc.) that will cause that plugin to run. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ipa] remove bogus check_enabled() and unused ipa_{client,server}Bryn M. Reeves2018-04-301-5/+0
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ipa] ensure that ipa_version is always set in setup()Bryn M. Reeves2018-04-301-1/+4
| | | | | | Resolves: #1214 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [filesys] Clean lsof output, capture lslocks and mountinfo for pidsJake Hunsaker2018-04-301-2/+11
| | | | | | | | | | | | | | Cleans the output of lsof, removing errors and warnings that are expected due to the lsof command that is being run. Other errors that lsof might produce to stderr are still preserved. Additionally, capture lslocks output and /proc/pid/mountinfo for each pid. Resolves: #1212 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kernel] Add collection of tracing informationJake Hunsaker2018-04-261-0/+10
| | | | | | | | | Adds collection of /sys/kernel/debug/tracing information. Resolves: #1211 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] convert plugins to new add_forbidden_path()Bryn M. Reeves2018-04-2615-75/+106
| | | | | | | Replace multiple calls to add_forbidden_path() with a single call passing a list of paths to blacklist. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugin] log forbidden pathsBryn M. Reeves2018-04-261-0/+1
| | | | | | | | We currently log when skipping a path that is on the forbidden list, but unlike command output and copy specs, we do not log the registration of the path glob. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugin] allow lists to be passed to add_forbidden_path()Bryn M. Reeves2018-04-261-6/+10
| | | | | | | | | | | In the same manner as add_copy_spec() and add_cmd_output(), allow add_forbidden_path() to accept either a single glob specification as a string, or a list of globs. This avoide the need for repeated calls to define a list of paths to exclude for a plugin. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [yum] fix yum plugin data collectionBryn M. Reeves2018-04-261-4/+6
| | | | | | | | Don't attempt to add a null string if there are no plugins to report on, and improve the formatting of the plugin-names and plugin-packages files. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [mysql] Add 'du' to the mysql database pathJose Castillo2018-04-231-0/+2
| | | | | | | | | | | | | This patch gathers the size of the content in var/lib/mysql , which can be useful in some cases to see if a db is growing out of control (for example keystones tokens or another). Closes: #1144 Resolves: #1210 Signed-off-by: Jose Castillo <jcastillo@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [selinux] Use semanage and only run if selinux is not disabledJake Hunsaker2018-04-231-18/+30
| | | | | | | | | | | | | | | | | | Updates the selinux plugin to only run the builk of selinux commands if selinux is not in a disabled state, as otherwise these commands do not produce useful output. The output of sestatus is still collected even if selinux is disabled so analysts still have a reference point for that information. Additionally, change to using semanage to collect the bulk of the data given that that is the recommended practice. Collection of semanage list output is now always collected, instead of being enabled by the 'list' option. Resolves: #1209 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [yum] add plugin name list, package list, and config filesBryn M. Reeves2018-04-191-0/+18
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [zfs] Add support for zfsonlinux and rhelNathaniel Clark2018-04-191-4/+4
| | | | | | | | | | | | | This add support for the official OpenZFS port for Linux https://github.com/zfsonlinux/zfs The primary package is zfs and is supported on rhel. Fixes: #1213 Resolves: #1201 Signed-off-by: Nathaniel Clark <Nathaniel.Clark@misrule.us> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_octavia] Add new pluginPavel Moravec2018-04-181-0/+111
| | | | | | | | | This adds a plugin for OpenStack Octavia as a network load balancing. Resolves: #1257 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kernel] Disable gathering /proc/timer* statisticsRenaud Métrich2018-04-181-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | Disable gathering /proc/timer* statistics by default, a new option 'kernel.with-timer' enables gathering these. If /proc/timer_list is huge, then kernel will experience issues with processing all the timers since it needs to spin in a tight loop inside the kernel. We have tried to fix it from kernel side, added touch_nmi_watchdog() to silence softlockups, cond_resched() to fix RCU stall issue but with such huge number of timers the RHEL7 kernel is still hangs. It can reproduced somehow on upstream kernel (however, there will be workqueue lockups). We came to conclusion that reading /proc/timer_list should be disabled in sosreport. Since /proc/timer_stats is tight to /proc/timer_list, both are disabled at the same time. Resolves: #1268 Signed-off-by: Renaud Métrich <rmetrich@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ovirt-provider-ovn] Introducing a plugin for ovirt-provider-ovn.Leon Goldberg2018-04-181-0/+43
| | | | | | | | | | Resolves: #1227. Signed-off-by: Leon Goldberg <leon.otium@gmail.com> Fixed member formatting & added VIM mode line. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] remove duplicate add_argument() call (rebase error)Bryn M. Reeves2018-04-171-3/+0
| | | | | | | | | Fix a command line argument handling regression introduced in commit 333918c. Related: #1175 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kubernetes] Fix collection of pod logsJake Hunsaker2018-04-171-7/+9
| | | | | | | | | | | | | | | | Corrects a few problems with the collection of pod logs via kubectl. First, no longer require the 'all' plugin option, and make pod collection a check of its own. Second, fix a malformed kubectl command to actually collect the logs from a given pod. Additionally, no longer collect duplicate --all-namespaces output if we collect this output separately for each namespace. Closes: #1189 Resolves: #1190 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [buildah] Add new pluginJake Hunsaker2018-04-171-0/+53
| | | | | | | | | Adds a plugin for Buildah, a new container and image builder Resolves: #1188 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] avoid callout when checking for running processMartin Schuppert2018-04-171-7/+12
| | | | | | | | | | | Replace the 'ps -ef' based Plugin.check_process_by_name() method with a native Python version that scans /proc/[0-9]*/cmdline instead. Resolves: #1186 Signed-off-by: Martin Schuppert mschuppe@redhat.com Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugin] Make Plugin.policy an object instead of a functionJake Hunsaker2018-04-1713-33/+45
| | | | | | | | | | 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>
* [sosreport] Allow policies to change report name generationJake Hunsaker2018-04-176-36/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the way sos generates the name for the final archive. Policies may now control the naming pattern by changing the new 'name_pattern' attribute. By default, this is set to 'legacy' for all policies, and maintains the naming pattern that sos has used up until this point. A policy may also set name_pattern to 'friendly' which will result in a more user-friendly name for the archive. Additionally, a policy may set name_pattern to a format() parsable string to explicitly set how the tarball should be named. Additionally, this removes the prompt for a 'customer name' on the report when running interactively. Instead, the short hostname of the system is now always used in place of the 'customer name'. A new option, --label, has been added (and which --name will now map to) which if provided will append a user-given string to the archive name after the hostname. This also sets the Red Hat policy to use the new 'friendly' pattern. Closes: #469 Resolves: #1175 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [azure] Added instance metadata and curl to RHUI if on demand image.Takayoshi Tanaka2018-04-171-2/+30
| | | | | | | | | | | | | | | | Instance metadat is useful to investigate the virtual machine properties. We will find the base image, size, location and so on from it. Also, connectivity to RHUI repo is required to work property for Azure RHEL On-Demand image. We fixed the WALinuxAgent package name type to enable this plugin by default when WALinuxAgent is running. It's usually running only on Azure. Resolves: #1145 Signed-off-by: Takayoshi Tanaka <tatanaka@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_cinder] check for api service running via cinder_wsgiMartin Schuppert2018-04-162-12/+26
| | | | | | | | | | | With OSP11 cinder api changed to run via https wsgi. To check for running cinder-manage command we also need to take this situation. The change checks for cinder_wsgi process. Resolves: #1178 Signed-off-by: Martin Schuppert <mschuppert@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [general|host|date] Break up general into other pluginsJake Hunsaker2018-04-166-78/+107
| | | | | | | | | | | | | | | | | | | | | | Breaks up the general plugin into other plugins, some of them new, to better logically align collected items with relevant plugins. Adds the date plugin to collect system-time related information such as 'date' and 'hwclock' output. Adds the host plugin to capture host information like hostname, uptime, etc. Renames the lsbrelease plugin to 'release', and adds collection of /etc/*release files. Moves collection of /proc/stat to the process plugin, and /etc/sysconfig and /etc/default to the system plugin. Resolves: #1177 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>