]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks/rbd: run all xfstests runs to completion 18583/head
authorIlya Dryomov <idryomov@gmail.com>
Thu, 26 Oct 2017 16:41:16 +0000 (18:41 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 26 Oct 2017 17:30:09 +0000 (19:30 +0200)
rbd.xfstests task allows spawning xfstests runs on multiple nodes.
Don't unwind task contexts if one of the runs fails -- let the other
runs finish.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
qa/tasks/rbd.py

index d45636a5692d74010d2cb3b0750b280043a89ccb..e6701aff94c509488a3788d6716b4301f46470e1 100644 (file)
@@ -5,6 +5,7 @@ import contextlib
 import logging
 import os
 import tempfile
+import sys
 
 from cStringIO import StringIO
 from teuthology.orchestra import run
@@ -342,6 +343,16 @@ def run_xfstests(ctx, config):
     with parallel() as p:
         for role, properties in config.items():
             p.spawn(run_xfstests_one_client, ctx, role, properties)
+        exc_info = None
+        while True:
+            try:
+                p.next()
+            except StopIteration:
+                break
+            except:
+                exc_info = sys.exc_info()
+        if exc_info:
+            raise exc_info[0], exc_info[1], exc_info[2]
     yield
 
 def run_xfstests_one_client(ctx, role, properties):