diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ef784c7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/sos-3.7.tar.gz +SOURCES/sos-audit-0.3.tgz diff --git a/.sos.metadata b/.sos.metadata new file mode 100644 index 0000000..9abd7a0 --- /dev/null +++ b/.sos.metadata @@ -0,0 +1,2 @@ +38aa7609e7545eddf709db60fa1523432b268e13 SOURCES/sos-3.7.tar.gz +9d478b9f0085da9178af103078bbf2fd77b0175a SOURCES/sos-audit-0.3.tgz diff --git a/SOURCES/sos-bz1687954-buildah-index-out-of-range.patch b/SOURCES/sos-bz1687954-buildah-index-out-of-range.patch new file mode 100644 index 0000000..5491201 --- /dev/null +++ b/SOURCES/sos-bz1687954-buildah-index-out-of-range.patch @@ -0,0 +1,31 @@ +From 0100bd129e8fc809cc5b0258f6c0c7c64ad084ab Mon Sep 17 00:00:00 2001 +From: Pavel Moravec <pmoravec@redhat.com> +Date: Mon, 15 Apr 2019 11:50:55 +0200 +Subject: [PATCH] [buildah] parse container list properly even for scratch ones + +Scratch containers dont have id, therefore we shall get container name +as the latest string on each line instead of 5th. + +Resolves: #1647 + +Signed-off-by: Pavel Moravec <pmoravec@redhat.com> +--- + sos/plugins/buildah.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sos/plugins/buildah.py b/sos/plugins/buildah.py +index c6c57553..fd8653eb 100644 +--- a/sos/plugins/buildah.py ++++ b/sos/plugins/buildah.py +@@ -47,7 +47,7 @@ class Buildah(Plugin, RedHatPlugin): + if containahs['is_wicked_pissah']: + for containah in containahs['auutput'].splitlines(): + # obligatory Tom Brady +- goat = containah.split()[4] ++ goat = containah.split()[-1] + self.add_cmd_output('buildah inspect -t container %s' % goat) + + pitchez = make_chowdah('buildah images -n') +-- +2.17.2 + diff --git a/SOURCES/sos-bz1695583-postgres-mysql-incorrect-defaults.patch b/SOURCES/sos-bz1695583-postgres-mysql-incorrect-defaults.patch new file mode 100644 index 0000000..a5d1036 --- /dev/null +++ b/SOURCES/sos-bz1695583-postgres-mysql-incorrect-defaults.patch @@ -0,0 +1,122 @@ +From c71b41547442d23daf5c3bf88450151d13903214 Mon Sep 17 00:00:00 2001 +From: Pavel Moravec <pmoravec@redhat.com> +Date: Thu, 4 Apr 2019 13:54:18 +0200 +Subject: [PATCH] [maas,mysql,npm,pacemaker,postgresql] fix plugopts data types + +With new enforcement of implicit data type for plugin options, the +plugopts must have proper data types of default values and plugins must work +with them accordingly (in tests or so). + +Resolves: #1635 + +Signed-off-by: Pavel Moravec <pmoravec@redhat.com> +--- + sos/plugins/maas.py | 6 +++--- + sos/plugins/mysql.py | 2 +- + sos/plugins/npm.py | 4 ++-- + sos/plugins/pacemaker.py | 4 ++-- + sos/plugins/postgresql.py | 6 +++--- + 5 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/sos/plugins/maas.py b/sos/plugins/maas.py +index f8305406..ea038e86 100644 +--- a/sos/plugins/maas.py ++++ b/sos/plugins/maas.py +@@ -21,10 +21,10 @@ class Maas(Plugin, UbuntuPlugin): + + option_list = [ + ('profile-name', +- 'The name with which you will later refer to this remote', '', False), +- ('url', 'The URL of the remote API', '', False), ++ 'The name with which you will later refer to this remote', '', ''), ++ ('url', 'The URL of the remote API', '', ''), + ('credentials', +- 'The credentials, also known as the API key', '', False) ++ 'The credentials, also known as the API key', '', '') + ] + + def _has_login_options(self): +diff --git a/sos/plugins/mysql.py b/sos/plugins/mysql.py +index 49bc4168..411d90b8 100644 +--- a/sos/plugins/mysql.py ++++ b/sos/plugins/mysql.py +@@ -22,7 +22,7 @@ class Mysql(Plugin): + + option_list = [ + ("dbuser", "username for database dumps", "", "mysql"), +- ("dbpass", "password for database dumps" + pw_warn_text, "", False), ++ ("dbpass", "password for database dumps" + pw_warn_text, "", ""), + ("dbdump", "collect a database dump", "", False) + ] + +diff --git a/sos/plugins/npm.py b/sos/plugins/npm.py +index 0fc95801..ca00d0c0 100644 +--- a/sos/plugins/npm.py ++++ b/sos/plugins/npm.py +@@ -25,7 +25,7 @@ class Npm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, SuSEPlugin): + option_list = [("project_path", + 'List npm modules of a project specified by path', + 'fast', +- 0)] ++ '')] + + # in Fedora, Debian, Ubuntu and Suse the package is called npm + packages = ('npm',) +@@ -79,7 +79,7 @@ class Npm(Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin, SuSEPlugin): + self.add_string_as_file(json.dumps(output), outfn) + + def setup(self): +- if self.get_option("project_path") != 0: ++ if self.get_option("project_path"): + project_path = os.path.abspath(os.path.expanduser( + self.get_option("project_path"))) + self._get_npm_output("npm ls --json", "npm_ls_project", +diff --git a/sos/plugins/pacemaker.py b/sos/plugins/pacemaker.py +index a1b64ea5..940389ee 100644 +--- a/sos/plugins/pacemaker.py ++++ b/sos/plugins/pacemaker.py +@@ -25,7 +25,7 @@ class Pacemaker(Plugin): + ) + + option_list = [ +- ("crm_from", "specify the start time for crm_report", "fast", False), ++ ("crm_from", "specify the start time for crm_report", "fast", ''), + ("crm_scrub", "enable password scrubbing for crm_report", "", True), + ] + +@@ -87,7 +87,7 @@ class Pacemaker(Plugin): + # time in order to collect data. + crm_from = (datetime.today() - + timedelta(hours=72)).strftime("%Y-%m-%d %H:%m:%S") +- if self.get_option("crm_from") is not False: ++ if self.get_option("crm_from"): + if re.match(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}', + str(self.get_option("crm_from"))): + crm_from = self.get_option("crm_from") +diff --git a/sos/plugins/postgresql.py b/sos/plugins/postgresql.py +index 1698b62f..a04dca8f 100644 +--- a/sos/plugins/postgresql.py ++++ b/sos/plugins/postgresql.py +@@ -31,7 +31,7 @@ class PostgreSQL(Plugin): + option_list = [ + ('pghome', 'PostgreSQL server home directory.', '', '/var/lib/pgsql'), + ('username', 'username for pg_dump', '', 'postgres'), +- ('password', 'password for pg_dump' + password_warn_text, '', False), ++ ('password', 'password for pg_dump' + password_warn_text, '', ''), + ('dbname', 'database name to dump for pg_dump', '', ''), + ('dbhost', 'database hostname/IP (do not use unix socket)', '', ''), + ('dbport', 'database server port number', '', '5432') +@@ -43,8 +43,8 @@ class PostgreSQL(Plugin): + # We're only modifying this for ourself and our children so + # there is no need to save and restore environment variables if + # the user decided to pass the password on the command line. +- if self.get_option("password") is not False: +- os.environ["PGPASSWORD"] = str(self.get_option("password")) ++ if self.get_option("password"): ++ os.environ["PGPASSWORD"] = self.get_option("password") + + if self.get_option("dbhost"): + cmd = "pg_dump -U %s -h %s -p %s -w -F t %s" % ( +-- +2.17.2 + diff --git a/SOURCES/sos-bz1700780-vdsm-plugin.patch b/SOURCES/sos-bz1700780-vdsm-plugin.patch new file mode 100644 index 0000000..b1b9e13 --- /dev/null +++ b/SOURCES/sos-bz1700780-vdsm-plugin.patch @@ -0,0 +1,171 @@ +From 0618db904dadb05fde70c181a5940989ac127fe2 Mon Sep 17 00:00:00 2001 +From: Irit Goihman <igoihman@redhat.com> +Date: Thu, 1 Feb 2018 16:44:32 +0200 +Subject: [PATCH] [plugins] add vdsm plugin + +Add a plugin for vdsm + +Resolves: #1205 + +Signed-off-by: Irit Goihman <igoihman@redhat.com> +Signed-off-by: Bryn M. Reeves <bmr@redhat.com> +--- + sos/plugins/vdsm.py | 146 ++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 146 insertions(+) + create mode 100644 sos/plugins/vdsm.py + +diff --git a/sos/plugins/vdsm.py b/sos/plugins/vdsm.py +new file mode 100644 +index 00000000..c648abbf +--- /dev/null ++++ b/sos/plugins/vdsm.py +@@ -0,0 +1,146 @@ ++# Copyright (C) 2018 Red Hat, Inc. ++ ++# This file is part of the sos project: https://github.com/sosreport/sos ++# ++# This copyrighted material is made available to anyone wishing to use, ++# modify, copy, or redistribute it subject to the terms and conditions of ++# version 2 of the GNU General Public License. ++# ++# See the LICENSE file in the source distribution for further information. ++ ++from sos.plugins import Plugin, RedHatPlugin ++ ++import glob ++import json ++import re ++ ++ ++# This configuration is based on vdsm.storage.lvm.LVM_CONF_TEMPLATE. ++# ++# locking_type is set to 0 in order to match lvm sos commands. With this ++# configuration we don't take any locks, so we will never block because ++# there is a stuck lvm command. ++# locking_type=0 ++# ++# use_lvmetad is set to 0 in order not to show cached, old lvm metadata. ++# use_lvmetad=0 ++# ++# preferred_names and filter config values are set to capture Vdsm devices. ++# preferred_names=[ '^/dev/mapper/' ] ++# filter=[ 'a|^/dev/mapper/.*|', 'r|.*|' ] ++LVM_CONFIG = """ ++global { ++ locking_type=0 ++ use_lvmetad=0 ++} ++devices { ++ preferred_names=["^/dev/mapper/"] ++ ignore_suspended_devices=1 ++ write_cache_state=0 ++ disable_after_error_count=3 ++ filter=["a|^/dev/mapper/.*|", "r|.*|"] ++} ++""" ++LVM_CONFIG = re.sub(r"\s+", " ", LVM_CONFIG).strip() ++ ++ ++class Vdsm(Plugin, RedHatPlugin): ++ """vdsm Plugin""" ++ ++ packages = ( ++ 'vdsm', ++ 'vdsm-client', ++ ) ++ ++ plugin_name = 'vdsm' ++ ++ def setup(self): ++ self.add_forbidden_path('/etc/pki/vdsm/keys/*') ++ self.add_forbidden_path('/etc/pki/vdsm/libvirt-spice/*-key.*') ++ self.add_forbidden_path('/etc/pki/libvirt/private/*') ++ ++ self.add_cmd_output('service vdsmd status') ++ ++ self.add_copy_spec([ ++ '/tmp/vds_installer*', ++ '/tmp/vds_bootstrap*', ++ '/etc/vdsm/*' ++ ]) ++ ++ limit = self.get_option('log_size') ++ ++ self.add_copy_spec('/var/log/vdsm/*', sizelimit=limit) ++ ++ self._add_vdsm_forbidden_paths() ++ self.add_copy_spec([ ++ '/var/run/vdsm/*', ++ '/usr/libexec/vdsm/hooks', ++ '/var/lib/vdsm' ++ ]) ++ ++ qemu_pids = self.get_process_pids('qemu-kvm') ++ if qemu_pids: ++ files = ["cmdline", "status", "mountstats"] ++ self.add_copy_spec([ ++ "/proc/%s/%s" % (pid, name) ++ for pid in qemu_pids ++ for name in files ++ ]) ++ self.add_cmd_output([ ++ "ls -ldZ /etc/vdsm", ++ "su vdsm -s sh -c 'tree -l /rhev/data-center'", ++ "su vdsm -s sh -c 'ls -lR /rhev/data-center'" ++ ]) ++ self.add_cmd_output([ ++ "lvm vgs -v -o +tags --config \'%s\'" % LVM_CONFIG, ++ "lvm lvs -v -o +tags --config \'%s\'" % LVM_CONFIG, ++ "lvm pvs -v -o +all --config \'%s\'" % LVM_CONFIG ++ ]) ++ ++ self.add_cmd_output([ ++ 'vdsm-client Host getCapabilities', ++ 'vdsm-client Host getStats', ++ 'vdsm-client Host getAllVmStats', ++ 'vdsm-client Host getVMFullList', ++ 'vdsm-client Host getDeviceList', ++ 'vdsm-client Host hostdevListByCaps', ++ 'vdsm-client Host getAllTasksInfo', ++ 'vdsm-client Host getAllTasksStatuses' ++ ]) ++ ++ try: ++ res = self.call_ext_prog( ++ 'vdsm-client Host getConnectedStoragePools' ++ ) ++ if res['status'] == 0: ++ pools = json.loads(res['output']) ++ for pool in pools: ++ self.add_cmd_output( ++ 'vdsm-client StoragePool getSpmStatus' ++ ' storagepoolID={}'.format(pool) ++ ) ++ except ValueError as e: ++ self._log_error( ++ 'vdsm-client Host getConnectedStoragePools: %s' % (e) ++ ) ++ ++ try: ++ res = self.call_ext_prog('vdsm-client Host getStorageDomains') ++ if res['status'] == 0: ++ sd_uuids = json.loads(res['output']) ++ dump_volume_chains_cmd = 'vdsm-tool dump-volume-chains %s' ++ self.add_cmd_output([ ++ dump_volume_chains_cmd % uuid for uuid in sd_uuids ++ ]) ++ except ValueError as e: ++ self._log_error( ++ 'vdsm-client Host getStorageDomains: %s' % (e) ++ ) ++ ++ def _add_vdsm_forbidden_paths(self): ++ """Add confidential sysprep vfds under /var/run/vdsm to ++ forbidden paths """ ++ ++ for file_path in glob.glob("/var/run/vdsm/*"): ++ if file_path.endswith(('.vfd', '/isoUploader', '/storage')): ++ self.add_forbidden_path(file_path) +-- +2.17.2 + diff --git a/SOURCES/sos-bz1702806-openstack_instack-ansible-log.patch b/SOURCES/sos-bz1702806-openstack_instack-ansible-log.patch new file mode 100644 index 0000000..80a0bbf --- /dev/null +++ b/SOURCES/sos-bz1702806-openstack_instack-ansible-log.patch @@ -0,0 +1,43 @@ +From 1b9c2032149488a2372d188a8ed3251e364f41cf Mon Sep 17 00:00:00 2001 +From: Emilien Macchi <emilien@redhat.com> +Date: Wed, 24 Apr 2019 20:54:05 -0400 +Subject: [PATCH] [openstack_instack] add ansible.log + +Collect /var/lib/mistral/config-download-latest/ansible.log which is an +important log to be able to debug issues with Ansible playbooks. + +/var/lib/mistral/config-download-latest is a directory that exists +anyway on the undercloud and is the place where the ansible logs is +stored. + +Note: we don't want to collect the whole /var/lib/mistral because it +contains sensitive informations like username/passwords/endpoints. + +rhbz#1702806 +rhbz#1702802 + +Resolves: #1661 + +Signed-off-by: Emilien Macchi <emilien@redhat.com> +Signed-off-by: Bryn M. Reeves <bmr@redhat.com> +--- + sos/plugins/openstack_instack.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/sos/plugins/openstack_instack.py b/sos/plugins/openstack_instack.py +index e3470f5a..15e6c384 100644 +--- a/sos/plugins/openstack_instack.py ++++ b/sos/plugins/openstack_instack.py +@@ -22,7 +22,8 @@ NON_CONTAINERIZED_DEPLOY = [ + CONTAINERIZED_DEPLOY = [ + '/var/log/heat-launcher/', + '/home/stack/install-undercloud.log', +- '/home/stack/undercloud-install-*.tar.bzip2' ++ '/home/stack/undercloud-install-*.tar.bzip2', ++ '/var/lib/mistral/config-download-latest/ansible.log' + ] + + +-- +2.17.2 + diff --git a/SOURCES/sos-bz1719884-pcp-pmlogger-no-limit.patch b/SOURCES/sos-bz1719884-pcp-pmlogger-no-limit.patch new file mode 100644 index 0000000..8c12a1b --- /dev/null +++ b/SOURCES/sos-bz1719884-pcp-pmlogger-no-limit.patch @@ -0,0 +1,30 @@ +From 380737d0bf4021434db4d5e479f0b8a2aece6ec9 Mon Sep 17 00:00:00 2001 +From: Pavel Moravec <pmoravec@redhat.com> +Date: Thu, 4 Apr 2019 10:43:24 +0200 +Subject: [PATCH] [pcp] collect pmlogger without a sizelimit + +sizelimit=None defaults to --log-size, use sizelimit=0 instead + +Resolves: #1632 + +Signed-off-by: Pavel Moravec <pmoravec@redhat.com> +--- + sos/plugins/pcp.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sos/plugins/pcp.py b/sos/plugins/pcp.py +index da7158a6..da2a6611 100644 +--- a/sos/plugins/pcp.py ++++ b/sos/plugins/pcp.py +@@ -130,7 +130,7 @@ class Pcp(Plugin, RedHatPlugin, DebianPlugin): + pmlogger_ls = self.get_cmd_output_now("ls -t1 %s" % path) + if pmlogger_ls: + for line in open(pmlogger_ls).read().splitlines(): +- self.add_copy_spec(line, sizelimit=None) ++ self.add_copy_spec(line, sizelimit=0) + files_collected = files_collected + 1 + if self.countlimit and files_collected == self.countlimit: + break +-- +2.17.2 + diff --git a/SOURCES/sos-bz1719885-plugin-vs-command-timeouts.patch b/SOURCES/sos-bz1719885-plugin-vs-command-timeouts.patch new file mode 100644 index 0000000..00e896e --- /dev/null +++ b/SOURCES/sos-bz1719885-plugin-vs-command-timeouts.patch @@ -0,0 +1,45 @@ +From 7c8c45dad3481cfaae3d3af9c188218aa14a3a6a Mon Sep 17 00:00:00 2001 +From: Pavel Moravec <pmoravec@redhat.com> +Date: Tue, 9 Apr 2019 09:50:34 +0200 +Subject: [PATCH] [foreman,satellite] increase plugin default timeouts + +Those two plugins call commands with bigger timeouts than the default +plugin timeout is. That can unexpectedly kill the plugin execution when +the commands execution took longer than the plugin timeout (but within +cmd timeout). + +Resolves: #1642 + +Signed-off-by: Pavel Moravec <pmoravec@redhat.com> +--- + sos/plugins/foreman.py | 1 + + sos/plugins/satellite.py | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/sos/plugins/foreman.py b/sos/plugins/foreman.py +index a1e937f3..8bcd26bd 100644 +--- a/sos/plugins/foreman.py ++++ b/sos/plugins/foreman.py +@@ -19,6 +19,7 @@ class Foreman(Plugin): + """ + + plugin_name = 'foreman' ++ plugin_timeout = 1800 + profiles = ('sysmgmt',) + packages = ('foreman', 'foreman-proxy') + option_list = [ +diff --git a/sos/plugins/satellite.py b/sos/plugins/satellite.py +index c50c2ec7..83733076 100644 +--- a/sos/plugins/satellite.py ++++ b/sos/plugins/satellite.py +@@ -14,6 +14,7 @@ class Satellite(Plugin, RedHatPlugin): + """ + + plugin_name = 'satellite' ++ plugin_timeout = 1200 + profiles = ('sysmgmt',) + verify_packages = ('spacewalk.*',) + satellite = False +-- +2.17.2 + diff --git a/SOURCES/sos-bz1719886-sos-conf-disabled-plugins-manpages.patch b/SOURCES/sos-bz1719886-sos-conf-disabled-plugins-manpages.patch new file mode 100644 index 0000000..bed3bde --- /dev/null +++ b/SOURCES/sos-bz1719886-sos-conf-disabled-plugins-manpages.patch @@ -0,0 +1,110 @@ +From 4cb21e2c16b55e7506a3cefd9148ba4bf49dbce1 Mon Sep 17 00:00:00 2001 +From: Pavel Moravec <pmoravec@redhat.com> +Date: Wed, 17 Apr 2019 13:17:24 +0200 +Subject: [PATCH] [sosreport] update sos.conf manpages by [general] section + description + +Since PR #1530, sosreport supports all command line options. Man pages +should document the enhancement. + +Resolves: #1652 + +Signed-off-by: Pavel Moravec <pmoravec@redhat.com> +--- + man/en/sos.conf.5 | 38 ++++++++++++++++++++++++++++++++++---- + 1 file changed, 34 insertions(+), 4 deletions(-) + +diff --git a/man/en/sos.conf.5 b/man/en/sos.conf.5 +index b40a48e1..ad18d5f2 100644 +--- a/man/en/sos.conf.5 ++++ b/man/en/sos.conf.5 +@@ -6,19 +6,49 @@ sos.conf \- sosreport configuration + sosreport uses a configuration file at /etc/sos.conf. + .SH PARAMETERS + .sp +-There are two sections in the sosreport configuration file: +-plugins, and tunables. Options are set using 'ini'-style +-\fBname = value\fP pairs. ++There are three sections in the sosreport configuration file: ++general, plugins and tunables. Options are set using 'ini'-style ++\fBname = value\fP pairs. Disabling/enabling a boolean option ++is done the same way like on command line (e.g. process.lsof=off). + + Some options accept a comma separated list of values. + ++Using options that dont expect a value (like all-logs or no-report) ++will result in enabling those options, regardless of value set. ++ ++Sections are parsed in the ordering: ++.br ++- \fB[general]\fP ++.br ++- \fB[plugins]\fP (disable) ++.br ++- \fB[plugins]\fP (enable) ++.br ++- \fB[tunables]\fP ++ ++.TP ++\fB[general]\fP ++<option> Sets (long) option value. Short options (i.e. z=auto) ++ are not supported. + .TP + \fB[plugins]\fP +-disable Comma separated list of plugins to disable. ++disable Comma separated list of plugins to disable. ++.br ++enable Comma separated list of plugins to enable. + .TP + \fB[tunables]\fP + plugin.option Alter available options for defined plugin. + .SH EXAMPLES ++To use quiet and batch mode with 10 threads: ++.LP ++[general] ++.br ++batch=yes ++.br ++build=true ++.br ++threads=10 ++.sp + To disable the 'general' and 'filesys' plugins: + .LP + [plugins] +-- +2.17.2 + +From 84822ff1bbe2d5543daa8059b0a2270c88e473d6 Mon Sep 17 00:00:00 2001 +From: Pavel Moravec <pmoravec@redhat.com> +Date: Wed, 17 Apr 2019 11:51:09 +0200 +Subject: [PATCH] [sosreport] initialize disabled plugins properly when parsing + sos.conf + +opts.noplugins is referred when parsing "tunables" section, so +the variable must be set to empty list every time. + +Resolves: #1651 + +Signed-off-by: Pavel Moravec <pmoravec@redhat.com> +--- + sos/__init__.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sos/__init__.py b/sos/__init__.py +index dfc7ed5f..ed59025a 100644 +--- a/sos/__init__.py ++++ b/sos/__init__.py +@@ -250,8 +250,8 @@ class SoSOptions(object): + optlist.extend(SoSOptions._opt_to_args(opt, val)) + opts._merge_opts(argparser.parse_args(optlist), is_default) + ++ opts.noplugins = [] + if config.has_option("plugins", "disable"): +- opts.noplugins = [] + opts.noplugins.extend([plugin.strip() for plugin in + config.get("plugins", "disable").split(',')]) + +-- +2.17.2 + diff --git a/SOURCES/sos-bz1719887-katello-qpid-certificate.patch b/SOURCES/sos-bz1719887-katello-qpid-certificate.patch new file mode 100644 index 0000000..3ca559a --- /dev/null +++ b/SOURCES/sos-bz1719887-katello-qpid-certificate.patch @@ -0,0 +1,48 @@ +From 166f712eb447f54f0e2c5396ea25f5bc11e3f519 Mon Sep 17 00:00:00 2001 +From: Pavel Moravec <pmoravec@redhat.com> +Date: Fri, 17 May 2019 15:55:05 +0200 +Subject: [PATCH] [katello] support both locations of qpid SSL certs + +Newer katello versions deploy certs for qpid to +/etc/pki/pulp/qpid/client.crt certs instead of +/etc/pki/katello/qpid_client_striped.crt . + +Sosreport should use either of the location that exists, to successfully +run few qpid-stat commands. + +Resolves: #1680 + +Signed-off-by: Pavel Moravec <pmoravec@redhat.com> +--- + sos/plugins/katello.py | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/sos/plugins/katello.py b/sos/plugins/katello.py +index 0794fb4c..1ea52da8 100644 +--- a/sos/plugins/katello.py ++++ b/sos/plugins/katello.py +@@ -10,6 +10,7 @@ + + from sos.plugins import Plugin, RedHatPlugin + from pipes import quote ++import os.path + + + class Katello(Plugin, RedHatPlugin): +@@ -24,7 +25,12 @@ class Katello(Plugin, RedHatPlugin): + "/var/log/httpd/katello-reverse-proxy_error_ssl.log*" + ]) + +- cert = "/etc/pki/katello/qpid_client_striped.crt" ++ # certificate file location relies on katello version, it can be either ++ # /etc/pki/katello/qpid_client_striped.crt (for older versions) or ++ # /etc/pki/pulp/qpid/client.crt (for newer versions) ++ cert = "/etc/pki/pulp/qpid/client.crt" ++ if not os.path.isfile(cert): ++ cert = "/etc/pki/katello/qpid_client_striped.crt" + self.add_cmd_output([ + "qpid-stat -%s --ssl-certificate=%s -b amqps://localhost:5671" % + (opt, cert) for opt in "quc" +-- +2.17.2 + diff --git a/SPECS/sos.spec b/SPECS/sos.spec new file mode 100644 index 0000000..bd05df5 --- /dev/null +++ b/SPECS/sos.spec @@ -0,0 +1,716 @@ +%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} + +%global auditversion 0.3 + +Summary: A set of tools to gather troubleshooting information from a system +Name: sos +Version: 3.7 +Release: 1%{?dist} +Group: Applications/System +Source0: https://github.com/sosreport/sos/archive/%{version}/sos-%{version}.tar.gz +Source1: sos-audit-%{auditversion}.tgz +License: GPLv2+ +BuildArch: noarch +Url: http://github.com/sosreport/sos +BuildRequires: python3-devel +BuildRequires: python3-six +BuildRequires: gettext +Requires: libxml2-python3 +Requires: bzip2 +Requires: xz +Requires: python3-six +Conflicts: vdsm < 4.40 +Patch1: sos-bz1687954-buildah-index-out-of-range.patch +Patch2: sos-bz1695583-postgres-mysql-incorrect-defaults.patch +Patch3: sos-bz1700780-vdsm-plugin.patch +Patch4: sos-bz1702806-openstack_instack-ansible-log.patch +Patch5: sos-bz1719884-pcp-pmlogger-no-limit.patch +Patch6: sos-bz1719885-plugin-vs-command-timeouts.patch +Patch7: sos-bz1719886-sos-conf-disabled-plugins-manpages.patch +Patch8: sos-bz1719887-katello-qpid-certificate.patch + +%description +Sos is a set of tools that gathers information about system +hardware and configuration. The information can then be used for +diagnostic purposes and debugging. Sos is commonly used to help +support technicians and developers. + +%prep +%setup -qn %{name}-%{version} +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%setup -T -D -a1 -q + +%build +%py3_build + +%install +%py3_install '--install-scripts=%{_sbindir}' + +install -Dm644 %{name}.conf %{buildroot}%{_sysconfdir}/%{name}.conf + +%find_lang %{name} || echo 0 + +cd %{name}-audit-%{auditversion} +DESTDIR=%{buildroot} ./install.sh +cd .. + +%files -f %{name}.lang +%{_sbindir}/sosreport +%{python3_sitelib}/* +%{_mandir}/man1/sosreport.1.gz +%{_mandir}/man5/sos.conf.5.gz +%doc AUTHORS README.md +%license LICENSE +%config(noreplace) %{_sysconfdir}/sos.conf + +%package audit +Summary: Audit use of some commands for support purposes +License: GPLv2+ +Group: Application/System + +%description audit + +Sos-audit provides configuration files for the Linux Auditing System +to track the use of some commands capable of changing the configuration +of the system. Currently storage and filesystem commands are audited. + +%post audit +%{_sbindir}/sos-audit.sh + +%files audit +%defattr(755,root,root,-) +%{_sbindir}/sos-audit.sh +%defattr(644,root,root,-) +%config(noreplace) %{_sysconfdir}/sos/sos-audit.conf +%defattr(444,root,root,-) +%{_prefix}/lib/sos/audit/* +%{_mandir}/man5/sos-audit.conf.5.gz +%{_mandir}/man8/sos-audit.sh.8.gz +%ghost /etc/audit/rules.d/40-sos-filesystem.rules +%ghost /etc/audit/rules.d/40-sos-storage.rules + +%changelog +* Wed Jun 12 2019 Pavel Moravec <pmoravec@redhat.com> = 3.7-1 +- Rebase on upstream 3.7 + Resolves: bz1684400 +- [buildah] parse container list properly even for scratch ones + Resolves: bz1687954 +- [PATCH] [maas,mysql,npm,pacemaker,postgresql] fix plugopts data types + Resolves: bz1695583 +- [plugins] add vdsm plugin + Resolves: bz1700780 +- [openstack_instack] add ansible.log + Resolves: bz1702806 +- [pcp] collect pmlogger without a sizelimit + Resolves: bz1719884 +- [foreman,satellite] increase plugin default timeouts + Resolves: bz1719885 +- [sosreport] [sosreport] initialize disabled plugins properly + Resolves: bz1719886 +- [katello] support both locations of qpid SSL certs + Resolves: bz1719887 + +* Thu May 02 2019 Pavel Moravec <pmoravec@redhat.com> = 3.6-11 +- [composer] Collect sources info for all sources + Resolves: bz1678418 + +* Mon Jan 21 2019 Pavel Moravec <pmoravec@redhat.com> = 3.6-10 +- [grub2] Enable plugin by grub2-common package also + Resolves: bz1666214 + +* Mon Jan 14 2019 Pavel Moravec <pmoravec@redhat.com> = 3.6-9 +- [block] proper parsing of luks partition on self device + Resolves: bz1638855 +- [networking] Collect NUMA Node of each NIC + Resolves: bz1645085 +- [composer] add missing commas in list in add_copy_spec + Resolves: bz1644062 +- [opendaylight] Update directory for openDaylight logs + Resolves: bz1642377 + +* Fri Dec 13 2018 Pavel Moravec <pmoravec@redhat.com> = 3.6-8 +- [plugins] fix exception when collecting empty strings + Resolves: bz1632607 +- [crypto] collect more configs and commands + Resolves: bz1638492 +- [networking] Replace "brctl: by "bridge" commands + Resolves: bz1644021 +- [firewalld] collect nftables ruleset + Resolves: bz1644022 +- [composer] New plugin for lorax-composer + Resolves: bz1644062 +- [Plugin] clean up Plugin.get_option() + Resolves: bz1655984 +- [ovirt_node] New plugin for oVirt Node + Resolves: bz1658937 +- [podman] Add support for gathering information on podman + Resolves: bz1658938 +- [postgresql] Do not limit dump size + Resolves: bz1658939 + +* Fri Oct 12 2018 Pavel Moravec <pmoravec@redhat.com> = 3.6-7 +- [plugin,archive] fix remaining add_link issues + Resolves: bz1627543 +- [kernel] dont collect some tracing instance files + Resolves: bz1638637 +- [openstack_*] relax enabling of OSP RedHat plugins + Resolves: bz1638638 +- [powerpc] Add support to collect DLPAR and LPM related logs + Resolves: bz1637127 + +* Mon Sep 10 2018 Pavel Moravec <pmoravec@redhat.com> = 3.6-6 +- [archive] fix leading path creation + Resolves: bz1627543 +- [atomic] Define valid preset for RHEL Atomic + Resolves: bz1627546 +- [utilities] wait till AsyncReader p.poll() returns None + Resolves: bz1627544 + +* Thu Aug 23 2018 Pavel Moravec <pmoravec@redhat.com> = 3.6-5 +- [rhv-log-collector-analyzer] Add new plugin for RHV + Resolves: bz1620049 +- [kubernetes|etcd] Support OpenShift 3.10 deployments + Resolves: bz1620048 +- [krb5|gssproxy] add new plugin, collect more krb5 files + Resolves: bz1607630 +- [block] collect luksDump for all encrypted devices + Resolves: bz1599739 +- [archive] Dont copystat /sys and /proc paths + Resolves: bz1619234 + +* Fri Aug 10 2018 Pavel Moravec <pmoravec@redhat.com> = 3.6-4 +- [apparmor,ceph] fix typo in add_forbidden_path + Resolves: bz1614955 +- [policies] sanitize report label + Resolves: bz1614956 +- [policies,process] make lsof execution optional, dont call on RHOSP + Resolves: bz1614957 +- [sosreport] Add mechanism to encrypt final archive + Resolves: bz1614952 +- [archive] fix stat typo + Resolves: bz1614953 +- [rhui] Fix detection of CDS for RHUI3 + Resolves: bz1614954 +- [archive] fix add_string()/do_*_sub() regression + Resolves: bz1599701 + +* Fri Aug 10 2018 Bryn M. Reeves <bmr@redhat.com> = 3.6-3 +- Clean up spec file and sources +- Integrate sos-audit subpackage + Resolves: bz1601084 + +* Tue Jul 10 2018 Pavel Moravec <pmoravec@redhat.com> = 3.6-2 +- Rebase on upstream 3.6 + Resolves: bz1549522 + +* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Nov 14 2017 Sandro Bonazzola <sbonazzo@fedoraproject.org> - 3.5-1 +- Rebase on upstream 3.5 +- Resolves: BZ#1513030 + +* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Mar 29 2017 Sandro Bonazzola <sbonazzo@fedoraproject.org> - 3.4-1 +- Rebase on upstream 3.4 +- Resolves: BZ#1436969 +- Resolves: BZ#1427445 + +* Thu Feb 23 2017 Sandro Bonazzola <sbonazzo@fedoraproject.org> - 3.3-1 +- Rebase on upstream 3.3 +- Resolves: BZ#1411314 + +* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok <mhroncok@redhat.com> - 3.2-5 +- Rebuild for Python 3.6 + +* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-4 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Dec 16 2015 Bryn M. Reeves <bmr@redhat.com> = 3.2-2 +- [sosreport] ensure private temporary directory is removed +- [global] sync rawhide package with upstream +- [ceph] collect /var/lib/ceph and /var/run/ceph +- [sosreport] prepare report in a private subdirectory (CVE-2015-7529) +- [docker] collect journald logs for docker unit +- [sosreport] fix command-line report defaults +- [openstack_neutron] obfuscate server_auth in restproxy.ini +- [memory] collect swapon --show output in bytes +- [sosreport] fix command-line report defaults (proper patch ordering) +- [sapnw] call self methods properly +- [openvswitch] capture the logs, db and OVS bridges details +- [logs] fix reference to missing 'rsyslog_conf' variable +- [sapnw] Add check if saphostctrl is not present, dont use Set +- [Plugin] fix handling of symlinks in non-sysroot environments +- [openstack] Ensure openstack passwords and secrets are obfuscated +- [plugin] pass stderr through _collect_cmd_output +- [kubernetes,plugin] Support running sos inside a container +- [openstack] New Openstack Trove (DBaaS) plugin +- [services] Add more diagnostics to applications +- [openstack_neutron] Obscure passwords and secrets +- [ceph] add calamari and ragos logs and configs +- [iprconfig] enable plugin for ppc64* architectures +- [general] verify --profile contains valid plugins only +- [kernel,mpt,memory] additional kernel-related diagnostics +- [cluster] enable crm_report password scrubbing +- [sosreport] fix command-line report defaults +- [virsh] add new plugin, add listing of qemu +- [sap*,vhostmd] new plugins for SAP +- [cluster] crm_report fails to run because dir already exists +- [foreman] Skip collection of generic resources +- [apache] Added collection of conf.modules.d dir for httpd 2.4 +- [pcp] collect /etc/pcp.conf +- [puppet] adding new plugin for puppet +- [block] Don't use parted human readable output +- [general] Better handling --name and --ticket-number in +- [networking] additional ip, firewall and traffic shaping +- [infiniband] add opensm and infiniband-diags support +- [plugins/rabbitmq] Added cluster_status command output +- [networking] re-add 'ip addr' with a root symlink +- [kimchi] add new plugin +- [iprconfig] add plugin for IBM Power RAID adapters +- [ovirt] Collect engine tunables and domain information. +- [activemq] Honour all_logs and get config on RHEL +- [cluster] Add luci to packages for standalone luci servers +- [hpasm] hpasmcli commands hang under timeout +- [mysql] Collect log file +- [chrony] add chrony plugin +- [openstack_sahara] redact secrets from sahara configuration +- [openstack_sahara] add new openstack_sahara plugin +- [openstack_neutron] neutron configuration and logs files not captured +- [ovirt] remove ovirt-engine setup answer file password leak +- [networking] network plugin fails if NetworkManager is disabled +- [cluster] crm_report fails to run because dir already exists +- [mysql] improve handling of dbuser, dbpass and MYSQL_PWD +- [mysql] test for boolean values in dbuser and dbpass +- [plugin] limit path names to PC_NAME_MAX +- [squid] collect files from /var/log/squid +- [sosreport] log plugin exceptions to a file +- [ctdb] fix collection of /etc/sysconfig/ctdb +- [sosreport] fix silent exception handling +- [sosreport] do not make logging calls after OSError +- [sosreport] catch OSError exceptions in SoSReport.execute() +- [anaconda] make useradd password regex tolerant of whitespace +- [mysql] fix handling of mysql.dbpass option +- [navicli] catch exceptions if stdin is unreadable +- [docs] update man page for new options +- [sosreport] make all utf-8 handling user errors=ignore +- [kpatch] do not attempt to collect data if kpatch is not installed +- [archive] drop support for Zip archives +- [sosreport] fix archive permissions regression +- [tomcat] add support for tomcat7 and default log size limits +- [mysql] obtain database password from the environment +- [corosync] add postprocessing for corosync-objctl output +- [ovirt_hosted_engine] fix exception when force-enabled +- [yum] call rhsm-debug with --no-subscriptions +- [powerpc] allow PowerPC plugin to run on ppc64le +- [package] add Obsoletes for sos-plugins-openstack +- [pam] add pam_tally2 and faillock support +- [postgresql] obtain db password from the environment +- [pcp] add Performance Co-Pilot plugin +- [nfsserver] collect /etc/exports.d +- [sosreport] handle --compression-type correctly +- [anaconda] redact passwords in kickstart configurations +- [haproxy] add new plugin +- [keepalived] add new plugin +- [lvm2] set locking_type=0 when calling lvm commands +- [tuned] add new plugin +- [cgroups] collect /etc/sysconfig/cgred +- [plugins] ensure doc text is always displayed for plugins +- [sosreport] fix the distribution version API call +- [docker] add new plugin +- [openstack_*] include broken-out openstack plugins +- [mysql] support MariaDB +- [openstack] do not collect /var/lib/nova +- [grub2] collect grub.cfg on UEFI systems +- [sosreport] handle out-of-space errors gracefully +- [firewalld] new plugin +- [networking] collect NetworkManager status +- [kpatch] new plugin +- [global] update to upstream 3.2 release +- [foreman] add new plugin + +* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-0.4.a +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Fri Jul 17 2015 Miro Hrončok <mhroncok@redhat.com> - 3.2-0.3.a +- Use Python 3 (#1014595) +- Use setup.py instead of make +- Remove some deprecated statements + +* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2-0.2.a +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Jun 17 2014 Bryn M. Reeves <bmr@redhat.com> = 3.2-0.1.a +- Make source URL handling compliant with packaging guidelines +- Update to new upstream pre-release sos-3.2-alpha1 + +* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Apr 01 2014 Bryn M. Reeves <bmr@redhat.com> = 3.1-1 +- Update to new upstream release sos-3.1 +- Add collection of grub configuration for UEFI systems +- Raise a TypeError if add_copy_specs() is called with a string +- Add tests for Plugin.add_copy_spec()/add_copy_specs() +- Update Plugin tests to treat copy_paths as a set +- Use a set for Plugin.copy_paths +- Remove references to 'sub' parameter from plugin tests +- Remove 'sub' parameter from Plugin.add_copy_spec*() +- Drop RedHatPlugin from procenv +- Update plugin_tests.py to match new method names +- Remove obsolete checksum reference from utilities_tests.py +- Refactor Plugin.collect() pathway +- Fix x86 arch detection in processor plugin +- Pythonify Plugin._path_in_pathlist() +- Clean up package checks in processor plugin +- Replace self.policy().pkg_by_name() us in Logs plugin +- Convert infiniband to package list +- Dead code removal: PluginException +- Dead code removal: sos.plugins.common_prefix() +- Add vim tags to all python source files +- Dead code removal: utilities.checksum() +- Dead code removal: DirTree +- Dead code removal: sos_relative_path() +- Remove --profile support +- Fix plugin_test exception on six.PY2 +- Call rhsm-debug with the --sos switch +- Do not collect isos in cobbler plugin +- Match plugins against policies +- Update policy_tests.py for validate_plugin change +- Rename validatePlugin to validate_plugin +- Fix broken binary detection in satellite plugin +- Clean up get_cmd_path/make_cmd_path/make_cmd_dirs mess +- Add tuned plugin +- Update systemd support +- Fix remaining use of obsolete 'get_cmd_dir()' in plugins +- Add PowerNV specific debug data +- powerpc: Move VPD related tool under common code +- Remove the rhevm plugin. +- Replace package check with file check in anacron +- Scrub ldap_default_authtok password in sssd plugin +- Eliminate hard-coded /var/log/sa paths in sar plugin +- Remove useless check_enabled() from sar plugin +- Improve error message when cluster.crm_from is invalid +- Fix command output substitution exception +- Add distupgrade plugin +- Fix gluster volume name extraction +- Ensure unused fds are closed when calling subprocesses via Popen +- Pass --no-archive to rhsm-debug script +- postgresql: allow use TCP socket +- postgresql: added license and copyright +- postgresql: add logs about errors / warnings +- postgresql: minor fixes +- Include geo-replication status in gluster plugin +- Make get_cmd_output_now() behaviour match 2.2 +- Add rhsm-debug collection to yum plugin +- Always treat rhevm vdsmlogs option as string +- Fix verbose file logging +- Fix get_option() use in cluster plugin +- Fix cluster postproc regression +- Ensure superclass postproc method is called in ldap plugin +- Remove obsolete diagnostics code from ldap plugin +- Fix cluster module crm_report support + +* Thu Mar 20 2014 Bryn M. Reeves <bmr@redhat.com> = 3.0-23 +- Call rhsm-debug with the --sos switch + +* Mon Mar 03 2014 Bryn M. Reeves <bmr@redhat.com> +- Fix package check in anacron plugin + +* Wed Feb 12 2014 Bryn M. Reeves <bmr@redhat.com> +- Remove obsolete rhel_version() usage from yum plugin + +* Tue Feb 11 2014 Bryn M. Reeves <bmr@redhat.com> +- Prevent unhandled exception during command output substitution + +* Mon Feb 10 2014 Bryn M. Reeves <bmr@redhat.com> +- Fix generation of volume names in gluster plugin +- Add distupgrade plugin + +* Tue Feb 04 2014 Bryn M. Reeves <bmr@redhat.com> +- Prevent file descriptor leaks when using Popen +- Disable zip archive creation when running rhsm-debug +- Include volume geo-replication status in gluster plugin + +* Mon Feb 03 2014 Bryn M. Reeves <bmr@redhat.com> +- Fix get_option use in cluster plugin +- Fix debug logging to file when given '-v' +- Always treat rhevm plugin's vdsmlogs option as a string +- Run the rhsm-debug script from yum plugin + +* Fri Jan 31 2014 Bryn M. Reeves <bmr@redhat.com> +- Add new plugin to collect OpenHPI configuration +- Fix cluster plugin crm_report support +- Fix file postprocessing in ldap plugin +- Remove collection of anaconda-ks.cfg from general plugin + +* Fri Jan 24 2014 Bryn M. Reeves <bmr@redhat.com> +- Remove debug statements from logs plugin +- Make ethernet interface detection more robust +- Fix specifying multiple plugin options on the command line +- Make log and message levels match previous versions +- Log a warning message when external commands time out +- Remove --upload command line option +- Update sos UI text to match upstream + +* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> +- Mass rebuild 2013-12-27 + +* Thu Nov 14 2013 Bryn M. Reeves <bmr@redhat.com> +- Fix regressions introduced with --build option + +* Tue Nov 12 2013 Bryn M. Reeves <bmr@redhat.com> +- Fix typo in yum plug-in add_forbidden_paths +- Add krb5 plug-in and drop collection of krb5.keytab + +* Fri Nov 8 2013 Bryn M. Reeves <bmr@redhat.com> +- Add nfs client plug-in +- Fix traceback when sar module force-enabled + +* Thu Nov 7 2013 Bryn M. Reeves <bmr@redhat.com> +- Restore --build command line option +- Collect saved vmcore-dmesg.txt files +- Normalize temporary directory paths + +* Tue Nov 5 2013 Bryn M. Reeves <bmr@redhat.com> +- Add domainname output to NIS plug-in +- Collect /var/log/squid in squid plug-in +- Collect mountstats and mountinfo in filesys plug-in +- Add PowerPC plug-in from upstream + +* Thu Oct 31 2013 Bryn M. Reeves <bmr@redhat.com> +- Remove version checks in gluster plug-in +- Check for usable temporary directory +- Fix --alloptions command line option +- Fix configuration fail regression + +* Wed Oct 30 2013 Bryn M. Reeves <bmr@redhat.com> +- Include /etc/yaboot.conf in boot plug-in +- Fix collection of brctl output in networking plug-in +- Verify limited set of RPM packages by default +- Do not strip newlines from command output +- Limit default sar data collection + +* Thu Oct 3 2013 Bryn M. Reeves <bmr@redhat.com> +- Do not attempt to read RPC pseudo files in networking plug-in +- Restrict wbinfo collection to the current domain +- Add obfuscation of luci secrets to cluster plug-in +- Add XFS plug-in +- Fix policy class handling of --tmp-dir +- Do not set batch mode if stdin is not a TTY +- Attempt to continue when reading bad input in interactive mode + +* Wed Aug 14 2013 Bryn M. Reeves <bmr@redhat.com> +- Add crm_report support to cluster plug-in +- Fix rhel_version() usage in cluster and s390 plug-ins +- Strip trailing newline from command output + +* Mon Jun 10 2013 Bryn M. Reeves <bmr@redhat.com> +- Silence 'could not run' messages at default verbosity +- New upstream release + +* Thu May 23 2013 Bryn M. Reeves <bmr@redhat.com> +- Always invoke tar with '-f-' option + +* Mon Jan 21 2013 Bryn M. Reeves <bmr@redhat.com> +- Fix interactive mode regression when --ticket unspecified + +* Fri Jan 18 2013 Bryn M. Reeves <bmr@redhat.com> +- Fix propagation of --ticket parameter in interactive mode + +* Thu Jan 17 2013 Bryn M. Reeves <bmr@redhat.com> +- Revert OpenStack patch + +* Wed Jan 9 2013 Bryn M. Reeves <bmr@redhat.com> +- Report --name and --ticket values as defaults +- Fix device-mapper command execution logging +- Fix data collection and rename PostreSQL module to pgsql + +* Fri Oct 19 2012 Bryn M. Reeves <bmr@redhat.com> +- Add support for content delivery hosts to RHUI module + +* Thu Oct 18 2012 Bryn M. Reeves <bmr@redhat.com> +- Add Red Hat Update Infrastructure module +- Collect /proc/iomem in hardware module +- Collect subscription-manager output in general module +- Collect rhsm log files in general module +- Fix exception in gluster module on non-gluster systems +- Fix exception in psql module when dbname is not given + +* Wed Oct 17 2012 Bryn M. Reeves <bmr@redhat.com> +- Collect /proc/pagetypeinfo in memory module +- Strip trailing newline from command output +- Add sanlock module +- Do not collect archived accounting files in psacct module +- Call spacewalk-debug from rhn module to collect satellite data + +* Mon Oct 15 2012 Bryn M. Reeves <bmr@redhat.com> +- Avoid calling volume status when collecting gluster statedumps +- Use a default report name if --name is empty +- Quote tilde characters passed to shell in RPM module +- Collect KDC and named configuration in ipa module +- Sanitize hostname characters before using as report path +- Collect /etc/multipath in device-mapper module +- New plug-in for PostgreSQL +- Add OpenStack module +- Avoid deprecated sysctls in /proc/sys/net +- Fix error logging when calling external programs +- Use ip instead of ifconfig to generate network interface lists + +* Wed May 23 2012 Bryn M. Reeves <bmr@redhat.com> +- Collect the swift configuration directory in gluster module +- Update IPA module and related plug-ins + +* Fri May 18 2012 Bryn M. Reeves <bmr@redhat.com> +- Collect mcelog files in the hardware module + +* Wed May 02 2012 Bryn M. Reeves <bmr@redhat.com> +- Add nfs statedump collection to gluster module + +* Tue May 01 2012 Bryn M. Reeves <bmr@redhat.com> +- Use wildcard to match possible libvirt log paths + +* Mon Apr 23 2012 Bryn M. Reeves <bmr@redhat.com> +- Add forbidden paths for new location of gluster private keys + +* Fri Mar 9 2012 Bryn M. Reeves <bmr@redhat.com> +- Fix katello and aeolus command string syntax +- Remove stray hunk from gluster module patch + +* Thu Mar 8 2012 Bryn M. Reeves <bmr@redhat.com> +- Correct aeolus debug invocation in CloudForms module +- Update gluster module for gluster-3.3 +- Add additional command output to gluster module +- Add support for collecting gluster configuration and logs + +* Wed Mar 7 2012 Bryn M. Reeves <bmr@redhat.com> +- Collect additional diagnostic information for realtime systems +- Improve sanitization of RHN user and case number in report name +- Fix verbose output and debug logging +- Add basic support for CloudForms data collection +- Add support for Subscription Asset Manager diagnostics + +* Tue Mar 6 2012 Bryn M. Reeves <bmr@redhat.com> +- Collect fence_virt.conf in cluster module +- Fix collection of /proc/net directory tree +- Gather output of cpufreq-info when present +- Fix brctl showstp output when bridges contain multiple interfaces +- Add /etc/modprobe.d to kernel module +- Ensure relative symlink targets are correctly handled when copying +- Fix satellite and proxy package detection in rhn plugin +- Collect stderr output from external commands +- Collect /proc/cgroups in the cgroups module + Resolve: bz784874 +- Collect /proc/irq in the kernel module +- Fix installed-rpms formatting for long package names +- Add symbolic links for truncated log files +- Collect non-standard syslog and rsyslog log files +- Use correct paths for tomcat6 in RHN module +- Obscure root password if present in anacond-ks.cfg +- Do not accept embedded forward slashes in RHN usernames +- Add new sunrpc module to collect rpcinfo for gluster systems + +* Tue Nov 1 2011 Bryn M. Reeves <bmr@redhat.com> +- Do not collect subscription manager keys in general plugin + +* Fri Sep 23 2011 Bryn M. Reeves <bmr@redhat.com> +- Fix execution of RHN hardware.py from hardware plugin +- Fix hardware plugin to support new lsusb path + +* Fri Sep 09 2011 Bryn M. Reeves <bmr@redhat.com> +- Fix brctl collection when a bridge contains no interfaces +- Fix up2dateclient path in hardware plugin + +* Mon Aug 15 2011 Bryn M. Reeves <bmr@redhat.com> +- Collect brctl show and showstp output +- Collect nslcd.conf in ldap plugin + +* Sun Aug 14 2011 Bryn M. Reeves <bmr@redhat.com> +- Truncate files that exceed specified size limit +- Add support for collecting Red Hat Subscrition Manager configuration +- Collect /etc/init on systems using upstart +- Don't strip whitespace from output of external programs +- Collect ipv6 neighbour table in network module +- Collect basic cgroups configuration data + +* Sat Aug 13 2011 Bryn M. Reeves <bmr@redhat.com> +- Fix collection of data from LVM2 reporting tools in devicemapper plugin +- Add /proc/vmmemctl collection to vmware plugin + +* Fri Aug 12 2011 Bryn M. Reeves <bmr@redhat.com> +- Collect yum repository list by default +- Add basic Infiniband plugin +- Add plugin for scsi-target-utils iSCSI target +- Fix autofs plugin LC_ALL usage +- Fix collection of lsusb and add collection of -t and -v outputs +- Extend data collection by qpidd plugin +- Add ethtool pause, coalesce and ring (-a, -c, -g) options to network plugin + +* Thu Apr 07 2011 Bryn M. Reeves <bmr@redhat.com> +- Use sha256 for report digest when operating in FIPS mode + +* Tue Apr 05 2011 Bryn M. Reeves <bmr@redhat.com> +- Fix parted and dumpe2fs output on s390 + +* Fri Feb 25 2011 Bryn M. Reeves <bmr@redhat.com> +- Fix collection of chkconfig output in startup.py +- Collect /etc/dhcp in dhcp.py plugin +- Collect dmsetup ls --tree output in devicemapper.py +- Collect lsblk output in filesys.py + +* Thu Feb 24 2011 Bryn M. Reeves <bmr@redhat.com> +- Fix collection of logs and config files in sssd.py +- Add support for collecting entitlement certificates in rhn.py + +* Thu Feb 03 2011 Bryn M. Reeves <bmr@redhat.com> +- Fix cluster plugin dlm lockdump for el6 +- Add sssd plugin to collect configuration and logs +- Collect /etc/anacrontab in system plugin +- Correct handling of redhat-release for el6 + +* Thu Jul 29 2010 Adam Stokes <ajs at redhat dot com> + +* Thu Jun 10 2010 Adam Stokes <ajs at redhat dot com> + +* Wed Apr 28 2010 Adam Stokes <ajs at redhat dot com> + +* Mon Apr 12 2010 Adam Stokes <ajs at redhat dot com> + +* Tue Mar 30 2010 Adam Stokes <ajs at redhat dot com> +- fix setup.py to autocompile translations and man pages +- rebase 1.9 + +* Fri Mar 19 2010 Adam Stokes <ajs at redhat dot com> +- updated translations + +* Thu Mar 04 2010 Adam Stokes <ajs at redhat dot com> +- version bump 1.9 +- replaced compression utility with xz +- strip threading/multiprocessing +- simplified progress indicator +- pylint update +- put global vars in class container +- unittests +- simple profiling +- make use of xgettext as pygettext is deprecated + +* Mon Jan 18 2010 Adam Stokes <ajs at redhat dot com> +- more sanitizing options for log files +- rhbz fixes from RHEL version merged into trunk +- progressbar update +