]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-deploy.git/commitdiff
move the stderr/stdout closing to the ceph-deploy executable
authorAlfredo Deza <alfredo.deza@inktank.com>
Mon, 18 Aug 2014 20:32:53 +0000 (16:32 -0400)
committerAlfredo Deza <alfredo.deza@inktank.com>
Mon, 18 Aug 2014 20:45:57 +0000 (16:45 -0400)
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
ceph_deploy/util/decorators.py
scripts/ceph-deploy

index 4c72bdc7bd1dede2417ece7fd0632c9f178f688b..7589deb7096c787c944dc99dab93b9651a1d7299 100644 (file)
@@ -1,5 +1,4 @@
 import logging
-import os
 import sys
 import traceback
 from functools import wraps
index cc8dd621a09afdaa8ad04dee2086bdf6afaed7cf..5e2d1536aa548f27f35cc0e246f4f9253e030bf0 100755 (executable)
@@ -18,4 +18,18 @@ elif os.path.exists('/usr/lib/python2.6/site-packages/ceph_deploy'):
 from ceph_deploy.cli import main
 
 if __name__ == '__main__':
-    sys.exit(main())
+    try:
+        sys.exit(main())
+    finally:
+        # This block is crucial to avoid having issues with
+        # Python spitting non-sense thread exceptions. We have already
+        # handled what we could, so close stderr and stdout.
+        if not os.environ.get('CEPH_DEPLOY_TEST'):
+            try:
+                sys.stdout.close()
+            except:
+                pass
+            try:
+                sys.stderr.close()
+            except:
+                pass