aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [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>
* [gluster] Optionally enable dumpSachin Patil2018-04-161-21/+23
| | | | | | | | | | | | | | | | | | | | | | | Currently a dump is collected every time sosreport is run. Dump is not required by Gluster support team and also consumes space in `/var/run/gluster/` unnecessarily. This patch adds an option to enable dump only when required using ``` -k gluster.dump ``` Usage: ``` sosreport -o gluster -k gluster.dump ``` Dump will is disabled by default. Resolves: #1174 Signed-off-by: Sachin Patil <psachin@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_glance|heat|nova] fix api container namesMartin Schuppert2018-04-163-3/+3
| | | | | | | | | | Container names of glance, heat and nova api was not correct when verify if a the container is running. Resolves: #1172 Signed-off-by: Martin Schuppert <mschuppe@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [opendaylight] collect more logs and puppet configPavel Moravec2018-04-161-5/+16
| | | | | | | | | collect puppet-generated config, container and docker logs Resolves: #1171 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] allow add_cmd_output to collect binary outputPavel Moravec2018-04-164-20/+49
| | | | | | | | | | | If a command output is a true binary data, allow add_cmd_output to collect the raw content and dont try to decode it as UTF-8. Resolves: #1169 Closes: #1170 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [docker] Collect daemon.json for all OSesJake Hunsaker2018-04-161-1/+1
| | | | | | | | | | | | | The Red Hat packaging of docker now also supports using /etc/docker/daemon.json for configuring docker. This moves collect of daemon.json from being Ubuntu-only to being for any OS installation. Resolves: #1168 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] Fix debian policy PackageManager misusage.Eric Desrochers2018-04-161-4/+8
| | | | | | | | | | | | | | | | Python does not impose any kind of ordering on keyword args, but if the keywords are missing it will still attempt to honour the call by mapping positional call arguments to corresponding keywords in the declaration. In this case the Debian policy invokes the PackageManager call as though it only uses positional arguments. This is undoubtedly wrong. Resolves: #1162 Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [networking] Add netplan data collection for Ubuntu.Eric Desrochers2018-04-161-1/+4
| | | | | | | | | | | | | | | Netplan is a YAML network configuration abstraction for various backends (NetworkManager, networkd). It reads network configuration from /etc/netplan/*.yaml. Related documents: https://wiki.ubuntu.com/Netplan https://wiki.ubuntu.com/Netplan/Design Resolves: #1161 Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [boot] Add Debian/Ubuntu package namesBryan Quigley2018-04-161-1/+1
| | | | | | | Resolves: #1157 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_horizon] fix password obfuscate in local_settingsMartin Schuppert2018-04-161-2/+2
| | | | | | | | | | | commit d0bcd552f4bc2119afd2a835f4e5ec1107421f40 broke the replacement of the protect_keys for the main local_settings config file. Resolves: #1151 Signed-off-by: Martin Schuppert mschuppe@redhat.com Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [btrfs] Add filesystem pluginBryan Quigley2018-04-161-0/+34
| | | | | | | | | | | Adds btrfs filesystem show as that shows if there are btrfs partitions or not, and also show version of btrfs command. Closes: #1112. Resloves: #1127. Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [logs] Add gathering of systemd journal from previous bootRenaud Métrich2018-04-161-0/+2
| | | | | | | | | | | This is very useful to debug RHEL7 shutdown issues. To have the logs be collected, it expects the customer to have Persistent Storage for the journal turned on. Resolves: #1125 Signed-off-by: Renaud Métrich <rmetrich@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_nova] Add fixed_key to the list of protected keysLee Yarwood2018-04-161-1/+1
| | | | | | | Resolves: #1123 Signed-off-by: Lee Yarwood <lyarwood@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [clear_containers] Add new plugin for Clear ContainersJames O. D. Hunt2018-04-041-0/+89
| | | | | | | | | | | | | | | Add a new plugin for the Intel(R) Clear Containers runtime (`cc-runtime`). See: - https://github.com/clearcontainers/runtime - https://github.com/clearcontainers Resolves: #1119 Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugin] Allow selection of journal entries by identifierJames O. D. Hunt2018-04-041-1/+6
| | | | | | | Added an "identifier=" option to Plugin.add_journal() to allow system journal entries to be selected by identifier. Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
* [postgresql] Run on -common package being present tooBryan Quigley2018-04-041-1/+1
| | | | | | | | | | | | | | | On Ubuntu and Debian the postgresql package is a meta package pointing to the latest postgresql package. It's not required to be installed to have postgresql. This adds checking for postgresql-common package which has to be installed if they are running a server. Resolves: #1103 Closes: #1117 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [development] .gitignore for pycharmaleksander.baranowski2018-04-041-0/+12
| | | | | | | | | | | Add entries to gitignore based on: github.com/github/gitignore/blob/master/Global/JetBrains.gitignore Resolves: #1113 Signed-off-by: aleksander.baranowski <aleksander.baranowski@yahoo.pl> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [pacemaker] Collect Pacemaker 2.0 log locationsKen Gaillot2018-04-041-2/+6
| | | | | | | | | | | | Upstream changed the intended new log locations in the Pacemaker 2.0.0 release cycle, so add them (they will stay the same in the 2.0.0 final release). Keep the /var/log/cluster locations added previously, as many users prefer to configure those. Resolves: #1106 Signed-off-by: Ken Gaillot <kgaillot@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [pacemaker] Improve Pacemaker distribution-specific classingKen Gaillot2018-04-041-19/+40
| | | | | | | | | | | Follow the usual model of generic Plugin as superclass for distribution-specific classes, and don't collect crm shell on Red Hat (which doesn't ship it). Resolves: #1106 Signed-off-by: Ken Gaillot <kgaillot@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [pacemaker] Improve Pacemaker password scrubbingKen Gaillot2018-04-041-7/+19
| | | | | | | | | | Scrub the crm shell output as well as the pcs output, and use an equivalent scrub pattern in all places. Resolves: #1106 Signed-off-by: Ken Gaillot <kgaillot@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [pacemaker] Collect new Pacemaker log locationsKen Gaillot2018-04-041-5/+13
| | | | | | | | | | The default log locations will change in Pacemaker 2.0, so prepare for that now. Resolves: #1106 Signed-off-by: Ken Gaillot <kgaillot@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [pacemaker] Collect info if only pacemaker-remote is installedKen Gaillot2018-04-041-1/+4
| | | | | | | | | | A Pacemaker node may have either pacemaker or pacemaker-remote installed. Resolves: #1106 Signed-off-by: Ken Gaillot <kgaillot@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [zfs] Get zpool propertiesAldo Sotolongo2018-04-041-0/+6
| | | | | | | | | Get properties output for all zpools. Closes: #1104 Signed-off-by: Aldo Sotolongo <aldenso@gmail.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [rabbitmq] Mask default password in rabbitmq.confJose Castillo2018-04-041-0/+3
| | | | | | | | | | | | Use do_file_sub() to mask the default password in the config file /etc/rabbitmq/rabbitmq.conf, and solve issue #840. Fixes: #840 Closes: #1100 Signed-off-by: Jose Castillo <jcastillo@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kubernetes] Collect metrics from masterPep Turró Mauri2018-04-041-2/+4
| | | | | | | | | | Add an invocation to 'kubectl get --raw /metrics' to obtain metrics from the kubernetes master. Resolves: #1099 Signed-off-by: Pep Turró Mauri <pep@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>