aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [jars] new plugin: get information about installed JARsMichal Srb2017-01-191-0/+138
| | | | | | | | This plugin collects information about JAR files installed in the standard locations. The information can be later used when debugging problems with missing/different than expected classes on classpath. Signed-off-by: Michal Srb <msrb@redhat.com>
* [canonical_livepatch] use list with add_cmd_output()Bryn M. Reeves2017-01-191-4/+5
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [canonical-livepatch] new plugin for livepatching serviceBryan Quigley2017-01-191-0/+33
| | | | | | | | | | Add a new plugin for the Canonical Livepatching service which is Ubuntu specific. We collect: * version * show applied fixes with verbosity up * status info from systemctl Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
* [ipa] Handle PKI Directory change and Fedora compatibility fixesJustin Stephenson2017-01-171-8/+54
| | | | | | | | | | | | | | | | PKI-core services in IPA v4 changed the default log file directory for Dogtag related logs, sosreport should check if IPA CA is installed and retrieve useful PKI logs(location is based on IPA version check) Added functions to check if CA is installed and IPA server(RHEL or fedora) is installed. Update packages list to ensure plugin will run on Fedora. Resolves: #883. Signed-off-by: Justin Stephenson <jstephen@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [collectd] new plugin: collectdArchit Sharma2017-01-171-0/+54
| | | | | | | | New module for collecting active plugins info & configurations in collectd. Resolves: #866 Signed-off-by: Archit Sharma <arcsharm@redhat.com>
* [ovirt_hosted_engine] Add new location for vm.conf and broker.confNijin Ashok2017-01-171-0/+2
| | | | | | | | | | | | | | | | | From ovirt 3.6, vm.conf and broker.conf is in the shared storage and not at /etc/ovirt-hosted-engine.The ha engine keeps a local copy of these files under /var/run/ovirt-hosted-engine-ha/ and /var/lib/ovirt-hosted-engine-ha/ which is extracted from the shared storage. Include the new location of vm.conf and broker.conf in the list of files to be collected Signed-off-by: Nijin Ashok <nashok@redhat.com> Signed-off-by: Simone Tiraboschi <stirabos@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> Closes: #833.
* [nfsganesha] Add nfsganesha file server supportSoumya Koduri2017-01-172-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Included a plugin to collect the below information about NFS-Ganesha file server provided nfs-ganesha package is installed. Configuration files: "/etc/ganesha/*" "/etc/sysconfig/ganesha" "/var/run/sysconfig/ganesha" Log files: "/var/log/ganesha.log" "/var/log/ganesha-gfapi.log" (used by FSAL_GLUSTER) Output of below commands: -"dbus-send --type=method_call --print-reply" " --system --dest=org.ganesha.nfsd " "/org/ganesha/nfsd/ExportMgr " "org.ganesha.nfsd.exportmgr.ShowExports" Output of below commands is already covered under sunrpc and nfsserver plugins - -"rpcinfo -p localhost" -"showmount -e localhost" Also it is recommended to move FSAL specific configuration files under specific FSAL plugin. Hence added below nfs-ganesha/gluster related config to gluster plugin - -"/var/run/gluster/shared_storage/nfs-ganesha/" (nfs-ganesha configuration) Signed-off-by: Soumya Koduri <skoduri@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> Closes: #386, #858.
* [Grafana] New plugin for visualizing metricsPratik Bandarkar2017-01-171-0/+51
| | | | | | | | | | | | | | | | | | | | | Plugin to capture grafana configuration, logs, and command outputs. configuration: /etc/sysconfig/grafana-server /etc/grafana/ logs: /var/log/grafana/ command outputs: grafana-cli plugins ls grafana-cli plugins list-remote grafana-cli -v grafana-server -v Closes-Bug: #860 Signed-off-by: Pratik Bandarkar <pbandark@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [yum] [dnf] add output of history infoYedidyah Bar David2017-01-172-2/+31
| | | | | | | | | Add a list of installed/erased/updated packages per yum/dnf transaction. Signed-off-by: Yedidyah Bar David <didi@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> Closes: #857.
* [openstack_horizon] do not collect python .pyc and .pyo filesBryn M. Reeves2017-01-171-0/+1
| | | | | | | | Horizon seems to like scattering bits of executable python around /etc/: do not collect these files as we cannot properly perform regex subsitution on them. Closes: #856.
* [openstack_horizon] fix regex in postproc methodPoornima Kshirsagar2017-01-171-1/+2
| | | | | | | | | | | | | | "The regex needs to handle in openstack_horizon: currently the configurations are listed by "/etc/openstack-dashboard/local_settings" causing below errors: regex substitution failed for '/etc/openstack-dashboard/local_settings.d/_11_rcue_theme.pyc' Purposing a fix by changing the regex to match only intended configuration files (*.conf*) in this directory. Signed-off-by: Poornima M. Kshirsagar pkshiras@redhat.com
* [firewalld] Collect all configs under /etc/firewalldPavel Moravec2017-01-171-1/+1
| | | | | | | | Collect all /etc/firewalld/*.conf files, not only firewalld.conf Resolves: #854 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [policies] honour sysroot in OpenSuSEPolicyBryn M. Reeves2017-01-171-2/+2
| | | | | | | | | | | The sysroot paramter is not handled properly by the OpenSuSEPolicy __init__ method: ensure that the method both accepts a sysroot kwarg parameter, and that this is passed on to the superclass's __init__() call. Closes: #877. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [npm] inspect cache of the current user onlyJiri Popelka2016-12-071-30/+33
| | | | | | | | | Use 'npm cache ls' instead of parsing ~/.npm/ Signed-off-by: Jiri Popelka <jpopelka@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> Closes: #899.
* [npm] find modules in npm cacheTomas Tomecek2016-12-071-0/+38
| | | | | | | | | | | | | | | | | | | npm installs modules: 1. globally — so everyone can use those 2. per project If you don't know the path to the project, the only way to see the list of those modules is by traversing the whole filesystem, which is pretty unreal. This patch browses npm cache of every user on the system and saves module names and all available versions into sosreport. Signed-off-by: Tomas Tomecek <ttomecek@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> Closes: #879.
* [networking] blacklist entire /proc/net/eiconBryn M. Reeves2016-12-071-2/+1
| | | | | | | | | | | | The Dialogic Diva out-of-tree driver creates a number of problematic files in /proc/net that return unlimited data on read. The previous attempt to handle this driver left some files exposed (possibly due to a change in the driver): to prevent this, blacklist the entire /proc/net/eicon tree in the networking plugin. Closes: #892. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [plugin] Add polkit libvirt rulesJorge Niedbalski2016-12-071-1/+4
| | | | | | | | | | This commit adds the file /usr/share/polkit-1/rules.d/60-libvirt.rules to the copy specs of the Debian plugin. Signed-off-by: Jorge Niedbalski R. jorge.niedbalski@canonical.com Signed-off-by: Bryn M. Reeves <bmr@redhat.com> Closes: #894.
* [ctdb] collect /etc/ctdb/nodesMichael Adam2016-12-071-0/+1
| | | | | | | Signed-off-by: Michael Adam <obnox@samba.org> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> Closes: #896.
* [sssd] Retrieve SSSD created krb5 snippetsJustin Stephenson2016-12-021-0/+1
| | | | | | | | | | | | Obtain SSSD automatically-generated krb5 snippet configuration files for localauth plugin, domain_realm mapping, and libdefaults additions. These files are pulled in by libkrb5 with an 'includedir' line in /etc/krb5.conf. Signed-off-by: Justin Stephenson <jstephen@redhat.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> Closes #897.
* [ipmitool] use usb interface if availableMukesh Ojha2016-12-021-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SOSREPORT generally uses the default interface (/dev/ipmi0) while executing ipmitool command, which is quite slow as compare to usb interface. This usb interface uses the virtual device exposed from BMC like in OpenPower system AMI exposes virtual USB interface. IPMITOOL command with usb interface sends the data to the kernel drivers which inturn sends it to the BMC. This patch enables ipmitool command to use usb interface if available. With this patch: ================ root@ubuntu1604:/home/mukesh/sos# ./sosreport --config sos.conf -o ipmitool sosreport (version 3.2) This command will collect system configuration and diagnostic information from this Ubuntu system. An archive containing the collected information will be generated in /tmp/sos.TF8N8E. For more information on Ubuntu visit: http://www.ubuntu.com/ The generated archive may contain data considered sensitive and its content should be reviewed by the originating organization before being passed to any third party. No changes will be made to system configuration. Press ENTER to continue, or CTRL-C to quit. Please enter your first initial and last name [ubuntu1604]: Please enter the case id that you are generating this report for []: Setting up archive ... Setting up plugins ... Running plugins. Please wait ... Running 1/1: ipmitool... Creating compressed archive... Your sosreport has been generated and saved in: /tmp/sosreport-ubuntu1604-20161130110402.tar.xz The checksum is: adfdbc8475874d7ad1077a3d2eda151b Please send this file to your support representative. root@ubuntu1604:/home/mukesh/sos# tar -xvf /tmp/sosreport-ubuntu1604-20161130110402.tar.xz sosreport-ubuntu1604-20161130110402/ sosreport-ubuntu1604-20161130110402/version.txt sosreport-ubuntu1604-20161130110402/sos_reports/ sosreport-ubuntu1604-20161130110402/sos_reports/sos.txt sosreport-ubuntu1604-20161130110402/sos_reports/sos.html sosreport-ubuntu1604-20161130110402/sos_commands/ sosreport-ubuntu1604-20161130110402/sos_commands/ipmitool/ sosreport-ubuntu1604-20161130110402/sos_commands/ipmitool/ipmitool_-I_usb_sel_list sosreport-ubuntu1604-20161130110402/sos_commands/ipmitool/ipmitool_-I_usb_sdr_info sosreport-ubuntu1604-20161130110402/sos_commands/ipmitool/ipmitool_-I_usb_chassis_status sosreport-ubuntu1604-20161130110402/sos_commands/ipmitool/ipmitool_-I_usb_fru_print sosreport-ubuntu1604-20161130110402/sos_commands/ipmitool/ipmitool_-I_usb_sensor_list sosreport-ubuntu1604-20161130110402/sos_commands/ipmitool/ipmitool_-I_usb_sel_info sosreport-ubuntu1604-20161130110402/sos_commands/ipmitool/ipmitool_-I_usb_mc_info sosreport-ubuntu1604-20161130110402/sos_logs/ sosreport-ubuntu1604-20161130110402/sos_logs/ui.log sosreport-ubuntu1604-20161130110402/sos_logs/sos.log Signed-off-by: Mukesh Ojha <mukesh02@linux.vnet.ibm.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com> --- Changes in V3: - Forgot to remove import subprocess in the last version. Changes in V2: - Used existing wrapper instead of subprocess. - Removed camelCase for identifier. sos/plugins/ipmitool.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-)
* [samba] if --all-logs is given, collect everything under /var/log/sambaMichael Adam2016-12-011-0/+3
| | | | Signed-off-by: Michael Adam <obnox@samba.org>
* [samba] collect winbind log filesMichael Adam2016-12-011-0/+8
| | | | Signed-off-by: Michael Adam <obnox@samba.org>
* [samba] apply --size-limit to collected log filesMichael Adam2016-12-011-2/+8
| | | | Signed-off-by: Michael Adam <obnox@samba.org>
* [samba] use output of testparm -s without -v instead of with -vMichael Adam2016-12-011-1/+1
| | | | | | | | | | testparm -v prints the values of all options, including the compiled in defaults. The output of testparm with*out* -v is much more helpful in that it only outputs the non-default options. Signed-off-by: Michael Adam <obnox@samba.org>
* [sssd] Retrieve drop directory conf filesJustin Stephenson2016-11-041-4/+7
| | | | | | | | | | SSSD 1.14 adds support for dropped-in configuration files in /etc/sssd/conf.d/ - Adding these files will ensure all SSSD configuration files are obtained. Closes #890. Signed-off-by: Justin Stephenson <jstephen@redhat.com>
* [global] make class method instance names consistentBryn M. Reeves2016-10-268-19/+19
| | | | | | | | A method decorated with @classmethod receives an instance of the class object (rather than an instance of the class) in its first argument - use 'cls' in these functions rather than 'self'. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [openstack_sahara] capture all sahara* sudoers filesLuigi Toscano2016-10-251-1/+1
| | | | | | It seems that nowadays the file is /etc/sudoers.d/sahara-rootwrap. Closes: #848.
* [systemd] Collect detailed runtime info on each unitBryan Quigley2016-10-251-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | This collects status from all units, which replaces the need to run "systemctl list-units --all" seperately and provides much richer information for every unit - including a bit of log output, process tree, memory usage, and more. It also runs show for all services which should capture the majority of Limits and other information we generally look for. systemd-analyze - provides boot performance info systemctl status - shows system status and nice process tree We also now ls /lib/systemd recursively as some folder names below it have changed. Lastly, we make sure it runs on Ubuntu/Debian as we store systemd in /lib not /usr/lib. Closes: #831. Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [juju] Get Ready for 2.0 and make it less likely to get too muchBryan Quigley2016-10-251-20/+26
| | | | | | | | | | | | | | | | | | | | | | | | | The package name juju is no longer the only way to install juju, so replace with checking /usr/bin/juju|juju-run. Juju-run is on machines deployed with juju. Logging still occurs there in same pattern - /var/log/juju/machinename.log. Juju "Local" logs were never seen in the wild and has been removed. Check that /var/log/juju/ exists before trying to access it. Check that /usr/bin/juju exists before trying to run it. Check that Juju's mongodb exists before trying to parse it. /var/lib/juju/ contains a database that can grow to many GB, let's not include that by default. Also explicitly specified juju formats tabular and json (in 2.0 tabular is the default and in 1.25 json is). And we also now explicitly capture the version. Fix up contrainsts and get-config/get so it works for both versions. Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com>
* [dracut] add new pluginBryn M. Reeves2016-10-211-0/+37
| | | | | | | | | Add a new plugin to collect configuration and state data from the dracut initramfs generator. Closes: #705. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [sosreport] handle SIGTERM correctly in plugin setup()/collect() phasesamitg.b14@gmail.com2016-10-211-23/+19
| | | | | | | | Added "self.exit_process" statements to stop process with SIGTERM signal. Added "self.handle_exception()" function to handle plugin exception and SIGTERM signal. Closes:#689
* [insights] Update some verbiage and collect all log files.Richard Brantley2016-10-211-5/+9
| | | | Closes: #881.
* [docs] document use of --config with in-tree buildsBryn M. Reeves2016-10-181-4/+24
|
* Mention python3 and update Ubuntu note.Bryan Quigley2016-10-171-1/+2
| | | | | | | | | | | | | Mention how to run sosreport on a system with only python3. Update the first release sosreport got into Ubuntu to a supported LTS which should be more recognizable to people. Fixes: #830 Signed-off-by: Bryan Quigley <bryan.quigley@canonical.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* replace cluster plugin by dlm in sosreport helpPavel Moravec2016-10-171-2/+2
| | | | | | | | | | As a relict from #587 (cluster split), sosreport --help should refer to dlm plugin instead of cluster in -o and -k example. Resolves: #874. Signed-off-by: Pavel Moravec <pmoravec@redhat.com> Signed-off-by: Adam Stokes <battlemidget@users.noreply.github.com>
* [networking] plugin tracebacks when net-tools not installedPavel Moravec2016-09-091-1/+1
| | | | | | | | | | | | | Move netstat_pkg assignment grepping for net-tools version into try block. It can be put to the existing block that will catch the exception - since if net-tools isn't present, we fallback to the default option of netstat command (if the command is ever present). Resolves: #876. Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [reporting] replace six.PY2 to six.PY3 testPavel Moravec2016-09-091-3/+3
| | | | | | | | | | Older versions of python-six package dont have six.PY2 variable. Replace it by six.PY3 Resolves: #875. Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [npm] new plugin: get project modules and globally installed modulesPavel Moravec2016-09-021-0/+68
| | | | | | | | | | | New module for package manager npm for Node.js. The plugin collects list of globally installed modules and project modules. Resolves: #846. Signed-off-by: Tomas Tomecek <ttomecek@redhat.com> Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [nodejs] new plugin: get runtime infoPavel Moravec2016-09-021-0/+43
| | | | | | | Resolves: #847. Signed-off-by: Tomas Tomecek <ttomecek@redhat.com> Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [docker] Gather more data and expand plugin optionsJake Hunsaker2016-08-311-17/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes the behavior of the docker plugin and collects a bit more data than before. In addition, it also adds 'docker-engine' to the package lists as that is the current name of the community release of Docker. Both 'docker version' and 'docker ps -a' output is now collected. Output from 'docker version' help to validate a given docker binary and 'ps -a' output is collected to see all terminated, but still existing, containers present on the system. This is kept separate from normal 'ps' output to keep it simple to only quickly look at running containers. The output of 'docker inspect' is now collected as well, by default only for running containers. Further, plugin options have been changed: - 'logs' will now capture 'docker logs' output for all running containers. Previously this was provided by the 'all' option which would also always include terminated containers. - 'all' will now cause the plugin to also include terminated containers for 'inspect' and 'logs' output. Note that by itself this option no longer captures any additional information. Signed-off-by: Jake Hunsaker <jhunsake@redhat.com>
* [omsa] add omreport storage controllerPavel Moravec2016-08-191-1/+1
| | | | | | | | | | | Collect "omreport storage controller". Do not collect "omreport chassis summary" as it is invalid command. Resolves: #868. Signed-off-by: Charles Rose <charles_rose@dell.com> Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [atomichost] fix collection of 'docker info' outputBryn M. Reeves2016-08-191-3/+6
| | | | | | | | | | | | | | | The loop that drives collection of 'docker info' output for each discovered Image ID incorrectly attempted to call strip() on the dictionary returned by get_command_output(). Since the docker command does not produce leading or trailing whitespace this is redundant anyway: discard the other entries in the command dictionary and just split the result into distinct lines. Resolves: #853. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [grub2] grub2-mkconfig loads ext4 and brctl kernel modulesPavel Moravec2016-08-191-4/+7
| | | | | | | | | Call grub2-mkconfig with GRUB_DISABLE_OS_PROBER=true to prevent explicit loading of the kernel modules. Resolves: #822 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [general] call a command with specified environmentPavel Moravec2016-08-192-14/+23
| | | | | | | | | | Enable calling commands via add_cmd_output with the possibility to update environmental variables. New option 'env' added (None or a dict). When set, it appends to or overrides os.environ used when calling the command from add_cmd_output. Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [ceph] skip collecting of all keyring and bindpass filesPavel Moravec2016-08-051-4/+5
| | | | | | | | | | | | | | Do not collect any keyring files - expand the add_forbidden_path regular expressions accordingly to cover there filenames like: /var/lib/ceph/tmp/keyring.mon.magna055 Do not either collect any /etc/ceph/*bindpass* that can store LDAP bind passwords. Resolves: #861 Signed-off-by: Pavel Moravec <pmoravec@redhat.com>
* [monit] fix add_copy_spec() argumentsBryn M. Reeves2016-07-151-1/+2
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [atomichost] improve 'atomic info' collection loopBryn M. Reeves2016-07-131-5/+6
| | | | | | | | Remove redundant code from the loop that drives 'atomic info' collection and make the bracketing and indenting style match other plugins. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [atomichost] replace custom logic with Policy.in_container()Bryn M. Reeves2016-07-131-4/+1
| | | | | | | Don't reinvent the wheel by inspecting file system paths: rely on the existing policy class in_container() method. Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [atomichost] fix option list styleBryn M. Reeves2016-07-131-2/+3
| | | | Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
* [networking] single quote innermost strings in nmcli commandsBryn M. Reeves2016-07-081-2/+13
| | | | | | | | | | | | | | | | Network Manager names may contain embedded quotes (" and '). These will cause an exception in shlex.split() if the quotes are unbalanced. This may happen with names like: "Foobar's Wireless Network". Although the problen will occur for both single and double quote characters the former is considerably more likely in object names since it is syntactically valid in many human languages. Reverse the normal sos quoting convention here and place double quotes around the innermost quoted string. RHBZ# 1353992 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>