| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
Previously if `--case-id` was specific, and a user provided a blank
input for the case-id prompt (when `--batch` isn't used), this would
override the case id to be blank.
Now we properly default to `--caseid` if it is provided if a user
doesn't provide it again for the actual prompt.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
This commit adds the needed bits to allow sos users on Ubuntu systems to
upload to the Canonical Support File Server as part of PR #1911.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds the ability to the Red Hat policy for users to upload archives
directly to existing technical support cases on the Red Hat Customer
Portal.
If a case number is provided, uploading to the case is the
preferred/default option the policy will take. If `--upload-user` is not
provided, users will be prompted for one as well as the password for the
Customer Portal account. Note that Red Hat's case management API
requires that the user credentials provided here have access to the case
number referenced on the Customer Portal.
If a case number is not provided, or if one is provided but Customer
Portal credentials are not provided, the policy will fallback to using
the public dropbox location for upload.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
| |
Adds connection and authentication defaults to the Red Hat policy to use
the publicly available dropbox that Red Hat Global Support Services
makes available for support cases.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds the option to automatically upload a generated sosreport archive to
a provided location such as HTTPS or FTP servers.
Using --upload will use policy-defined defaults (if available) to upload
to a specific vendor's defined location.
Otherwise, users may supply --upload-url, --upload-directory,
--upload-user, and --upload-pass to specify a custom location/server,
directory on that server, and authentication credentials.
Resolves: #1911
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following the upstream DNF commit below, the "yum -C repolist" command
output will no longer include package count information:
c4f57476 Do not load metadata for repolist commands...
This information is helpful for those searching for client-side
mismatches to upstream repositories. Such as in the case of two
repositories, where one is missing content that another includes, this
information can be crucial for determinining the source of the problem.
This change includes a "yum -C repolist --verbose" command in the
resulting sosreport which includes information such as the following:
Repo-id : <repoid>
Repo-name : <full reponame>
Repo-revision : <version>
Repo-updated : <datestamp>
Repo-pkgs : <total repo package count>
Repo-available-pkgs: <package count>
Repo-size : <size>
Repo-baseurl : <url>
Repo-expire : <datestamp>
Repo-filename : <path>
Resolves: #1951
Signed-off-by: Kyle Walker <kwalker@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If file/folder will be present during file list creation, but will be
missing during collection OSError will throw exception
FileNotFoundError: [Errno 2] No such file or directory
Added handling of OSError into sos/archive.py and new log message with
info level to sos_logs/sos.log
Resolves: #1890
Signed-off-by: Jan Jansky <jjansky@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Commit e51d3e6 caused some commands are called but not further
stored in an sosreport archive. This fixes that regression.
Related: #1923
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Collect and store both maps and progs list in both human readable
and JSON formats.
Resolves: #1923
Suggested-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Nokia Nuage has forked upstream OVS but basically, the same
commands should work. When a server is having nuage-ovs installed,
we don't execute the ovs plugin because it doesn't detect the
package.
Signed-off-by: David Vallee Delisle <dvd@redhat.com>
Resolves: #1933
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 285873a introduces a regression in the performance of
LinuxProfile class initialisation:
commit 285873a4f753822a88d475a1b030ab622bf4c72e
Author: Bryan Quigley <bryan.quigley@canonical.com>
Date: Tue Feb 11 15:03:16 2020 -0800
[policies] Detect systemd use instead of hardcoding it
All the patch does is to switch from testing self.init to
determine whether to use the SystemdInit() class or the
basic InitSystem() one, to looking for '/run/systemd/system'
in the file system.
This has more broad side effects than it might seem since
the test suite uses LinuxPolicy() as a mock policy object
for a large number of tests. Since SystemdInit() calls out
to systemctl to obtain the state of the init system this
both increases the run time for the tests and causes high
resource use in systemd itself:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 177196 13504 4512 R 92.7 0.1 5:24.04 systemd
This causes the run time for the Python2 and 3 test suite
(plus pep8/pycodestyle) to grow from ~5s to over 1m20s on
my test system:
285873a~1 real 0m5.683s
285873a real 1m20.353s
Allow direct users of LinuxPolicy to override the init
system detection by specifying an init= kwarg initialised
to an InitSystem-like object directly, and use this in the
test suite to avoid the cost of initialising the full
SystemdInit() class.
Resolves: #1953
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The plugin does not set a class level docstring, causing it to
dump the Plugin base-class documentation into --list-plugins:
ebpf inactive This is the base class for
sosreport plugins. Plugins should subclass this and set the
class variables where applicable.
[...]
Related: #1952
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The plugin does not set a class level docstring, causing it to
dump the Plugin base-class documentation into --list-plugins:
convert2rhel inactive This is the base class for
sosreport plugins. Plugins should subclass this and set the
class variables where applicable.
[...]
Closes: #1952
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Resolves: #1948
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
* Use a PEP8-style class naming
* Don't pass a list for a single add_copy_spec()
* Use a list for multiple commands w/add_cmd_output()
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This plugin groups all bpftool commands from
plugins kernel and networking, and adds a new
one command 'bpftool cgroup tree', as requested
by rhbz#1787586.
Resolves: #1907
Related: RHBZ#1787586
Signed-off-by: Jose Castillo <jose.mfcastillo@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Add a new plugin for the firmware update daemon.
Resolves: #1832
Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
Exits that trap to the SystemExit handler in SoSReport.execute()
re-set the exit code passed returned by the process. Catch the
exception as 'e' and use e.code to pass on the correct value.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lsinitramfs is more likely to be installed and useful.
lsinitramfs -> initramfs-tools-core (main) -> Canonical maintain
lsinitrd -> dracut-core (universe) -> Community maintain
Also adding the '-l' argument to display long and more verbose
listing of initramfs content.
Resolves: #1942
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ceph has been focusing on administrator quality of life in the latest
releases. There are a number of shiny new tools/reports available that
should be captured to help troubleshooting ceph clusters.
This is a first pass at updating the ceph plug-in to bring it inline
with upstream changes.
This fix also addresses several inconsistencies in reports that were
captured between mon/mgr/mds/osd/radosgw services.
Further improvements are possible here, but I recommend splitting up
the ceph plug-in into service-specific modules. See Issue #1945.
Resolves: #1947
Signed-off-by: Dan Hill daniel.hill@canonical.com
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
| |
$ dpkg -S /etc/gdm3
gdm3: /etc/gdm3
Resolves: #1939
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the current plugin is having issues when we run sosreport
on a juju controller we have decided to refactor it and make
it simpler.
We had some discussions following three separate PRs:
https://github.com/sosreport/sos/pull/1670
https://github.com/sosreport/sos/pull/1671
https://github.com/sosreport/sos/pull/1672
We decided not to gather mongodb dumps as it will leak the
password from mongodb when running `ps`.
We decided to drop the output from juju commands as this
requires the command to be run as the user that holds the juju
credentials.
This plugin will gather logs from `/var/log/juju/*.log` and agent
configuration files from `/var/lib/juju/agents/*/agent.conf`, as
well as systemd logs related to the agents.
If sosreport is run with `--all-logs` it will gather all of the above
as well as all the files from `/var/lib/juju/` and `/var/log/juju`.
Closes: #1653
Resolves: #1935
Co-authored-by: David Negreira david.negreira@canonical.com
Co-authored-by: Nick Niehoff nick.niehoff@canonical.com
Signed-off-by: David Negreira david.negreira@canonical.com
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
| |
This command can be used to confirm that kdump is correctly configured.
Resolves: #1941
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
| |
Resolves: #1940
Signed-off-by: Eric Desrochers <eric.desrochers@canonical.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
add_journal calls a sos command underneath that should apply same
command timeout limits like e.g. add_cmd_output method.
Further, define the command timeout value of 300 seconds just on
one place.
Resolves: #1938, #1946
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a new `get_service_names()` method to the `InitSystem` class which
is then exposed to plugins via `Plugin.get_service_names()` to allow
plugins to fetch a list of service names discovered on the system that
match a provided regex.
Included in this is a fix to avoid the header line from the discovery
command being entered in the dict of known services, so that we avoid
inadvertant regex matches.
Resolves: #1943
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code has currently the following line:
self.add_forbidden_path("*.py[co]")
But add_forbidden_path() needs a directory prefix, so this won't
work. This line was introduced via commit 4d75385ad to solve
issue #856, that discussed the postproc method in
openstack_horizon. It seems that the python object and source
files are present in /etc/openstack-dashboard/local_settings.d/
used to customize the dashboard. This patch adds that directory
to the add_forbidden_path() line.
Closes: #1846
Signed-off-by: Jose Castillo <jose.mfcastillo@gmail.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When sa file is truncated, it cannot be read correctly.
Fix tailit specified in add_copy_spec() to False so that the sa file
is not truncated.
Resolves: #1871
Signed-off-by: MIZUTA Takeshi <mizuta.takeshi@fujitsu.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
| |
Resolves: #1937
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
This just has us the builtin option to determine if we are on
systemd or not.
https://www.freedesktop.org/software/systemd/man/sd_booted.html
Resolves: #1936
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
| |
Adds Gnocchi plugin support for Debian and Ubuntu.
Fixes: #1927
Resolves: #1929
Signed-off-by: Chris Johnston <chris.johnston@canonical.com>
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As this has been run unconditionaly to this point I choose to
do both commands = java, files=/usr/bin/java and packages.
There are many times Java is installed to /opt/ for say IBM's
java or Oracle's Java, or someone else's java. To the same
extent there are many different packages that include java
so do /usr/bin/java in case we miss some.
Add * to /etc/java*/ as some of the names can be different like
/etc/java-13-openjdk/
Remove alternatives from root symlink - I couldn't find a
reason for it to be in root, but happy to revisit. (doesn't
work on Ubuntu)
Add java -version. If it's in path we should at least be able
to get this.
Resolves: #1886
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added posibility to define namespaces with
parameter namespaces = "". Posible regexp
like "eth* ens4".
* Added inspect_namespaces which defines how
many namespaces should be inspected, by
default unlimited
* Added ethtool_namespaces variable which
is by default true and if set to false it
will not execute ethtool commands for
namespaces
* Changed options for OpenStack environment
where ethtool_namespaces=False and
inspect_namespaces = 200
Closes: #1916
Signed-off-by: Jan Jansky <jjansky@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move all the sosreport runs to a simple bash script:
tests/simple.sh so it can be called multiple times.
This also makes it possible to run locally.
The travis job matrix let's us have 2 Ubuntu native sos
runs against installed python, while letting us to also
continue to do the old style python runs. Ideally,
we can utilize this to do Fedora/CentOS/RHEL jobs in the
future.
Python 3.4 testing was also dropped - as it seems to not
be as well used (many test failures due to not being available).
Python 3.8 testing was added.
pycodestyle will only run once with the bionic version.
Resolves: #1896
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Collect sidekiq logs and services lists and statuses.
Resolves: #1883
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
| |
Currently, add_service_status allows just timeout and pred arguments. Let
enhance it to support all arguments of _add_cmd_output / _collect_cmd_output.
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Captures the content under /sys/kernel/debug/s390dbf rather than just
listing the file names.
Also included are trivial stylistic fixes.
Closes: #905
Resolves: #1926
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
| |
As sssctl timeouts otherwise.
Resolves: #1932
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Information stored in CMAP got split in Corosync 3.x to
configuration and statistics part.
Calling 'corosync-cmapctl' command output only configuration part. To
output statistics part, 'corosync-cmapctl -m stats' has to be called.
Patch adds call of 'corosync-cmapctl -m stats'.
Resolves: #1924
Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If sos is run on a RHEL OpenShift node, use the `oc` command directly
instead of pointing `kubectl` at the origin config file. This allows sos
to not need to account for any other differences the `oc` binary might
implement when wrapping `kubectl`, which in turn could potentially lead
to a difference between what an end-user troubleshooting OCP may see and
what a support engineer looking through an sosreport may see.
Resolves: #1928
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Adds collection of detailed node information for each node returned by
`kubectl get nodes`.
Fixes: #1466
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
cpdb --password '..' needs to be obfuscated in foreman-maintain.log
-[src|]storepass .. on few places in satellite.log needs the same
Resolves: #1901
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"/var/log/sa" is specified in add_copy_spec() in sar.py.
However, if a directory is specified in the parameter of add_copy_spec(),
--log-size does not work properly.
Therefore, fix "/var/log/sa" to wildcard so that --log-size works correctly.
Resolves: #1863
Signed-off-by: MIZUTA Takeshi <mizuta.takeshi@fujitsu.com>
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds two mechanisms by which users can choose to disable postprocessing
of collected information.
First, is a global method exposed via the `--no-postproc` option. Using
this option will skip postprocessing for all plugins.
Second, is a per-plugin option exposed via a new 'postproc' plugin
option. This is set to _True_ by default (meaning yes, perform
postprocessing), which users can set to False or off to disable
postprocessing for that plugin only; e.g. `-k podman.postproc=off`
Closes: #286
Resolves: #1862
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds two mechanisms by which users can choose to disable postprocessing
of collected information.
First, is a global method exposed via the `--no-postproc` option. Using
this option will skip postprocessing for all plugins.
Second, is a per-plugin option exposed via a new 'postproc' plugin
option. This is set to _True_ by default (meaning yes, perform
postprocessing), which users can set to False or off to disable
postprocessing for that plugin only; e.g. `-k podman.postproc=off`
Closes: #286
Resolves: #1862
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds collection of `slabtop -o` to show the top consumers of SLAB.
Note that currently there is an issue with this command that will cause
it to hang if stdin does not receive a tty - which is exactly what
happens when commands are run via `timeout` without the `foreground`
option. As such, this command for now will use `foreground=True`
parameter for `add_cmd_output()`. Once/if this slaptop bug is fixed,
this plugin will be updated to no longer use that parameter.
Resolves: #1895
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, the logged warning message when a predicate evaluation fails
would be a string that contained all elements passed to the predicate,
and include an empty list for checks that were not run by the predicate.
This meant that it was not immediately clear _which_ element(s) caused
the predicate evaluation to fail.
Now, during evaluation of the predicate checks, any failures are
recorded and the new failure message is generated based on these
failures. Thus, only the missing elements are presented to the user,
allowing for easier identification of what caused a particular
collection to be skipped.
Resolves: #1910
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replaces the `timeout=None` parameter in the container-centric commands
that was being used as a workaround for a disconnected TTY causing the
commands to hang when run via sos.
Now use the `foreground=True` option to not disconnect the TTY.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A small number of recent issues have been identified that revolved
around certain commands hanging when run by sos unless `timeout=None`
was specified for those commands.
This patch adds `--foreground` to the `timeout` command that we use to
wrap any collected commands, so as to not disconnect the TTY which was
resulting in the hanging behavior. This addition is controlled by the
use of the new `foreground` parameter in any `add_cmd_output()` or
`collect_cmd_output()` call.
Resolves: #1909
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Wraps `json.load()` from preset loading in a `with` statement to ensure
that file objects are properly closed.
Closes: #1322
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|