Enhance error messages when building containers
This change will improve our error messaging when building containers by
returning all exceptions when there's an issue. This will allow us to
grok all known within a single log and handle errors based on the RC
information.
Change-Id: I855ad2ec3ae27f2c18d53f1d17e4c7041e2258a3
Signed-off-by: Kevin Carter <kecarter@redhat.com>
(cherry picked from commit f745822049
)
This commit is contained in:
parent
d60c5db663
commit
835c27cac1
|
@ -205,12 +205,23 @@ class BuildahBuilder(base.BaseBuilder):
|
|||
# failed a SystemError will be raised using the
|
||||
# exception information. If any job was loaded
|
||||
# but not executed a SystemError will be raised.
|
||||
exceptions = list()
|
||||
for job in done:
|
||||
if job._exception:
|
||||
raise SystemError("%(container)s raised %(exception)s" %
|
||||
{'container': future_to_build[job],
|
||||
'exception': job._exception})
|
||||
exceptions.append(
|
||||
"\nException information: {exception}".format(
|
||||
exception=job._exception
|
||||
)
|
||||
)
|
||||
else:
|
||||
if exceptions:
|
||||
raise RuntimeError(
|
||||
'\nThe following errors were detected during '
|
||||
'container build(s):\n{exceptions}'.format(
|
||||
exceptions='\n'.join(exceptions)
|
||||
)
|
||||
)
|
||||
|
||||
if not_done:
|
||||
error_msg = ('The following jobs were '
|
||||
'incomplete: {}'.format(
|
||||
|
|
|
@ -185,7 +185,7 @@ class TestBuildahBuilder(base.TestCase):
|
|||
mock_submit.side_effect = R_FAILED_LIST
|
||||
_b = bb(WORK_DIR, DEPS)
|
||||
self.assertRaises(
|
||||
SystemError,
|
||||
RuntimeError,
|
||||
_b.build_all,
|
||||
deps=BUILD_ALL_LIST_CONTAINERS
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue