Merge "Add --log-level debug for buildah builder"

This commit is contained in:
Zuul 2020-09-19 05:10:14 +00:00 committed by Gerrit Code Review
commit 54a068e586
2 changed files with 10 additions and 6 deletions

View File

@ -36,7 +36,7 @@ class BuildahBuilder(base.BaseBuilder):
def __init__(self, work_dir, deps, base='fedora', img_type='binary',
tag='latest', namespace='master',
registry_address='127.0.0.1:8787', push_containers=True,
volumes=[], excludes=[], build_timeout=None):
volumes=[], excludes=[], build_timeout=None, debug=False):
"""Setup the parameters to build with Buildah.
:params work_dir: Directory where the Dockerfiles or Containerfiles
@ -59,6 +59,7 @@ class BuildahBuilder(base.BaseBuilder):
Default to [].
:params excludes: List of images to skip. Default to [].
:params build_timeout: Timeout. Default to constants.BUILD_TIMEOUT
:params debug: Enable debug flag. Default to False.
"""
super(BuildahBuilder, self).__init__()
@ -76,6 +77,7 @@ class BuildahBuilder(base.BaseBuilder):
self.push_containers = push_containers
self.volumes = volumes
self.excludes = excludes
self.debug = debug
# Each container image has a Dockerfile or a Containerfile.
# Buildah needs to know the base directory later.
self.cont_map = {os.path.basename(root): root for root, dirs,
@ -85,6 +87,8 @@ class BuildahBuilder(base.BaseBuilder):
# Building images with root so overlayfs is used, and not fuse-overlay
# from userspace, which would be slower.
self.buildah_cmd = ['sudo', 'buildah']
if self.debug:
self.buildah_cmd.append('--log-level debug')
def _find_container_dir(self, container_name):
"""Return the path of the Dockerfile/Containerfile directory.

View File

@ -110,12 +110,12 @@ class TestBuildahBuilder(base.TestCase):
dest = '127.0.0.1:8787/master/fedora-binary-fedora-base:latest'
container_build_path = WORK_DIR + '/' + 'fedora-base'
logfile = '/tmp/kolla/fedora-base/fedora-base-build.log'
buildah_cmd_build = ['bud', '--format', 'docker',
'--tls-verify=False', '--layers',
'--logfile', logfile, '-t',
dest, container_build_path]
buildah_cmd_build = ['--log-level debug', 'bud', '--format', 'docker',
'--tls-verify=False', '--layers', '--logfile',
logfile, '-t', dest, container_build_path]
args.extend(buildah_cmd_build)
bb(WORK_DIR, DEPS).build('fedora-base', container_build_path)
bb(WORK_DIR, DEPS, debug=True).build('fedora-base',
container_build_path)
mock_process.assert_called_once_with(
*args,
check_exit_code=True,