| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The get_command_output_now() method is used for two distinct
purposes:
* Called directly from user plugin code, to immediately collect
the output of a command during the setup() phase (e.g. to then
process the output to inform further collection, while also
storing the result in the report).
* Internally from the _collect_cmd_output() callback, in order
to collect the commands added at setup() time by user plugins
during the collect() phase.
In the former case, predicates should be applied as normal and
evaluated prior to command execution. In the latter, predicates
have already been applied at the time of the add_cmd_output()
call; any predicate that was not set at the time of that call
must not apply to the collection of the command.
Split the method in two: _g_c_o_n() now collects command output
unconditionally, and is used directly by internal callers, and
g_c_o_n() becomes a wrapper to perform predicate evaluation.
Resolves: #1616
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
| |
Fixes: #1614
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
A null predicate (one with no set predicates) must always evaluate
to True, or it will block all collection.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
The 'pred' local in collection methods is unused when a default
(command or plugin) predicate is in use. Always retrieve the
active predicate via get_predicate() when logging predicate
decisions.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
No plugin code outside of Plugin (and other classes defined in
the plugin module itself) should ever access the archive directly:
this is so that metadata is created, limits are respected, and
predicates applied.
Correct npm to use self.add_string_as_file().
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The unpackaged plugin is unusual in that it does a lot of costly
processing in Python, without ever calling out to an external
binary. This means that the normal, automatic predicate testing
hooks are not executed until we come to add the final string to
the archive (by which time we've already done all the work).
Make a special case for this plugin, and test the current plugin
predicate before operating on package lists.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Factor out the common steps to check the current predicate, and
use this from the API methods that require it.
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>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Allow plugin authors to set default predicates to apply to either
all collection, or to all command collection, subsequent to the
call to Plugin.set_predicate().
The set predicate will be tested in any subsequent collection call
(depending on the type of predicate), and will gate the collection
of data requested by those calls.
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>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
| |
Add a simple predicate class that can be used to gate collection
of certain data without adding conditional code into individual
plugins.
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, if a plugin timeout was hit the thread it was running in
would be destroyed, however if it were running a command (ultimately
handled by a Popen() call), that command would still continue to run
under PID 1. This could then cause sos to report I/O exceptions after
the archive has been closed with an attempt to write to the temporary
directory used for the archive.
Now, utilities.sos_get_command_output() accepts (and is handed from
Plugin) a polling method that is used to monitor if the timeout has been
hit and will call terminate() to end kill the running command if that
polling method returns True.
For commands run outside of a plugin, previous behavior remains the
same since now AsyncReader.get_contents() will block until the command
completes (regardless of exit code) rather than relying on the join()
when an AsyncReader was initialized as was done before.
Fixes: #1590
Resolves: #1615
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Logrotated files can have suffix starting by '-' or '.' also.
Additionally, collect also foreman-ssl_error_ssl.log httpd logs.
Resolves: #1612
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
| |
Logrotated files can have suffix starting by '-' or '.' also.
Relevant to: #1612
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Prevent foreman and apache plugins in collecting the same logfiles
but with different sizelimit - dont collect those files in apache
plugin itself.
Resolves: #1596
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
When a file is over sizelimit and we should collect just tail of it,
check if the file isnt in forbidden paths first.
Relevant to: #1596
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
xfs_admin is called with argument of mounting point while it accepts
device name.
Resolves: #1610
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
| |
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the foreman plugin just served to collect the output of the
'foreman-debug' bash script, however even the 'foreman specific' items
that were collected when the generic items were skipped included
duplicate information sos already collects in other plugins.
Additionally, after discussions with senior members of the Red Hat
Satellite support team, it was decided that porting the collection of
these bits to sos was preferable given the infrastructure sos provides
that foreman-debug does not.
The truly foreman-specific bits are now collected by the foreman plugin.
This includes log files, config files, and command output for
Satellite/Foreman-specific rubygems. Additionally, database output that
was collected by foreman-debug is now collected by the foreman plugin
and the file names are preserved - e.g. 'foreman_settings_table' remains
the same.
The katello extension for foreman-debug has been split out into a new,
separate katello plugin.
Resolves: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Adds collection of 'virt-who -dop'.
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Adds collection of rotated log files for Red Hat locations.
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Adds collection of /etc/default/bind and /var/log/named.log.
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Adds collection of 'du -sh' for the postgres home directory.
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Adds support for this plugin to run on Debian and Ubuntu systems as part
of the effort to port foreman-debug to sos plugins.
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Adds collection of the mongodb log under /var/lib/mongodb
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Sets the Red Hat Satellite preset to enable the apache 'log' option by
default so that all of /var/log/httpd is collected
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Adds a new plugin for pulp as part of the effort to port the
foreman-debug script to native sos plugins.
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Adds a new plugin for Candlepin as part of the effort to port the
foreman-debug script to native sos plugins.
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
Adds a new plugin for katello as part of the porting of the
foreman-debug script to sos plugins.
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Adds collection of 'facter' and the puppet version in use.
Additionally collect directory listings for puppet module dirs.
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Adds a new plugin for the ruby runtime.
Related: #1525
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Resolves: #1602
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
| |
Related: #1602
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Honour --log-size option for collecting logs and dont use the
hardcoded 5/15MB size limit.
Resolves: #1203
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
If CNV is installed ontop of the base kubernetes installation, collect
output for the 'vms' and 'vmis' resources as well as virtctl.
Resolves: #1599
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Since the directory can have huge number of less important files,
don't collect but just list them.
Resolves: #1598
Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid "collecting" /dev/null as part of the systemd plugin.
In my testing that was the only plugin that brought it in.
Creating these character devices makes it harder to manage
(delete) extracted sosreports without more permissions.
This supersedes #1469 which removed the ability to "collect"
char devices. As we only have one example today, let's just
exclude that.
Resolves: #1595
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
nfs-ganesha service logs are now located at "/var/log/ganesha/"
directory by default. Updating the same in sos plugin.
Resolves: #1593
Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Removing the dupicate entry
Resolves: #1591
Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Adds collection of busctl list and status.
Resolves: #1589
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updates the crio plugin to use the 'inspecti' and 'inspectp' subcommands
for images and pods respectively. Additionally filter out the socket
deprecation warning from being iterated over.
Adds collection of 'ps -v' and updates the journal unit to 'crio'
instead of 'cri-o'.
Now collects all of /etc/containers, and adds collection of crio files
under /etc/sysconfig.
Resolves: #1588
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a separate collections of --all for both the containers and images
lists.
Also, small fix to rename a variable to avoid using the same variable
name twice.
Resolves: #1582
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updates the podman plugin to collect volume information such as 'volume
ls' and 'volume inspect' for every reported volume.
Additionally, corrects the inspect iteration to not potentially call
'podman logs' on image IDs, only container IDs.
The image inspect commands will also now use the image name unless
either the name or tage includes 'none', in which case the image ID is
used.
Removes the attempt to collect a podman journal - podman does not log to
a journal unit.
Finally adds '--all' to the stats command, as podman requires this
option when not specifying specific containers.
Resolves: #1579
Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch collects the galera mysql node state
stored in the following file:
/var/lib/mysql/grastate.dat
It contains details of the galera node like version,
uuid, seqno, and current value in that node of
safe_to_bootstrap. The idea is that for a galera
mysql cluster, we'll get this status file from
each node in the sosreport, and we'll have a fuller
picture of the issue.
Resolved: #1577
Signed-off-by: Jose Castillo <jcastillo@redhat.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|