aboutsummaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel/0011-common.py-catch-stderr-in-exec_cmd.patch
blob: 918a11929d127f851ef2f259dd35bd7cfe66cc6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
From: Josep Puigdemont <josep.puigdemont@enea.com>
Date: Wed, 4 May 2016 14:27:23 +0200
Subject: [PATCH] common.py: catch stderr in exec_cmd

Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
---
 deploy/common.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/deploy/common.py b/deploy/common.py
index 787a21a..41b4e27 100644
--- a/deploy/common.py
+++ b/deploy/common.py
@@ -38,20 +38,20 @@ LOG.addHandler(out_handler)
 os.chmod(LOGFILE, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
 
 def exec_cmd(cmd, check=True):
-    nul_f = open(os.devnull, 'w')
     process = subprocess.Popen(cmd,
                                stdout=subprocess.PIPE,
-                               stderr=nul_f,
+                               stderr=subprocess.PIPE,
                                shell=True)
-    nul_f.close()
-    response = process.communicate()[0].strip()
+    (response, stderr) = process.communicate()
     return_code = process.returncode
+    response = response.strip()
     if check:
         if return_code > 0:
+            stderr = stderr.strip()
             print "Failed command: " + str(cmd)
-            print "Command returned response: " + str(response)
+            print "Command returned response: " + str(stderr)
             print "Command return code: " + str(return_code)
-            raise Exception(response)
+            raise Exception(stderr)
         else:
             print "Command: " + str(cmd)
             print str(response)