]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
Run context manager exit if enter fails
authorZack Cerza <zack@redhat.com>
Tue, 28 Apr 2015 19:26:27 +0000 (13:26 -0600)
committerZack Cerza <zack@redhat.com>
Tue, 28 Apr 2015 20:26:37 +0000 (14:26 -0600)
In run_tasks(), we were waiting until a context manager's __enter__()
finished before adding it to the stack. As a result, if __enter__()
failed, __exit__() would never be called.

Signed-off-by: Zack Cerza <zack@redhat.com>
teuthology/run_tasks.py

index efeab0757cb3ad6ff68e8db25bc8b475df275797..cdc5501c080c6f2b54dac1697ce9bbbe885e375a 100644 (file)
@@ -52,8 +52,8 @@ def run_tasks(tasks, ctx):
             log.info('Running task %s...', taskname)
             manager = run_one_task(taskname, ctx=ctx, config=config)
             if hasattr(manager, '__enter__'):
-                manager.__enter__()
                 stack.append((taskname, manager))
+                manager.__enter__()
     except BaseException as e:
         if isinstance(e, ConnectionLostError):
             # Prevent connection issues being flagged as failures