From d19bc046d549aaf634314a257dd22623df731648 Mon Sep 17 00:00:00 2001 From: "Bryn M. Reeves" Date: Tue, 3 Mar 2015 14:54:48 +0000 Subject: [PATCH] [networking] test nmcli status before using output The networking module assumes that nmcli commands succeed if the results object is not None; this is not valid and will lead to errors in subsequent commands if the call returned an error message instead of the expected content: [plugin:networking] collecting output of 'nmcli con show conf 'Error: nmcli (0.9.10.0) and NetworkManager (unknown) versions don't match. Force execution using --nocheck, but the results are unpredictable.'' 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 1459, in main sos.execute() ValueError: No closing quotation Signed-off-by: Bryn M. Reeves --- sos/plugins/networking.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sos/plugins/networking.py b/sos/plugins/networking.py index 9f6ece0..ae6cb1b 100644 --- a/sos/plugins/networking.py +++ b/sos/plugins/networking.py @@ -142,13 +142,13 @@ class Networking(Plugin): nmcli_con_show_result = self.call_ext_prog( "nmcli --terse --fields NAME con show") - if nmcli_con_show_result: + if nmcli_con_show_result['status'] == 0: for con in nmcli_con_show_result['output'].splitlines(): self.add_cmd_output("nmcli con show conf '%s'" % con) nmcli_dev_status_result = self.call_ext_prog( "nmcli --terse --fields DEVICE dev status") - if nmcli_dev_status_result: + if nmcli_dev_status_result['status'] == 0: for dev in nmcli_dev_status_result['output'].splitlines(): self.add_cmd_output("nmcli device show "+dev) -- 1.8.3.1