| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Since e8bb94c, exec_cmd returns a dict instead of command output.
Reflect the change in testing the return value and using the output.
Resolves: #1860
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updates the 'cantboot' preset to use existing profiles, rather than
specifying each plugin and having to maintain that list in the policy.
Now 'cantboot' enables the boot, storage, and system profiles - it also
will now enable the boot.all-images, rpm.rpmva, and rpm.rpmdb plugin
options.
Resolves: #1818
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
| |
Related: #1818
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Listing /var/crash recursively will provide
not only the root of /var/crash as current
state, but also data found in subdirectories
if any as follow:
$ ls /var/crash/201911131119/
dmesg.201911131119 dump.201911131119
Resolves: #1861
Signed-by-off: Eric Desrochers <eric.desrochers@canonical.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Conventional deb package extracts lxd binary in /usr/bin/lxd,
while snap extracts lxd binary in /snap/bin/lxd.
More and more Ubuntu integrates mechanisms to convert DEB
to SNAP (especially for Canonical products such as juju,
lxd, canonical-livepatch) during release upgrade.
Meaning sosreport should be capable to detect both installation
types.
Resolves: 1855
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
| |
'/snap/bin' has been added into the Ubuntu policy
PATH environment.
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
|
|
|
|
|
|
|
|
| |
Add PATH for Ubuntu policies and integrate /snap/bin,
preventing to hardcode the patch inside the plugins if
installed as a snap.
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Katello plugin does not further collect any katello-related data.
qpid-stat was moved to pulp, (foreman) table sizes to foreman and
/var/log/httpd/katello-reverse-proxy* belong to foreman-proxy.
Move the latest bit to foreman and drop katello plugin.
Resolves: #1843
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The path of virt-manager logs was changed from
"/root/.virt-manager/" to "/root/.cache/virt-manager".
New path collection is added to virsh plugin.
Resolves: #1851
Signed-off-by: MORISHIMA Shigeki <s.morishima@fujitsu.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After API command consolidation via commit e8bb94c and commit
e51d3e6, pcp started throwing a FileNotFound exception since the
plugin treats the command output as the name of a path to open.
Remove the open and just use the content of the 'output' entry
directly.
Resolves: #1852
Signed-off-by: Jose Castillo <jose.mfcastillo@gmail.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without setting plugin_name in parent class, "sosreport --list-plugins"
prints plugin name based on the child class name (redhatkubernetes,
ubuntukubernetes). Trying to refer that plugin name fails.
Setting plugin_name to "kubernetes" in the parent Kubernetes class
prevents this confusion.
Resolves: #1858
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
In #1435, --allow-system-changes option was added that is documented
in sosreport --help but not in manpages.
Resolves: #1850
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit makes two changes to how sos deals with kernel modules and
their state during a run of sosreport.
First, no longer call `lsmod` for every individual plugin during its
enablement check. Instead, call `lsmod` only once during `Policy`
initialization, and cache the output for later checks.
Second, have `Plugin.is_module_loaded()` check for kmod presence in the
saved policy class attr for kernel_mods, rather than checking through
`/proc/modules`. Have the plugin enablement checks now also use
`is_module_loaded()` to standardize with how `SoSPredicate`s are
checked.
Note that this change results in a significant performance increase for
sos initialization times in a RHEL 7 container.
Resolves: #1854
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit makes two changes to how sos deals with kernel modules and
their state during a run of sosreport.
First, no longer call `lsmod` for every individual plugin during its
enablement check. Instead, call `lsmod` only once during `Policy`
initialization, and cache the output for later checks.
Second, have `Plugin.is_module_loaded()` check for kmod presence in the
saved policy class attr for kernel_mods, rather than checking through
`/proc/modules`. Have the plugin enablement checks now also use
`is_module_loaded()` to standardize with how `SoSPredicate`s are
checked.
Note that this change results in a significant performance increase for
sos initialization times in a RHEL 7 container.
Resolves: #1854
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Plugins must use 'path/to/exclude' rather than 'path/to/exclude/*'
in order to omit a directory and all its content from the report.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Plugins must use 'path/to/exclude' rather than 'path/to/exclude/*'
in order to omit a directory and all its content from the report.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Plugins must use 'path/to/exclude' rather than 'path/to/exclude/*'
in order to omit a directory and all its content from the report.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Plugins must use 'path/to/exclude' rather than 'path/to/exclude/*'
in order to omit a directory and all its content from the report.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Directory entries found in _copy_dir() may be either files or
sub-directories: reflect this in the names of local variables.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Rather than call just Plugin.setup() and Plugin._do_copy_path(),
add an add_copy_spec() call to the mock plugin setup() method,
and invoke copying by calling the Plugin.collect() method.
Related: #1845
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the forbidden path test now uses an exact match the trailing
globs ("/some/directory/path/to/exclude/*") used to exclude trace
related directories from collection lead to a failure to properly
blacklist these files:
The glob is expanded, for e.g.:
"/sys/kernel/debug/tracing/per_cpu/*"
Expands to unclude a 'cpuN' sub-directory for each CPU present on
the machine. These expanded paths are then added to the forbidden
paths list for the plugin:
/sys/kernel/debug/tracing/per_cpu/cpu0
/sys/kernel/debug/tracing/per_cpu/cpu1
...
When an attempt is made to collect the entire "per_cpu" directory
a check is made for the full "/sys/kernel/debug/tracing/per_cpu"
path against each entry in the forbidden paths list. Since this is
a prefix of the actual paths stored no match is returned and the
collection is permitted.
Remove the trailing globs from these directory paths and prevent
any collection of the directories they reference by the plugin.
Related: #1842
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The path used to copy special device nodes and directories in
_do_copy_path() should be the destination path in the archive
(without sysroot prefix), and not the source path in the host
file system that includes this prefix.
Related: #1842
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Do not strip the sysroot path prefix when calling _do_copy_path()
for a symlink target and do not add the sysroot prefix when
testing for a forbidden path.
Related: #1842
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, adds collection of a recursive listing of /etc/containers to show
which certs and oci hooks may be present.
Second, adds collection of podman networking information. Both the
output of 'podman network ls' and a subsequent inspect on each network
reported are captured. The inspect outputs are saved to the 'networks'
subdir.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
| |
OpenStack deployments do not need to collect all logs by default.
Resolves: #1841
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
On some newer grub2 versions, grub2-config removes extra args in
$kernel_opts until --no-grubenv-update option is used.
Test if the option is present in "grub2-config --help" and if so, use it.
Resolves: #1682
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a predicate type in form
cmd_outputs={'cmd': 'foo --help', 'output': 'bar'}
that checks whether output of given command contains given string.
Multiple commands/outputs can be provided in a list.
Related to: #1682
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The check in `Plugin.test_predicate()` relies on a 'is not None' test,
which on py2 invokes a call to `SoSPredicate.__nonzero__()` which in
turns runs our evaluation of the predicate. On py3 however, this test is
an explicit check to see if the object is `NoneType`. As such,
`__nonzero__()` never runs and the predicate defaults to always
evaluating ad `True`. This effectively removed any gating for command
execution on py3.
By overriding `SoSPredicate.__bool__()` to wrap `__nonzero__()` we can
ensure that predicate evaluation is performed properly on both py2 and
py3 runtimes.
Closes: #1839
Resolves: #1840
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Obfuscate proxy password in /etc/rhsm/rhsm.conf on line:
proxy_password = someSecret
Resolves: #1837
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The _TarFile wrapper in sos.archive is only needed for python 2.6
and earlier: remove it since we no longer support this version.
Closes: #1834
Resolves: #1838
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
If sos is being run in emergency or rescue mode on a RH family system,
then automatically load the cantboot preset by default, instead of other
package-based presets.
Resolves: #1831
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit c4d06c5 fixes an LGTM warning about the placement of the
else clause in the for loop of Plugin.set_option() but introduces
a regression setting valid plugin options:
# sosreport -vv --batch --debug --build -k rpm.rpmva=on
sosreport (version 3.8)
set sysroot to '/' (default)
[plugin:ovn_central] could not run 'podman ps': command not found
[plugin:ovn_central] could not run 'docker ps': command not found
no such option "rpmva" for plugin (rpm)
no such option "rpmva" for plugin (rpm)
The 'else' here is invalid: rather than applying to the existing
if statement inside the loop body the 'return False' should happen
unconditionally if the loop exits without finding any match.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
globstr is assigned but never used
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Also, removed link to donot.css as it doesn't exist.
Resolves: #1830
Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Resolves: #1829
Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
| |
Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Related: #1829
Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Remove the from import of 'import_plugin()', and use a single
import for the whole of 'sos.plugins' in sos.sosreport.
Resolves: #1828
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
Moves the call to load_all_services() out from the base __init__()
of InitSystem() and into SystemdInit(), as highlighted by LGTM.com
analysis.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
| |
Removes several unused imports identified by LGTM.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Removes a check against the log-size option that is not subsequently
used later in the plugin.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Adds a blacklist to prevent sos from trying to copy volumes when those
volumes are configured to be saved under /etc/cinder/volumes.
Fixes: #1056
Resolves: #1827
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Updates the plugin for Red Hat systems to only use the OCP kubeconfig
file, /etc/origin/master/admin.kubeconfig, if it is actually present.
Resolves: #1826
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
| |
If --all-logs is specified, the nfsganesha plugin will now gather the
rotated log files from /var/log/ganesha, not just the current log file.
Fixes: #1016
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Since FHS 3.0, the system information data since boot are located in
/run. Sosreport shall collect the data directly, without the need to
follow symlink from /var/run to /run that exists just for the sake
of legacy reasons.
Resolves: #1824
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
| |
Related: #1818
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Resolves: #1793
Signed-off-by: William Bradford Clark <wclark@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|