aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [utilities,plugin] check for return status 126Bryn M. Reeves2014-09-162-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A return status of 126 indicates 'found but not executable'. This is returned from timeout for some malformed commands when running as a normal user but not when running as root, e.g.: Running 1/1: multipath... [plugin:multipath] collecting path '/etc/multipath/' [plugin:multipath] unpacked command tuple: ('['multipath -l', 'multipath -v4 -ll']', 'None', 'None', 300, 'None') [plugin:multipath] collecting output of '['multipath -l', 'multipath -v4 -ll']' Traceback (most recent call last): File "/usr/sbin/sosreport", line 25, in <module> main(sys.argv[1:]) File "/usr/lib/python2.7/site-packages/sos/sosreport.py", line 1389, in main sos.execute() AttributeError: 'list' object has no attribute 'split' > /usr/lib/python2.7/site-packages/sos/plugins/__init__.py(563)get_cmd_output_now() -> % (exe.split()[0], time() - start)) (Pdb) bt /usr/sbin/sosreport(25)<module>() -> main(sys.argv[1:]) /usr/lib/python2.7/site-packages/sos/sosreport.py(1389)main() -> sos.execute() /usr/lib/python2.7/site-packages/sos/sosreport.py(1369)execute() -> self.collect() /usr/lib/python2.7/site-packages/sos/sosreport.py(1144)collect() -> plug.collect() /usr/lib/python2.7/site-packages/sos/plugins/__init__.py(633)collect() -> self._collect_cmd_output() /usr/lib/python2.7/site-packages/sos/plugins/__init__.py(613)_collect_cmd_output() -> timeout=timeout, runat=runat) > /usr/lib/python2.7/site-packages/sos/plugins/__init__.py(563)get_cmd_output_now() -> % (exe.split()[0], time() - start)) (Pdb) result {'status': 126, 'output': u"timeout: failed to run command '[multipath -l,': Permission denied\n"} Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [multipath] fix add_cmd_output usageBryn M. Reeves2014-09-161-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* Try to ensure FQDN of host is collectedPeter Portante2014-09-161-1/+6
| | | | | | | | | Not all systems are required to have the generic hostname command return the FQDN. We have encountered customers who require the a short name by default. Adding the "-f" output helps to get that information. Signed-off-by: Peter Portante <peter.portante@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [logs] make journalctl log collection honour all_logsBryn M. Reeves2014-09-161-1/+5
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [logs] improve log collection for journald-only configurationsBryn M. Reeves2014-09-161-1/+14
| | | | | | | | | | If no syslog exists collect the last three days worth of journald logs by default and allow the user to specify a "log_days" option to control the data collected. Fixes #325. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [systemd,logs] move journalctl logs to logs pluginBryn M. Reeves2014-09-162-2/+4
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] fix use of -o and -n without --profileBryn M. Reeves2014-09-161-1/+4
| | | | | | | | Break the logic of the combined 'onlyplugins' and profile check out to make it more readable and fix a bug that caused all default plugins to be enabled when running '-o someplug'. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [docker] optional log capturing for all containersAdam Stokes2014-09-161-2/+9
| | | | | | | | | | This options provides the user the ability to pull logs from all containers including the terminated/stopped. Fixes #360 Fixes #365 Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
* [sosreport] fix test in SoSReport._is_in_profile()Bryn M. Reeves2014-09-161-1/+1
| | | | | | | | All plugins belong to the null (empty) plugin. Fix the test in _is_in_profile() to check against the list of active profiles and not the list of all detected profiles. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] do not truncate mangled command namesBryn M. Reeves2014-09-162-3/+1
| | | | | | | | | There's no reason to truncate mangled command names within an archive. This isn't MS-DOS 3.1 and there are cases where the 64 character limit causes a loss of uniqueness and resulting name collisions (e.g. namespaced network commands). Fixes #388.
* [ssmtp] add sSMTP pluginBryn M. Reeves2014-09-161-0/+42
| | | | | | Fixes #395. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] allow --profile with -o and -nBryn M. Reeves2014-09-161-5/+9
| | | | | | | | | | | Allow the user to fine-tune the set of enabled plugins using the -o (--only-plugins) and -n (--skip-plugins) options. These add and remove plugins from the set defined by the active profile(s). Both options may be specified multiple times, or given lists of plugins to operate on. E.g.: Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] initial profiles supportBryn M. Reeves2014-09-163-7/+102
| | | | | | | | | | | | | | | | | | | Add simple profile support. Plugins can define a 'profiles' attribute that contains a list of profile names that this plugin belongs to. If a profile is given on the command line only plugins belonging to that profile will run. Two new command-line options are introduced in thie commit: --list-profiles --profile=NAME Profiles can be combined with -l/--list-plugins in order to see the effect of the profile on the set of enabled plugins. Fixes #247. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] improve plugin class docstringsBryn M. Reeves2014-09-16152-311/+161
| | | | | | | | | | | | | Plugin class docstrings should be a brief (42 characters or less) description of the component the plugin supports. This is needed since the class docstring is displayed in the table of enabled plugins when running 'sosreport --list-plugins'. Class docstrings should not describe the distribution a particular class runs on; this is redundant since only plugins tagges with a class matching the running policy will be displayed. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [kernelrt,mrgmessg,mrggrid] add MRG profileBryn M. Reeves2014-09-163-3/+3
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [nfs,nfsserver,sunrpc,autofs] add NFS profileBryn M. Reeves2014-09-164-4/+4
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [apache,selinux,openshift] add OpenShift profileBryn M. Reeves2014-09-163-3/+3
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugins] add initial profile tags to all pluginsBryn M. Reeves2014-09-16159-14/+168
| | | | | | | | | | | | | | | | | Add an initial profile tag list to each plugin base class. A tag list is a tuple of strings indicating the set of profiles that should select this plugin, e.g.: plugin_name = "qux" profiles = ('system', 'storage', 'foo) A follow up patch will add infrastructure to use these tag lists to allow the user to select a logically-related set of plugins by specifying a profile on the command line: # sosreport -v --batch --profile=storage Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [docs] improve man page descriptions of --ticket and --case-idBryn M. Reeves2014-09-161-4/+12
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* sosreport: Accept commas, period and alphas in the case idAruna Balakrishnaiah2014-09-163-24/+26
| | | | | | | | | | | | sosreport does not accept commas, period and alphas in the case id, the patch fixes the same. Change the ticket number field to case id as it now accepts alpha numerals as well but maintain the '--ticket-number' option for compatibility. Signed-off-by: Aruna Balakrishnaiah <aruna@linux.vnet.ibm.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [veritas] fix call_ext_prog usageBryn M. Reeves2014-09-151-3/+2
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [ipa] fix get_cmd_output_now usageBryn M. Reeves2014-09-151-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [hpasm] fix add_copy_specs() useBryn M. Reeves2014-09-151-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [anaconda] make password scrubbing more robustBryn M. Reeves2014-09-141-2/+2
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [abrt] trigger plugin on more packagesBryn M. Reeves2014-09-141-1/+1
| | | | | | Add the GUI and main abrt packages to the plugin's packages list. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] remove jython logging handler workaroundBryn M. Reeves2014-09-131-7/+2
| | | | | | | | | | | | The workaround in sosreport.py for log handlers persisting past logging.shutdown() on Jython causes further problems with leaking log handler messages in the non-build case (i.e. where we are calling the Archive's finalize() method). Fix this by removing the workaround since sos no longer targets the Jython runtime. Fixes: #393. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] re-order logging shutdownBryn M. Reeves2014-09-131-6/+10
| | | | | | | | | | | | | | | | | | | Currently we remove all log handlers and then add the log files to the archive. This can cause messages to leak to the console when running in --quiet mode: # sosreport -o lvm2 --batch --build --debug --quiet No handlers could be found for logger "sos" This happens because the Archive classes output to the 'sos' logger; removing the handlers before archiving the logs causes a default basicConfig to be used and generates the above message. Add the files to the archive and then remove the handlers. Fixes #393. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] log sosreport command lineBryn M. Reeves2014-09-131-0/+3
| | | | | | | | | | Log the command line given to sosreport in the report log: INFO: [sos.sosreport:setup] executing 'sosreport -o lvm2 --batch --build --debug' Fixes #392. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] ensure Plugin has an 'archive' memberBryn M. Reeves2014-09-121-0/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] remove unused itertools importBryn M. Reeves2014-09-121-2/+0
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] remove superfluous parens in Plugin.report()Bryn M. Reeves2014-09-121-2/+2
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] fix indentation in Plugin._collect_copy_specs()Bryn M. Reeves2014-09-121-2/+2
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] remove superfluous parens in Plugin.get_cmd_output_now()Bryn M. Reeves2014-09-121-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] remove superfluous parens in Plugin.check_ext_prog()Bryn M. Reeves2014-09-121-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] remove superfluous parens in Plugin._do_copy_path()Bryn M. Reeves2014-09-121-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] fix whitespace in Plugin._copy_symlink()Bryn M. Reeves2014-09-121-5/+4
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] remove superfluous parens in is_installed()Bryn M. Reeves2014-09-121-1/+1
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] mark more interfaces privateBryn M. Reeves2014-09-122-37/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | Numerous Plugin methods are not expected to be called from outside the base class. Mark them private with a leading underscore: _copy_dir() _copy_node() _copy_symlink() _do_copy_path() _expand_copy_spec() _mangle_command() _make_command_filename() _is_forbidden_path() _collect_copy_specs() _collect_cmd_output() _collect_strings() A couple of these (_mangle_command() and _do_copy_path()) are invoked from the Plugin test suite; update the relevant cases to call the new names. Fixes #348. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* Fix variable naming according to commentLouis Bouchard2014-09-121-2/+2
| | | | | Signed-off-by: Louis Bouchard <louis.bouchard@canonical.com> Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
* [apt] Add apt-cache policy info for installed pkgLouis Bouchard2014-09-121-1/+7
| | | | | | | | apt-cache policy information for each package can be useful to identify the source of the installed package. Fixes #389 Signed-off-by: Louis Bouchard <louis.bouchard@canonical.com>
* [ovirt_hosted_engine] new plugin for oVirtBryn M. Reeves2014-09-121-0/+85
| | | | | | | | | | | | | | | The oVirt Hosted Engine packages allow to run ovirt-engine inside a VM. This plugin provides info about the setup and the high availability daemons running such VM. Change-Id: I4380bbed5bab4dd7fd3472bf5d5d1265f1eed3e7 Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> --- sos/plugins/ovirt_hosted_engine.py | 85 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 sos/plugins/ovirt_hosted_engine.py
* [ovirt] nit: fixing bad indentationBryn M. Reeves2014-09-121-5/+5
| | | | | | | | | Change-Id: I5f570416d8f80d79589bf93854ece1b307dc60ae Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> --- sos/plugins/ovirt.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
* [ovirt] add jboss runtime configurationBryn M. Reeves2014-09-121-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In oVirt 3.5 jboss runtime config changed location. Add to the report: /var/lib/ovirt-engine-reports/jboss_runtime/config/ |-- ovirt-engine-reportsd_history | |-- current | | `-- ovirt-engine-reportsd.v1.xml | |-- ovirt-engine-reportsd.boot.xml | |-- ovirt-engine-reportsd.initial.xml | |-- ovirt-engine-reportsd.last.xml | `-- snapshot |-- ovirt-engine-reportsd-logging.properties `-- ovirt-engine-reportsd.xml /var/lib/ovirt-engine/jboss_runtime/config/ |-- ovirt-engine_history | |-- current | | `-- ovirt-engine.v1.xml | |-- ovirt-engine.boot.xml | |-- ovirt-engine.initial.xml | |-- ovirt-engine.last.xml | `-- snapshot |-- ovirt-engine-logging.properties `-- ovirt-engine.xml Change-Id: I15864ef5197ec1c42f4a68445d5586847e595bc2 Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> --- sos/plugins/ovirt.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
* [ovirt] add ovirt-engine-reports configBryn M. Reeves2014-09-121-0/+1
| | | | | | | | | | | | | | | | | | | Add: /etc/ovirt-engine-reports |-- ovirt-engine-reports.conf.d | |-- 10-setup-jboss.conf | `-- 10-setup-protocols.conf `-- sso.properties to the report Change-Id: I2287258b9652aa9ebf7f60528c378f4eeb2179d3 Related-To: https://bugzilla.redhat.com/1086942 Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> --- sos/plugins/ovirt.py | 1 + 1 file changed, 1 insertion(+)
* [ovirt] ensure /etc/rhevm is collectedBryn M. Reeves2014-09-121-1/+1
| | | | | | | | | The path /etc/rhevem may be a symbolic link. Include a trailing slash in the copy spec to ensure it is collectes. Based on a suggestion from Sandro Bonazzola. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [rpm] Add Signature tag to the output of 'installed-rpms'poornimakshirsagar2014-09-111-2/+3
| | | | | | | | RPM meta data consists of Signature,Packager,BuildHost,Vendor tags it is useful for identifying 3rd party packages present on a system. This patch adds the gpg and pgp signature columns to installed-rpms. Signed-off-by: Poornima M. Kshirsagar <pkshiras@redhat.com>
* [networking] Collect a list of active network namespaces.Lee Yarwood2014-09-051-0/+1
| | | | | | | | | Useful in Openstack environments. Fixes #384 Signed-off-by: Lee Yarwood <lee.yarwood@gmail.com> Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
* [postgresql] ensure password option is initialised to known valueBryn M. Reeves2014-09-031-2/+2
| | | | | | | | | The value of self.get_option("password") is tested in the postgresql plugin's setup() method to determine if the user gave a password on the command line. Set the default value to False to ensure we get the expected comparison results. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [dbus] new dbus pluginAdam Stokes2014-08-222-1/+30
| | | | | | | | | Adds dbus plugin support for Fedora, Debian, and Ubuntu. Also pulls the `/var/lib/dbus/machine-id` out of general into this plugin. Fixes #350 Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>
* [ubuntu] rename from ubuntu-support-statusAdam Stokes2014-08-221-6/+6
| | | | | | | | In an attempt to keep distro specific collection (ie ubuntu-support-status) create a general `Ubuntu` plugin to categorize this information. This will be the default for other distributions needing to do the same. Signed-off-by: Adam Stokes <adam.stokes@ubuntu.com>