diff --git a/tripleo_common/image/builder/buildah.py b/tripleo_common/image/builder/buildah.py index 4b28bdb82..0afa6c579 100644 --- a/tripleo_common/image/builder/buildah.py +++ b/tripleo_common/image/builder/buildah.py @@ -186,11 +186,21 @@ class BuildahBuilder(base.BaseBuilder): raise SystemError(job._exception) else: if not_done: - raise SystemError( - 'The following jobs were incomplete: {}'.format( - not_done - ) - ) + error_msg = ('The following jobs were ' + 'incomplete: {}'.format(not_done)) + + exceptions_raised = [job._exception for job in not_done + if job._exception] + + if exceptions_raised: + error_msg = error_msg + os.linesep + ( + "%(raised_count)d of the incomplete " + "jobs threw exceptions: %(exceptions)s" % + {'raised_count': len(exceptions_raised), + 'exceptions': exceptions_raised}) + + raise SystemError(error_msg) + elif isinstance(deps, (dict,)): for container in deps: self._generate_container(container) diff --git a/tripleo_common/tests/image/builder/test_buildah.py b/tripleo_common/tests/image/builder/test_buildah.py index 8de989478..e18776509 100644 --- a/tripleo_common/tests/image/builder/test_buildah.py +++ b/tripleo_common/tests/image/builder/test_buildah.py @@ -38,7 +38,7 @@ BUILD_ALL_STR_CONTAINER = 'container1' class ThreadPoolExecutorReturn(object): - pass + _exception = None class ThreadPoolExecutorReturnFailed(object):