| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Adds collection of XDG environment variables, as well as DISPLAY and
DESKTOP_SESSION.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
Adds collection of common environment variables relevant to support
cases surrounding shell issues.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
| |
Adds collection of proxy environment variables.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
| |
Adds collection of proxy environment variables.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
| |
Adds collection of proxy environment variables.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
| |
Adds collection of proxy environment variables.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a --since switch that takes a date as an argument. This switch
will skip the archive files with a mtime older than the date.
Also, --since affects journalctl execution for --all.
Resolves: #1678
Signed-off-by: David Vallee Delisle <dvd@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Adds collection of mokutil to show is SecureBoot is enabled on the
system or not.
Fixes: #1574
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
To get the WWID sd device combination in a single command.
Resolves: #1626
Signed-off-by: Nitin U. Yewale <nyewale@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- "ip -s macsec show" requires "macsec" kmod loaded
- "ss -peaonmi" requires 6 *_diag kernel modules
Execute the commands only when the modules are loaded, or when explicitly
requested via --allow-system-changes option.
Resolves: #1435
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Automatically log the reason that a command was skipped by
predicate, and optionally include a message indicating that it may
alter system configuration and that collection can be enabled by
specifying --allow-system-changes.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a generic method to Plugin to log the reason that a command
was skipped during predicate evaluation. The method accepts bool
arguments indicating whether the command relies on kmod or service
presence checks, and a 'change' argument that indicates that it
may alter system configuration (adn so can be collected if the
user supplies --allow-system-changes).
Related: #1678
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
If the --allow-system-changes option is in effect, bypass checking
of kernel modules and allow commands to attempt to auto-load any
missing modules when run.
Related: #1678
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The predicate values used to evaluate a SoSPredicate are useful
to code outside the class and can be safely read and set by plugin
code: make these members public to allow details of predicate state
to be more easily reported by generic Plugin code.
Related: #1678
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
warning and lower priority logs should be logged to stdout
error or higher logs should be logged to stderr
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Running some commands can change the system e.g. by loading a kernel
modules. That disqualifies the commands from being called by default.
Add an option that overrides this default behaviour.
Related to: #1435
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Command filenames collisions must be tested tested against absolute path, not
relative. Otherwise false positive results about no collisions are returned.
- If collision happens for long filenames, ensure that appending ".1" or similar
does not exceed the max filename length.
Resolves: #1684
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds collection of 'gluster volume get $vol all' output for all volume
names as well as the generate dumpfile from 'gluster get-state' when the
'dump' option is used. Note that this file will be under
/var/run/gluster in the archive.
Adds 'glusterd' to the list of processes sent signal USR1 when the
'dump' option is used. Removed the prep work previously done to redirect
where the statedump files are written to, as it has been reported that
those attempts do not function as intended. Statedumps are now collected
from /var/run/gluster.
Finally, some re-organization to ease future maintenance and updating
the size-limiting logic to use the implicit limiting in add_copy_spec().
Resolves: #1664
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
kdump allows to configure to which filesystem and what path it will
write contents of '/proc/vmcore'. kdump plugin currently only checks against
a hardcoded path '/var/crash/*/vmcore-dmesg.txt'.
With this change it will check the 'path' variable and also
filesystems type ext2, ext3, ext4 or xfs against fstab. This will make
the plugin check in the correct path in the system.
Resolves: #1546
Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
Collect /etc/nvme/discovery.conf every time, outside any for-loop block.
Resolves: #1740
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When a plugin timeouts, it must stop collecting further data. Otherwise
a race issues with archive.finalize() can happen.
So any data collection must be skipped if _timeout_hit is True.
Resolves: #1736
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
The config file is /etc/peripetyd.conf .
Resolves: #1737
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit fc6721ac83c2 ("[Plugin] Terminate running commands when a plugin
exceeds timeout") introduced a polling method to sos_get_command_output()
but it is busy wait, and seems to increase the CPU usage and slow down
AsyncReader significantly.
As a result, a command that outputs much data like journalctl takes
longer time, and the plugin times out.
Inserting a sleep is a possible fix for this.
Resolves: #1732
Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The OpenStack Placement service is being extracted from Nova [1]
duringthe Stein development cycle [2]. This change extracts the
required plugin logic from the original Nova plugin into a new
Placement plugin ahead of this extraction.
[1] https://docs.openstack.org/placement/latest/
[2] https://releases.openstack.org/stein/schedule.html
Co-Authored-by: Piotr Kopec <pkopec@redhat.com>
Resolves: #1676
Signed-off-by: Lee Yarwood <lyarwood@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
A plugin for FRR alternative to Quagga. Path to conf is /etc/frr/.
Resolves: #1666
Signed-off-by: Filip Krska <fkrska@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, in _make_leading_paths(), checking host file paths did not
account for non / sysroots, for situations where sos is run in a
container and the host's / is actually mounted under /host for example.
This would lead to copy errors when trying to copy symlinks.
This method now will use sysroot if one is set, thus avoiding copy
errors.
Resolves: #1705
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Calling _make_leading_paths for a symlink with absolute symlink target
must create the symlink relative to the source. This will prevent
creating symlinks outside sosreport build dir.
Resolves: #1710
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, sosreport does not collect files in saYYYYMMDD or
similar format. Assuming sar log dir contains only sar related data
it is safe to collect whole dir (up to size limit, from newest to
oldest files).
Resolves: #1700
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
As rhn is getting obsoleted and each host has its hostname, even
redhat policy should use host name as the local name.
Resolves: #1702
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updates the plugin to write 'kubectl get' and 'kubectl describe' output
to a subdir named for each resource we iterate over. Additionally, logs
output (when using the podlogs option) will be written to the 'pods'
subdir.
Resolves: #1628
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Updates the plugin to write command output for specific containers,
images, volumes, etc... to a subdir named for that resource.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Updates the plugin to write command output for specific containers,
images, volumes, etc... to a subdir named for that resource.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Updates the plugin to write command output for specific containers,
images, volumes, etc... to a subdir named for that resource.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Calls to add_cmd_output() now support a 'subdir' parameter which, if
set, will save command output in a subdir of the plugin's sos_commands/
directory.
Fixes: #1600
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Newer katello versions deploy certs for qpid to
/etc/pki/pulp/qpid/client.crt certs instead of
/etc/pki/katello/qpid_client_striped.crt .
Sosreport should use either of the location that exists, to successfully
run few qpid-stat commands.
Resolves: #1680
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The unpackaged plugin is the only one currently using a policy's file
list as determined by PackageManager.all_files(). As such, we should not
fail an entire sosreport run when the package file list query fails.
Accordingly, the call to all_files() to populate and store the file list
is now moved directly into the unpackaged plugin, rather than at policy
initialization.
Resolves: #1648
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Scratch containers dont have id, therefore we shall get container name
as the latest string on each line instead of 5th.
Resolves: #1647
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
When external postgres DB is configured, we should query mongo
commands against that DB instead of localhost.
Resolves: #1649
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
When external mongo DB is configured, we should query mongo
commands against that DB instead of localhost.
Related to: #1649
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
Collect basic db stats and also collection sizes of mongo pulp_database
Resolves: #1645
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The version header is now printed before policy initialization as part
of the SoSReport() constructor instead of in the execute() message.
Fixes: #762
Resolves: #1644
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a new 'add_env_var()' method to the Plugin class, which allows
plugins to specify which environment variables should be recorded in the
sos archive. This functions as a whitelist, as only environment
variables requested by plugins will be captured. The new method accepts
either a single string, or a list of strings.
Collection of environment variables is done _after_ we have run
collect() for each plugin, and will be written to the 'environment' file
in the archive root. Only environment variables that exist will be
written, so if a plugin requests an environment variable be captured and
it does not appear in the file the chances are good that the variable is
not set on the system.
Each environment variable will only be captured once - so multiple
plugins may specify the same environment variable without an issue.
Additionally, when a plugin uses add_env_var(), the value passed as well
as an upper- and lower- cased variant of the value will be added to the
list of variables to be collected as well. This is because it is a
frequent support issue where end users set an incorrectly-cased
variable, and support representatives will want to know when this is the
case.
Because this functionality works off of a whitelist, environment
variable values are not sanitized. Note also that due to the variable
name casing functionality mentioned above, this means there is a small
chance where sensitive data stored in differently-cased variables of the
same name as common variables could be unintentionally captured.
Use the --no-env-vars option to prevent capturing any environment
variables wholesale.
Fixes: #1396
Resolves: #1643
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 'podlogs' option was previously an all-or-nothing toggle, which
could result in incredibly large amounts of data collection when only a
few pod's logs were needed.
This change adds a 'podlogs-filter' option that allows users to provide
either a specific pod name or a regex to match pod names against, to
limit the amount of pod logs we collect.
Resolves: #1640
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a SoSCommand class to represent any command that will be collected
by sos. This replaces the previously used command tuples, which had an
ever growing length that made it difficult to quickly identify fields in
the logs.
The _add_cmd_output() method now passes SoSCommand objects to the
collect_cmds list, and _get_command_output_now() will now use the class
directly when referencing parameters supported by add_cmd_output().
Fixes: #1275
Resolves: #1639
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The most recent version of CloudForms adds postgres configuration
files at:
/etc/managiq/postgresql.conf.d/
Include these in the set of files collected by the plugin.
Resolves: #1637
Signed-off by: David Luong <dluong@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Until our utils support commands execution for unpriviledged users,
we should disable requires_root = False.
Resolves: #1625
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Collect /var/lib/mistral/config-download-latest/ansible.log which is an
important log to be able to debug issues with Ansible playbooks.
/var/lib/mistral/config-download-latest is a directory that exists
anyway on the undercloud and is the place where the ansible logs is
stored.
Note: we don't want to collect the whole /var/lib/mistral because it
contains sensitive informations like username/passwords/endpoints.
rhbz#1702806
rhbz#1702802
Resolves: #1661
Signed-off-by: Emilien Macchi <emilien@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Since PR #1530, sosreport supports all command line options. Man pages
should document the enhancement.
Resolves: #1652
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
opts.noplugins is referred when parsing "tunables" section, so
the variable must be set to empty list every time.
Resolves: #1651
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|