From 05466cd6d9d70321fc7a0097334ef36af8dfeb43 Mon Sep 17 00:00:00 2001 From: "Bryn M. Reeves" Date: Tue, 20 Jan 2015 16:16:17 +0000 Subject: [PATCH] [mysql] test for boolean values in user and password options If sosreport is run with '-a' all options will be set to boolean True. This causes an exception if an attempt is made to set an environment variable to the option value: Traceback (most recent call last): File "/usr/sbin/sosreport", line 25, in main(sys.argv[1:]) File "/usr/lib/python2.7/site-packages/sos/sosreport.py", line 1435, in main sos.execute() TypeError: must be string, not bool > /usr/lib64/python2.7/os.py(471)__setitem__() -> putenv(key, item) Test both values with isinstance(val, bool) and do not attempt to collect a database dump if either is a boolean. Signed-off-by: Bryn M. Reeves --- sos/plugins/mysql.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sos/plugins/mysql.py b/sos/plugins/mysql.py index edab6d0..dd899a3 100644 --- a/sos/plugins/mysql.py +++ b/sos/plugins/mysql.py @@ -45,6 +45,9 @@ class Mysql(Plugin): if self.get_option("dbdump"): dbuser = self.get_option("dbuser") dbpass = self.get_option("dbpass") + if isinstance(dbuser, bool) or isinstance(dbpass, bool): + # sosreport -a + return if 'MYSQL_PWD' in os.environ: dbpass = os.environ['MYSQL_PWD'] if not dbpass or dbpass is False: -- 1.9.3