aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [sosreport] make Ctrl-C exit messages consistentBryn M. Reeves2018-06-061-2/+3
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [build] make futures dep conditional on python versionBryn M. Reeves2018-06-061-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] Concurrently run pluginsJake Hunsaker2018-06-066-27/+100
| | | | | | | | | | | | | | | | | | | | | Changes sos to run plugins concurrently. By default sos will now use four (4) threads to run plugins, allowing for faster overall execution of sosreport. The number of threads can be changed using the --threads commandline option. Plugins now also have a timeout applied to them as a whole to avoid situations where sosreport appears to be hung. If a plugin exceeds the timeout threshold, the plugin will be terminated immediately. - this allows sos to not only continue running normally, but should still allow for collection of commands run by the plugin up until it was terminated. The timeout is plugin controlled, and defaults to 300 seconds if not set. Note that for python2 environments, this adds a dependency on python-futures. The futures module is present in the standard library for python3 environments. Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
* [utilities] Allow size limits for command outputJake Hunsaker2018-05-292-17/+83
| | | | | | | | | | | | | | | | | | | | | | | Previously, any command output generated from plugins from add_cmd_output and add_journal would be collected in full in memory. For example, if a journal was 4GB in size, then 4GB would be read into memory and subsequently written to the final sos archive. This lead to not only potentially large archives, but in some cases failure to collect data or produce an archive due to memory constraints on the system. This patch adds the ability to use a sizelimit option in both add_cmd_output and add_journal. This will limit the collected output from commands or journals to the given limit, both what is read into memory and what is written to the final archive. If not given, sizelimit will default to --log-size. For journal collection, if no sizelimit is given then the larger of either --log-size or 100mb is used. Resolves: #1120 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kernel] fix except syntaxBryn M. Reeves2018-05-291-2/+2
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] add separator argument to _format_list()Bryn M. Reeves2018-05-291-5/+5
| | | | | | | | | | | | | | The _format_list() function handles formatting lists as comma- separated strings, including line wrapping and indentation to match an outer indentation level. Add a new 'sep' parameter to allow the list to be separated by an arbitrary character sequence. This allows space-separated command line option lists to be printed by --list-presets. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [policies/redhat] use os-release instead of redhat|fedora-releaseBryn M. Reeves2018-05-291-5/+26
| | | | | | | | Rather than testing for the presence of /etc/redhat-release and the absence of /etc/fedora-release, open /etc/os-release and check for the presence of the RHEL release string in the NAME field. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [build] make build and install targets .PHONYBryn M. Reeves2018-05-271-0/+2
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sos] add po/en.poBryn M. Reeves2018-05-271-0/+166
| | | | | | | 'make po' complains about this file being missing: add it, with the same translations as en_GB.po, and set the locale to 'en'. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [build] kill sos/__init__.py.inBryn M. Reeves2018-05-262-34/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [logs] rework: collect journalctl verbosed logs with --all-logs onlyKazuhito Hagio2018-05-241-2/+1
| | | | | | | | | | | | commit 7bc90f618f0549279544d26effae2e5197d85e2b ("[logs] collect journalctl verbosed logs with --all-logs only") did not suppress the journalctl verbosed logs by default. Let's rework it. Related: #1225 Resolves: #1310 Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [maas] add package checksBryan Quigley2018-05-241-0/+1
| | | | | | | | | | Previously this had no checks and would run on every Ubuntu machine - the majority of which are not maas servers Resolves: #1309 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [networkmanager] Add Ubuntu package nameBryan Quigley2018-05-241-1/+1
| | | | | | | | | Add 'network-manager' name so it runs on Ubuntu. Resolves: #1308 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [SCLPlugin] fix missing 'self' in add_cmd_output_scl()Sachin Patil2018-05-241-1/+1
| | | | | | | Resolves: #1302 Signed-off-by: Sachin Patil <psachin@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [system,kernel] dont collect some empty nonreadable filesPavel Moravec2018-05-242-1/+8
| | | | | | | | To prevent confusing errors on stdout in py3 Relevant to: #1299 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [kata_containers] Add new plugin for Kata ContainersJames O. D. Hunt2018-05-241-0/+53
| | | | | | | | | | | | | | | Add a new plugin for the Kata Containers project runtime (`kata-runtime`). See: - https://github.com/kata-containers - https://katacontainers.io/ Resolves: #1298 Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [lustre] make the join call py3 compatiblePavel Moravec2018-05-241-2/+1
| | | | | | | | python3 fails with "cannot import name 'join'" error otherwise Resolves: #1297 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [policies] use py3-compliant string.ascii_lowercasePavel Moravec2018-05-241-1/+1
| | | | | | | | | string.lowercase works in python2 only, use equivalent string.ascii_lowercase in either python 2 or 3 Resolves: #1296 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [origin] OpenShift 3.10 updatesBrenton Leanhardt2018-05-241-38/+44
| | | | | | | | | | Several new files need to be collected and master logs are now in a different location. The NodeConfigCheck plugin for oadm diagnostics no longer exists. Resolves: #1294 Signed-off-by: Brenton Leanhardt <bleanhar@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [dnf] collect installed modules and info about themPavel Moravec2018-05-241-0/+19
| | | | | | | | | | collect "dnf module list --installed" and for each module, get info about it Resolves: #1292 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [fibrechannel] Add new pluginJake Hunsaker2018-05-241-0/+37
| | | | | | | | | Adds a new plugin for fibrechannel devices. Resolves: #1290 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugins] Add new add_udev_info() methodJake Hunsaker2018-05-241-0/+19
| | | | | | | | | | | | | | | | | Adds a new collection method add_udev_info() which will collect 'udevadm info' output for a given device or list of devices. An optional 'attrs' boolean will, if True, have udevadm perform an attribute-walk of the device's sysfs attributes. This method can take either device names such as '/dev/sda' or sysfs paths such as '/sys/class/scsi_host/host0' and these styles may be freely interchanged in a list given to a single call. Resolves: #1293 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kernel] list loaded eBPF programs and mapsPavel Moravec2018-05-241-0/+33
| | | | | | | | | | Collect the list all loaded eBPF programs and maps and dump their content. Resolves: #1287 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [archive] handle No space left on device for compress, checksumFilip Krska2018-05-242-6/+11
| | | | | | | | | | | | | Handle compression command failure. Handle checksum file writing failure. Make moving checksum file failure non fatal. Avoid double cleanup. Signed-off-by: Filip Krska <fkrska@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugin] Fix string decoding for debug log outputDan Streetman2018-05-241-13/+8
| | | | | | | | | | | | | | | | | | | | | | | | | In add_string_as_file and _collect_strings, the first line of each string is printed to debug log, however there is a bug in _collect_strings that tries to decode the first line of '...' instead of the actual string; this causes a error like: File "/usr/share/sosreport/sos/sosreport.py", line 1300, in collect plug.collect() File "/usr/share/sosreport/sos/plugins/__init__.py", line 877, in collect self._collect_strings() File "/usr/share/sosreport/sos/plugins/__init__.py", line 860, in _collect_strings (content.splitlines()[0]).decode('utf8', 'ignore')) AttributeError: 'str' object has no attribute 'decode' This simplifies the (string or bytearray)-to-first-line-string of both functions, which also fixes the bug using the wrong variable to decode. Fixes: 7ba2fb47d05b608f3863fda9271894e38b43937a Resolves: #1267 Signed-off-by: Dan Streetman <ddstreet@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [global] Kill license headersJake Hunsaker2018-05-22267-3467/+1867
| | | | | | | | | | | | | Removes the existing license header and replaces it with a generic header pointing to the LICENSE file. Existing date/ownership details are left intact where they were already used. Resolves: #1265 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [infiniband] collect info from all active ports of all IB devicesPavel Moravec2018-05-221-4/+42
| | | | | | | | | currently just the very first active port is checked Resolves: #1262 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [networking] collect netstat for all namespacesPavel Moravec2018-05-221-4/+8
| | | | | | | | collect all netstat commands for all network namespaces Resolves: #1261 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [buildah,clear_containers,lxd] add plugins to container profileBryn M. Reeves2018-05-223-1/+3
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] Add new container profileJake Hunsaker2018-05-228-4/+8
| | | | | | | | | | Adds a new 'container' profile to sos that includes common container and related technology plugins. Resolves: #1260 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] Increase default log size to 25MBJake Hunsaker2018-05-221-1/+1
| | | | | | | | | | Increases the default log_size option to 25MB, as 10MB may be too low and miss pertinent information in places like /var/log/messages. Resolves: #1258 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [networking] Move NetworkManager content to a new pluginRobb Manes2018-05-222-85/+117
| | | | | | | | | | | | As NetworkManager is non-essential to configuring a network on most distributions, and it has its own concepts of how to handle connections different than the traditional means of ifconfig and ip, move anything NetworkManager-related to a separate plugin. Resolves: #1255 Signed off by: Robb Manes <robb.manes@gmail.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [block] Gather information about discards via lsblkJose Castillo2018-05-221-0/+1
| | | | | | | | | | | This patch adds the output of 'lsblk -D' to the block plugin, so we can gather some useful information about discarding capabilities for each device. Resolves: #1254 Signed-off-by: Jose Castillo <jcastillo@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [mongodb] Collect size of dbs from FS point of viewJose Castillo2018-05-221-0/+1
| | | | | | | | | | | | This patch gathers the size of the content in /var/lib/mongodb/ , which can be useful in some cases to see if a db is growing out of control. Closes: #1233. Resolves: #1253 Signed-off-by: Jose Castillo <jcastillo@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ovn] Add new plugins for Open Virtual NetworkMark Michelson2018-05-212-0/+162
| | | | | | | | | | | | | | | OVN is a sub-project of Openvswitch used to define logical networks for a cluster of OVS instances. The two plugins defined here are "ovn-central", which runs on a single server, and "ovn-host" which runs on each of the hypervisors running OVS. These plugins gather runtime information about the configured virtual networks. Resolves: #1259 Signed-off-by: Mark Michelson <mmichels@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openvswitch] Add additional logging paths.Mark Michelson2018-05-211-3/+16
| | | | | | | | | | | Openvswitch's logs can be located in alternate paths depending on the installation. OpenStack installations, for instance, do not use the same directories for logs as typical package installations. Related: #1259 Signed-off-by: Mark Michelson <mmichels@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [abrt] Add config files to sosreportJose Castillo2018-05-211-0/+5
| | | | | | | | | | | | This patch adds the configuration files /etc/abrt/abrt.conf, /etc/abrt/abrt-action-save-package-data.conf, and /etc/abrt/plugins that were not collected in the abrt plugin. Closes: #1251 Resolves: #1252 Signed-off-by: Jose Castillo <jcastillo@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ldap] Collect nslcd.conf like RH doesBryan Quigley2018-05-181-0/+7
| | | | | | | | | | This collects nslcd.conf and also removes the bindpw from it. Resolves: #1247 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_*] obfuscate just passwords from connection URIsPavel Moravec2018-05-1812-92/+220
| | | | | | | | do not obfuscate whole connection URI but just the password there Resolves: #1246 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [docs] Update Debian and Ubuntu commandMikel Olasagasti Uranga2018-05-181-4/+4
| | | | | | | | | | | | | Since Debian Jessie (8) and Ubuntu 14.04 `apt` command is available, no need to use `apt-get`. Debian stable and old-stable have sosreport available, no need to mention Sid. Resolves: #1240 Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [libvirt] simplify libvirt postprocessingBryn M. Reeves2018-05-151-7/+8
| | | | | | | | Instead of the ad-hoc globbing and do_file_sub(), drive a loop over do_path_regex_sub() from a list of candidate config file locations. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [libvirt] Add file /etc/libvirt/qemu.confRobin Cernin2018-05-151-0/+1
| | | | | | | Resolves: #1245 Signed-off-by: Robin Cernin <rcernin@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ovirt_hosted_engine] Collect all setup logsYedidyah Bar David2018-05-151-13/+1
| | | | | | | | | | | | | | | In oVirt 4.2.1 and later, setup also runs several ansible playbooks, each logging to its own file. Collect everything. There should not be many files usually, as if all goes well users run setup only once. Otherwise, it is useful for debugging to get older logs as well. Closes: #1243 Resolves: #1244 Signed-off-by: Yedidyah Bar David <didi@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [memcached] add new pluginMikel Olasagasti Uranga2018-05-151-0/+48
| | | | | | | | | | This adds a plugin for Memcached, a general-purpose distributed memory caching system. Resolves: #1241 Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ntp] Collect ntpq -c outputJake Hunsaker2018-05-151-1/+7
| | | | | | | | | | Collects 'ntpq -c as' output and will also iterate over all association ids listed to collect 'ntpq -c rv $id'. Resolves: #1218 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [nfs] collect /run/sysconfig/nfs-utilsPavel Moravec2018-05-091-1/+2
| | | | | | | | | Required to confirm if nfs-config was restarted. Resolves: #1238 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [chrony] use -n when calling chronyc sourcesPavel Moravec2018-05-091-1/+1
| | | | | | | | | | As in other parts of sos, do not allow attempts to resolve DNS names when collecting 'chronyc sources` data. Resolves: #1237 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [yum] Capture installed listJake Hunsaker2018-05-091-0/+1
| | | | | | | | | Adds collection of 'yum list installed' to the yum plugin. Resolves: #1236 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [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>