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>
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