| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
(Also) in case of not fatal FS error, print some valuable message
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
| |
Prevents raising exception when the dir has been removed.
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
Closes: #1306
Resolves: #1313
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes the nis, nfsganesha, and os_net_config plugins package lists to
use a 1-tuple instead of a string that would break package verification
for those plugins.
Resolves: #1315
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Updates the block plugin to use the new add_udev_info() method, once
with an attribute walk and once without.
Resolves: #1319
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new plugin collects information related to the watchdog service,
including configuration, custom executables for test-binary and
repair-binary, and stdout/stderr log files.
This will be helpful to support teams seeking to understand why an
unexpected reboot occurred or, conversely, why a reboot did not
occur as expected.
Resolves: #1305
Signed-off-by: Reid Wahl <nwahl@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is possible to load kernel modules during boot in a static list
as mentioned under /etc/modules-load.d/*.conf. These files are used
by systemd-modules-load.service. Collect this information using
systemd plugin.
Resolves: #1303
Signed-off-by: Akhil John <ajohn@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Opal-prd is the Processor Runtime Diagnostics daemon on Power systems
running OPAL firmware. Capture this log file with sosreport.
Resolves: #1295
Signed-off-by: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In some instances, the regex match in all_pkgs_by_name_regex() was
returning an empty list when no match was made. This in turn caused sos
to run an empty verify command, e.g. 'rpm -V '.
By filtering the list of packages to verify, we can remove these empty
lists and avoid the empty verify command.
Closes: #1304
Resolves: #1314
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, if sos was run in an environment where '/lib/modules/*' did
not exist, the kernel plugin would pass an empty extra_mod_paths list to
'find -ls', which would in turn cause sos to execute 'find -ls' on the
entire filesystem.
While this situation may seem rare, this is a possiblity whenever sos is
run in a container that does not have the proper environment variable
set that indicates to the active policy that sos is in fact in a
container. On top of generating a sosreport with little to useful
information in this case, the generated sosreport could potentially be
very large due to the collection of a blanket 'find -ls'.
This prevents this from occuring, by not running 'find -ls' if the
extra_mod_paths list is empty.
Resolves: #1288
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added "systemd-analyze dump" which is the complete systemd picture,
containing dependencies, start/stop timestamps, aliases, etc.
- Added "systemd-analyze plot" which provides a convenient visual way to
understand dependencies and startup times.
- Added collect of "/run/systemd/*" which contains many useful data,
such as generated units, current sessions on system (useful to debug
session leaks) and transient units.
Resolves: #1285
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
Fixes: #1283
Resolves: #1284
Signed-off-by: Dan Horák <dan@danny.cz>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Collects the paths to the libraries cached by "ldconfig". This is useful
when a customer replaced a standard library by its own or when he added
his own libraries to the standard paths or through symbolic links.
Resolves: #1282
Signed-off-by: Renaud Métrich <rmetrich@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Resolves: #1280
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Many NFS (and other related programs) options can now be set
through the config file /etc/nfs.conf.
Collect this from the 'nfs' plugin.
Resolves: #1278
Signed-off-by: Pierguido Lambri <plambri@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I see below errors when generating docs using `make`. Decided to
cleanup a bit. The docstring look better than previous and no more
errors when generating docs.
```
/home/psachin/github/sos/sos/plugins/__init__.py:docstring of sos.plugins.Plugin.add_journal:5: ERROR: Unexpected indentation.
/home/psachin/github/sos/sos/plugins/__init__.py:docstring of sos.plugins.Plugin.add_journal:6: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/psachin/github/sos/sos/plugins/__init__.py:docstring of sos.plugins.Plugin.add_journal:13: WARNING: Definition list ends without a blank line; unexpected unindent.
/home/psachin/github/sos/sos/plugins/__init__.py:docstring of sos.plugins.Plugin.add_journal:15: ERROR: Unexpected indentation.
/home/psachin/github/sos/sos/plugins/__init__.py:docstring of sos.plugins.Plugin.add_journal:16: WARNING: Block quote ends without a blank line; unexpected unindent.
/home/psachin/github/sos/sos/plugins/__init__.py:docstring of sos.plugins.Plugin.add_journal:18: WARNING: Definition list ends without a blank line; unexpected unindent.
```
I tried to keep the changes in Sphinx format. Not all functions are
changed in this patch but the one generating errors.
Let me know if anything else needs cleanup in `sos/sos/plugins/__init__.py`
Signed-off-by: Sachin Patil <psachin@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
'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>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Resolves: #1302
Signed-off-by: Sachin Patil <psachin@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
To prevent confusing errors on stdout in py3
Relevant to: #1299
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
python3 fails with "cannot import name 'join'" error otherwise
Resolves: #1297
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
collect all netstat commands for all network namespaces
Resolves: #1261
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|