| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new mechanism for plugins to declare a per-plugin list of
packages to verify when the global --verify option is enabled.
Historically this was implemented in the package manager plugin
for each distribution (e.g. rpm.py for Red Hat distros and dpkg.py
for the Debian family). This gives limited granularity and blocks
the ability to verify only a subset of packages, or to only verify
packages for a certain set of plugins.
This change adds a new optional member to Plugin: verify_packages
which when set will generate an additional command to be run by
that plugin. The plugin calls into the PackageManager via the
policy class to determine the correct package manager command to
run.
A plugin can request optional package verification by declaring a
new 'verify_packages' member (or building one during setup()):
plugin_name = 'foo'
packages = ('foo', 'bar', 'baz', 'qux')
verify_packages = ('foo', 'bar')
Verification is only performed if the --verify switch is used.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
In case sizelimit in add_copy_spec is reached and tailit=True, we shall
skip tailing a gzip archive that would be collected as damaged.
Resolves: #907
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
When --all-logs is used, ignore any sizelimits in add_copy_spec.
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The output of 'lsblk -t' provides very useful information
about the device's topology, like alignment offset,
minimum io size, optimal io size, and others. It is
equivalent to running lsblk with options:
-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,
RQ-SIZE,WSAME
With this improvement to the block plugin we can see at one
glance data available in different places like sysfs,
fdisk and/or parted, as well as data not available in the
sosreport nowadays, like
/sys/block/<device>/queue/rotational .
Fixes: #1065
Signed-off-by: Jose Castillo <jcastillo@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add options to control the invocation of the "oc adm diagnostics"
command. These are useful in certain deployments that can't or don't
want to have sosreport invoke the command, or at least need to
prevent the creation of test pods.
Fixes: #1098
Signed-off-by: Pep Turró Mauri <pep@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Collecting all namespaces on a cluster can be extremely time consuming.
Do not do this unless specifically requested, repurposing the 'all'
module option.
Fixes: #1108
Signed-off-by: Jon Stanley <jonstanley@gmail.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tripleo Pike opinionated config+log paths to be collected
for services, when running in containers.
This is an addition to #1054 where a couple of things got missed
Fixes: #1130
Signed-off-by: Martin Schuppert <mschuppe@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Collect "glance-manage db_version" and similar commands from the
two plugins only if the relevant services are running. Otherwise
the commands get stuck and timeout.
Resolves: #1124
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Collect postgreSQL data also when postgreSQL is installed from
Red Hat Software Collections.
Resolves: #1090
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
| |
Related to #900 and #1090
Original author: Bohuslav Kabrda <bkabrda@redhat.com>
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
Do not collect just 2 logfiles but all from the log directory.
Resolves: #1116
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Collect /etc/keystone/domains valuable when keystone uses multiple ldap
backends.
Resolves: #1109
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
Collect configs and vdo status.
Resolves: #1110
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
If iptables_filter kernel module isn't loaded, dont call
"iptables -vnxL" that would load that plugin.
The same applies to ip6tables as well.
Resolves: #1095
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Add `automount -m` output, as it is useful when debugging
autofs issues.
Fixes: #1089
Signed-off-by: Thiago Rafael Becker <thiago.becker@gmail.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
Collect 'curl http://$provision_ip:1993/\;csv'
Resolves: #961
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
If --all-logs is specified, dont limit logs by size.
Related to: #1083
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
Don't limit logs by size when --all-logs is used.
Related to: #1083
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
--all-logs is currently ignored by the plug-in.
Related to: #1083
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
| |
Fixes: #766
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
Collect domain config directory if it exists.
Resolves: #1086
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, if ${PCP_LOG_DIR}/pmlogger/$(hostname) is bigger than
100MB, we dont collect anything. We should collect up to that limit
every time and make the limit configurable.
Also, collect ${PCP_LOG_DIR}/pmmgr/$(hostname) dir as well.
Resolves: #1107
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
To collect /etc/os_net_config directory.
Resolves: #1088
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
| |
Fixes: #920
Signed-off-by: Marcus Linden <mlinden@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Only collect logs by wildcard if --all-logs is given.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
Colecting logs and configs for the daemon and its proxy.
Resolves: #1080
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Collect iptables and ip6tables for any table present in
/proc/net/ip*_tables_names.
Relevant to: #1092
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
| |
Relevant to: #1092
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
To prevent timeouts of "df" commands when using a huge amount of
direct mappings on autofs.
Resolves: #1093
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When pressing Ctrl+C during user input (name and case id), sosreport
treats that as an empty string and starts to collect data. It must
terminate instead.
Catch the KeyboardIntterupt, print a newline (to avoid munging the
terminal too much), and then re-raise the exception to cause the
process to exit.
Allow all other exceptions to propagate up and do not attempt to
continue.
Resolves: #1094
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Call "ip -d address" to collect all details instead of
"ip address" only.
Resolves: #1084
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
Collect quota information and stats of users with a key on the system.
Resolves: #1085
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Reverse sort the file list by modification time, to ensure that
the most recent data is included when limits apply.
Fixes: #1082
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add Tripleo Pike opinionated config paths to be collected
for services, when running in containers. Each service has a
config dir in /var/lib/config-data/puppet-generated on the host
which gets bind mounted read only into the container.
Closes #1054
Signed-off-by: Martin Schuppert <mschuppe@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bad ZIP files can raise zipfile.BadZipfile exception.
Fixes:
Traceback (most recent call last):
File "/home/msrb/projects/sos/sos/sosreport.py", line 1252, in setup
plug.setup()
File "/home/msrb/projects/sos/sos/plugins/jars.py", line 72, in setup
if Jars.is_jar(path):
File "/home/msrb/projects/sos/sos/plugins/jars.py", line 98, in is_jar
with zipfile.ZipFile(path) as f:
File "/usr/lib64/python2.7/zipfile.py", line 770, in __init__
self._RealGetContents()
File "/usr/lib64/python2.7/zipfile.py", line 842, in _RealGetContents
raise BadZipfile("Bad magic number for central directory")
BadZipfile: Bad magic number for central directory
Signed-off-by: Michal Srb <michal@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Other known locations can be added via:
-k jars.all_known_locations
Additional user-specified locations can be added via:
-k jars.append_locations=...
Signed-off-by: Michal Srb <michal@redhat.com>
|
|
|
|
|
|
|
| |
The Python listdir() function never returns the special '.' and
'..' directory entries. Do not test for them.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
This is a new plugin used to collect data for SAS adapters.
It collects a list of adapters and then puts information on
each adapter into the sosreport.
Signed-off-by: Kyle Mahlkuch <Kyle.Mahlkuch@ibm.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves several collected outputs over from using curl to using the
etcdctl command, as well as adding some addition collection.
Only statistic information is now obtained via curl.
Also we now attempt to determine the actual listening address based
on etcd.conf, and if that is not possible the plugin assumes
version-specifc defaults.
Closes: #1059.
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
A single-valued tuple needs a ',' before the closing paren to
distinguish it from a value in parentheses.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a command is not found in Plugin.get_command_output() and the
run is not configured to use an alternate sysroot (either via
policy based autodetection or command line --sysroot=/path) the
plugin would log messages like:
[plugin:gluster] command 'gluster' not found in / - re-trying in host root
This is incorrect: without an alternate sysroot the attempt should
fail immediately at this point (since the 'retry' will attempt to
find the command in the same namespace).
This is caused by an incorrect test for alternate sysroot:
if chroot and self.commons['cmdlineopts'].chroot != 'always':
The 'chroot' variable is always True here, unless the caller has
explicitly disabled it, or we are re-trying a command in a run
with an alternate sysroot defined.
Instead test that 'root' is not None and that it is not equal to
'/'.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Ignore IO errors reported by /proc and /sys.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new list/tuple member to the Plugin class that contains a
list of executable commands that will enable the plugin if any
are present.
For example, a plugin:
class MyPlugin(Plugin, RedHatPlugin):
commands = ('mycmd1', 'mycmd2')
Will be automatically enabled if either 'mycmd1' or 'mycmd2'
is present and executable in the policy defined PATH for the
run.
Related: #1051.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
New plugin to collect OpenStack Aodh configurations and logs.
Signed-off-by: Sachin Patil <psachin@redhat.com>
(minor style fix)
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
This is an addition to pull request 1046 to collect gnocchi logs
correct when service is running in a container.
Signed-off-by: Martin Schuppert mschuppert@redhat.com
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tool always requires PIN to be entered manually. That contradicts the aim
of sosreport to collect data as automatically as possible.
Once smartcar community allows providing the PIN e.g. via an env.variable,
we can add the command back.
Resolves: #1045
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The output of ovs-ofctl varies depending on the version of OpenFlow you
query it with. Using the currently supported versions, retrieve
ovs-ofctl output for each ovs-bridge depending on which specified
versions of OpenFlow are in use.
Signed-off-by: Robb Manes <rmanes@redhat.com>
(minor style tweaks)
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|