aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [sosreport] Allow user-controllable plugin timeoutsJake Hunsaker2019-03-124-6/+57
| | | | | | | | | | | | | | | | | | | | Allows users to specify a timeout for each plugin using the '-k plugin.timeout=value' syntax by adding the 'timeout' option to every plugin. Additionally, adds the --plugin-timeout option to set a timeout for _all_ plugins. If --plugin-timeout and a specific -k timeout option is provided, the -k timeout option will be applied for those specific plugins, with --plugin-timeout being applied to all others. In either case, specifying a timeout of 0 seconds results in no timeout being applied. In the event that an invalid timeout is set, the timeout will be set to the default value for the plugin. Resolves: #1499 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [pcp] collect 12 newest pmlogger files regardless of sizePavel Moravec2019-03-121-7/+21
| | | | | | | | | | | - collect reasonable count of pmlogger files instead of sizelimit - (configurable via pcp.pmloggerfiles plugin option - prevent pmlogger/pmmgr binary files to be truncated/tailed Resolves: #1496 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [podman|docker] Add postprocessing for container inspect outputJake Hunsaker2019-03-122-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a postproc for the podman and docker plugins to attempt to obfuscate sensitive keys in 'inspect' output for those runtimes. Previously, these keys were being captured in plaintext which could lead to passwords or similar being leaked when sysadmins configure containers with environment variables (or similar) that contain this data. Specifically, we match against 'key=value' pairs as that is how the container runtimes accept and print these pairs, like so: "Env": [ "mypassword=supersecret", "container=oci" ], By comparison, the inspect outputs now read like the following when a potentially sensitive key is found: "Env": [ "mypassword=********", "container=oci" ], Resolves: #1487 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [boom] collect entire /boot/boom treeBryn M. Reeves2019-03-111-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [boom] add RHEL7 packages to listBryn M. Reeves2019-03-111-1/+6
| | | | | | RHEL7 ships boom as part of LVM2: lvm2-python-boom. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [composer] Collect sources info for all sourcesJake Hunsaker2019-03-041-10/+12
| | | | | | | | | | | Adds collection of info on each source found by composer-cli. The _get_blueprints() method has been made more generic to accomodate both blueprints and sources. Resolves: #1571 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [policies] Fix setting the custom name_patternVille Heikkinen2019-03-041-0/+1
| | | | | | | | | | | | | | | | Added initialization of date variable, so that it's possible to set the custom name_pattern. Without the fix, if the name_pattern is set in the plugin to be something else than 'legacy' or 'friendly', the report generation will fail to error UnboundLocalError: local variable 'date' referenced before assignment Resolves: #1570 Signed-off-by: Ville Heikkinen <ville.heikkinen@nokia.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [docker] Don't run docker commands when the service is not runningJake Hunsaker2019-03-041-3/+8
| | | | | | | | | Prevents the docker plugin from running docker commands when the service is not running. This will prevent us from collecting the same 'docker is not running' error message over and over again from the docker commands that would otherwise get run. Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
* [policy|plugin] Add 'is_running' check for servicesJake Hunsaker2019-03-042-5/+23
| | | | | | | | | | | | | | | | | | | | Adds a method to the InitSystem class used by policies and plugins to check if a given service name is running. Plugins can make use of this through the new self.service_is_running() method. For policies that use the base InitSystem class, this method will always return True as the service_is_running() method is likely to be used when determining if we should run commands or not, and we do not want to incorrectly stop running those commands where they would collect meaningful output today. The SystemD init system for policies properly checks to see if the given service is active or not when reporting is the service is running. Resolves: #1567 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [services] add rc.localBryan Quigley2019-03-041-1/+2
| | | | | | | | Resolves: #1566 Closes: #1545 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [systemd] Add many other lists, statusesBryan Quigley2019-03-041-0/+6
| | | | | | | | | | | | | | | | | | systemctl list-jobs - any currently runnign list-dependencies - nice dependency tree list-timers --all - what timers are setup/active list-machines - for systemd container orcestration systemd-resolve --status - what link is using what dns server, etc --statistics - how cache/DNSSEC/etc are doing Resolves: #1565 Closes: #1457 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [system] collect /etc/environmentBryan Quigley2019-03-041-0/+1
| | | | | | | | Resolves: #1564 Closes: #1550 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [watchdog] collect wdctl /dev/watchdog* outputsPavel Moravec2019-03-041-0/+4
| | | | | | | Resolves: #1561 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [travis] Update python versions and 14.04 -> 16.04Bryan Quigley2019-03-041-3/+3
| | | | | | | | | | | | | | The change notes specifically mention how they've improved performance including boot times with 16.04. Python 3.7 is now stable. Add --version flag for pycodestyle. Resolves: #1554 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_nova] Remove redundant Docker callLee Yarwood2019-03-041-1/+0
| | | | | | | | | | This call is no longer used and was missed during the clean up in 2b29530eb50ab1016937f5c28adaf4e2288e46be. Resolves: ##1552 Signed-off-by: Lee Yarwood <lyarwood@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [xfs] add /sys/fs/xfs to XFS pluginBryn M. Reeves2019-03-011-1/+4
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [crio] Add tagging classesJake Hunsaker2019-02-251-1/+1
| | | | | | | | | Adds tagging classes so plugin will run on Red Hat and Ubuntu based systems. Resolves: #1578 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
* [general] fix pycodestyle indentation errorsPavel Moravec2019-02-074-20/+20
| | | | | | Resolves: #1556 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [satellite] don't collect /root/ssl-buildPavel Moravec2019-02-011-1/+1
| | | | | | | | Recursive listing of the directory is sufficient. Resolves: #1555 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [grub2] Enable plugin by grub2-common package alsoPavel Moravec2019-01-211-1/+2
| | | | | | | | | | | Newer Fedora systems, grub2 package is replaced by grub2-common that needs to enable grub2 plugin by default as well. Additionally, collect /boot/loader/entries with boot list entries. Resolves: #1543 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [rpmostree] Add new pluginJake Hunsaker2019-01-182-1/+40
| | | | | | | | | | Adds a new plugin for rpm-ostree, which is no longer limited to use in Atomic Host. Resolves: #1529 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [rhcos] Add new pluginJake Hunsaker2019-01-181-0/+30
| | | | | | | | | Adds a new plugin for Red Hat CoreOS Resolves: #1528 Signed-off-by: Jake Hunsaker <jhunsake@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [policies] factor out Red Hat disclaimer textBryn M. Reeves2019-01-181-32/+16
| | | | | | | | Rather than repeating the same boilerplate disclaimer text in each Red Hat policy class, define it once as a string, and then cat it into each policy that requires a distinct preamble. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [redhat] Add RHCOS policyJake Hunsaker2019-01-181-0/+42
| | | | | | Adds a policy for Red Hat CoreOS. Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
* [block] proper parsing of luks partition on self devicePavel Moravec2019-01-141-5/+5
| | | | | | | | | | | Simplify identification of LUKS partitions by collecting lsblk with option -l, such that the device name is the very first string every time. That is required for LUKS partition located on the device itself where standard lsblk output does not contain '|-' before the device name. Resolves: #1449 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [networking] Collect NUMA Node of each NICJamie Bainbridge2019-01-111-0/+1
| | | | | | | | | | It is often useful to know the NUMA locality of each network device. Collect /sys/class/net/*/device/numa_node to add this information. Resolves: #1451 Signed-off-by: Jamie Bainbridge <jamie.bainbridge@gmail.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [composer] add missing commas in list in add_copy_specPavel Moravec2019-01-101-4/+4
| | | | | | Resolves: #1535 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [opendaylight] Update directory for openDaylight logsVictor Pickard2019-01-081-0/+13
| | | | | | | | | | | | OpenDaylight karaf logs are now located in: /var/log/containers/opendaylight/karaf/logs, so deprecate the old paths, and update the plugin to get the karaf.log files from new location. Resolves: #1438 Signed-off-by: Victor Pickard <vpickard@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [unpackaged] compare realpaths of filesPavel Moravec2018-12-141-3/+5
| | | | | | | | | | To compare files in $PATH with files installed from a package, we must expand all symlinks to their realpaths. Otherwise we get false positives like /bin/systemctl (as /bin -> /usr/bin). Resolves: #1437 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [juju] catch exceptions when "juju status" command failsPavel Moravec2018-12-141-1/+6
| | | | | | | | | | Catch exceptions when "juju status" command: - does not exist (and generates empty output), or - does not generate valid/expected JSON output Resolves: #1422 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [plugins] fix exception when collecting empty stringsPavel Moravec2018-12-141-6/+9
| | | | | | | | get first line of string to log only for nonempty content Relevant to: #1422 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [composer] avoid running 'blueprints list' twiceBryn M. Reeves2018-12-131-9/+6
| | | | | | | | | | Use get_cmd_output_now() to store the first call to composer-cli's 'blueprints list' command in the report, and then use that file to find the list of available blueprints. Related: #1447 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [composer] New plugin for lorax-composerPavel Moravec2018-12-131-0/+39
| | | | | | | | | | lorax-composer is an API server for building disk images using Blueprints. The plugin collects composer config and logs and few composer-cli command outputs. Resolves: #1477 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [Plugin] clean up Plugin.get_option()Bryn M. Reeves2018-12-123-29/+5
| | | | | | | | | | | | | There's a lot of ancient junk in this method (and associated code strewn around sos.sosreport and tests). Remove the ability to pass a list of options to the method since nothing uses this, and also delete the incomplete implementation of global plugin options via the commons dictionary (this work was already completed some time ago by mapping these options directly to the command line args). Resolves: #1498 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [networking] Replace "brctl: by "bridge" commandsPavel Moravec2018-12-122-31/+9
| | | | | | | | | | | | As bridge-utils containing brctl command are being deprecated, sosreport should call bridge command instead. Although the mapping of the commands is not 1:1, the data collected (together with few "ip .." commands) will remain the same. Resolves: #1472 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [firewalld] collect nftables rulesetPavel Moravec2018-12-121-0/+3
| | | | | | | | Collect "nft list ruleset". Resolves: #1470 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [crypto] collect more configs and commandsPavel Moravec2018-12-121-1/+9
| | | | | | | | | | | | | | | Commands: fips-mode-setup --check update-crypto-policies --show update-crypto-policies --is-applied Files: /etc/system-fips /etc/crypto-policies/* Resolves: #1448 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [podman] allow the plugin for RedHatPlugin and UbuntuPluginPavel Moravec2018-12-121-6/+5
| | | | | | | | | | | | Until Podman inherits RedHatPlugin and/or UbuntuPlugin, the plugin can not be executed on underlying distros. Further, remove one redundant test as "for container in insp" will work properly also for empty "insp". Resolves: #1473 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [plugins] fix 6db459e for SCL servicesPavel Moravec2018-12-121-8/+10
| | | | | | | | | | | | Calling _files_pkgs_or_cmds_present for SCLs lacks "services" argument that was added in 6db459e commit. Also it is worth renaming the method to more generic _check_plugin_triggers . Resolves: #1416 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [postgresql] Do not limit dump sizeYedidyah Bar David2018-12-121-1/+1
| | | | | | | | | | | | | | In principle, this might be risky - if a database is huge, we might not want to collect all of it. But there is no sense in collecting only its tail. If this turns out problematic, a future patch might check db size and do not collect it at all if it's too large. Bug-Url: https://bugzilla.redhat.com/1654068 Resolves: #1497 Signed-off-by: Yedidyah Bar David <didi@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [Plugin] Obey sizelimit=0Yedidyah Bar David2018-12-041-2/+4
| | | | | | | If sizelimit is 0, do not limit. Only use the default if it's None. Bug-Url: https://bugzilla.redhat.com/1654068 Signed-off-by: Yedidyah Bar David <didi@redhat.com>
* [powerpc] Add support to collect DLPAR and LPM related logsSourabh Jain2018-10-091-2/+6
| | | | | | | | | | | | | This patch updates powerpc plugin to collect Dynamic Resource Manager (drmgr) log files i.e. /var/log/drmgr and /var/log/drmgr.0. In addition, it also adds ctsanp command to collect the information about the Reliable Scalable Cluster Technology (RSCT) components. Resolves: #1443 Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kernel] dont collect some tracing instance filesPavel Moravec2018-10-081-1/+4
| | | | | | | | As copying of them hangs. Resolves: #1445 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [openstack_*] relax enabling of OSP RedHat pluginsPavel Moravec2018-10-0316-131/+26
| | | | | | | | | | Allow automatic enabling of OSP packages also on containerized environment. Relevant to: #1411 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_nova] remove too restrictive check_enabledPavel Moravec2018-10-031-8/+0
| | | | | | | | Enable the plugin just based on package presence. Resolves: #1411 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [archive] fix and simplify directory destination rewritingPavel Moravec2018-09-141-5/+3
| | | | | | | | | | | | | | | | | | | | Rewriting of the destination path by _make_leading_paths() only applies when creating intermediate path components that are a symbolic link. The final level of path creation must always be a directory, and the destination is always the absolute path to that directory. Always return the directory path when creating a new directory, and do not attempt to rewrite the destination at the top level in FileCacheArchive._check_path() since all intermediate links have already been handled inside _make_leading_paths() (i.e. the returned/rewritten destination is always equal to the path that was passed into the function). Resolves: #1432 Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [archive, plugin] avoid recursing on symbolic link loopsBryn M. Reeves2018-09-132-5/+42
| | | | | | | | | | | | | | | | | | | It's possible that symlink loops exist in the host file system, either 'simple' ('a'->'a'), or indirect ('a'->'b'->'a'). We need to avoid recursing on these loops, to avoid exceeding the maximum link or recursion depths, but we should still represent these inodes as accurately as possible in the resulting archive. Detect loops in both the Plugin link handling code and in the new Archive link follow-up code by creating the first requested level of loop, and then skipping the recursive follow-up. This means that the looping links are still created in the archive so long as they are referenced in a copy spec but that we do not attempt to indefinitely recurse while collecting them. Resolves: #1430 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [archive] canonicalise paths for link follow upBryn M. Reeves2018-09-121-1/+1
| | | | | | | | | Ensure that the canonical path is used when processing link follow up actions: the actual link path may contain one or more levels of symbolic links, leading to broken links if the link target path is assumed to be relative to the containing directory. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] canonicalize link target path in Plugin._copy_symlink()Bryn M. Reeves2018-09-121-1/+4
| | | | | | | | | | | | Since we may be dealing with paths that contain intermediate symlinked directories, it is necessary to canonicalize the path for the link target in order to eliminate additional levels of symbolic links, and to calculate the correct relative path to use within the archive. Related: #1404 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [utilities] use correct comparison-to-None styleBryn M. Reeves2018-09-111-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>