From 6d640012cae16cdb72a1ef576851f2da0be819f5 Mon Sep 17 00:00:00 2001 From: Sergii Golovatiuk Date: Thu, 8 Oct 2020 18:57:25 +0200 Subject: [PATCH] Refactor buildah logging - Add .BuildahBuilder to logging for easier identification - move log instance creation to class - Add logging configuration - Replace a few prints with log Old Log in containers-build-errors.log: Processing containers: ['base'] Building base image with: New Log in containers-build-errors.log 2020-10-30 18:50:10.847 865001 INFO tripleo_common.image.builder.buildah.BuildahBuilder [-] Processing containers: ['cinder-cooldriver2', 'cinder-cooldriver'] 2020-10-30 18:50:10.848 865001 INFO tripleo_common.image.builder.buildah.BuildahBuilder [-] Building cinder-cooldriver2 image with: sudo buildah Depends-On: https://review.opendev.org/#/c/760980/ Change-Id: I072edaf232004a6118b956614490460efb40fbfc --- tripleo_common/image/builder/buildah.py | 30 ++++++++++++++++--------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/tripleo_common/image/builder/buildah.py b/tripleo_common/image/builder/buildah.py index 6b93976ae..ebfe30447 100644 --- a/tripleo_common/image/builder/buildah.py +++ b/tripleo_common/image/builder/buildah.py @@ -21,18 +21,21 @@ import six import tenacity from oslo_concurrency import processutils +from oslo_config import cfg from oslo_log import log as logging from tripleo_common import constants from tripleo_common.image.builder import base from tripleo_common.utils import process -LOG = logging.getLogger(__name__) +CONF = cfg.CONF class BuildahBuilder(base.BaseBuilder): """Builder to build container images with Buildah.""" + log = logging.getLogger(__name__ + ".BuildahBuilder") + 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, @@ -62,6 +65,9 @@ class BuildahBuilder(base.BaseBuilder): :params debug: Enable debug flag. Default to False. """ + logging.register_options(CONF) + logging.setup(CONF, '') + super(BuildahBuilder, self).__init__() if build_timeout is None: self.build_timeout = constants.BUILD_TIMEOUT @@ -97,8 +103,8 @@ class BuildahBuilder(base.BaseBuilder): """ if container_name not in self.cont_map: - LOG.error('Container not found in Kolla ' - 'deps: %s' % container_name) + self.log.error('Container not found in Kolla ' + 'deps: %s' % container_name) return self.cont_map.get(container_name, '') def _get_destination(self, container_name): @@ -164,7 +170,8 @@ class BuildahBuilder(base.BaseBuilder): self._get_destination(container_name), container_build_path]) args = self.buildah_cmd + bud_args - print("Building %s image with: %s" % (container_name, ' '.join(args))) + self.log.info("Building %s image with: %s" % + (container_name, ' '.join(args))) process.execute( *args, check_exit_code=True, @@ -190,7 +197,8 @@ class BuildahBuilder(base.BaseBuilder): # else than a Docker registry. args = self.buildah_cmd + ['push', '--tls-verify=False', destination, 'docker://' + destination] - print("Pushing %s image with: %s" % (destination, ' '.join(args))) + self.log.info("Pushing %s image with: %s" % + (destination, ' '.join(args))) process.execute(*args, run_as_root=False, use_standard_locale=True) def build_all(self, deps=None): @@ -207,9 +215,9 @@ class BuildahBuilder(base.BaseBuilder): deps = self.deps container_deps = self._generate_deps(deps=deps, containers=list()) - LOG.debug("All container deps: {}".format(container_deps)) + self.log.debug("All container deps: {}".format(container_deps)) for containers in container_deps: - LOG.info("Processing containers: {}".format(containers)) + self.log.info("Processing containers: {}".format(containers)) if isinstance(deps, (list,)): self._multi_build(containers=containers) else: @@ -229,7 +237,7 @@ class BuildahBuilder(base.BaseBuilder): :returns: list """ - LOG.debug("Process deps: {}".format(deps)) + self.log.debug("Process deps: {}".format(deps)) if isinstance(deps, (six.string_types,)): if prio_list: prio_list.append(deps) @@ -243,7 +251,7 @@ class BuildahBuilder(base.BaseBuilder): else: containers.append(parents) for value in deps.values(): - LOG.debug("Recursing with: {}".format(value)) + self.log.debug("Recursing with: {}".format(value)) self._generate_deps( deps=value, containers=containers @@ -262,14 +270,14 @@ class BuildahBuilder(base.BaseBuilder): containers.append(dep_list) for item in dep_rehash_list: - LOG.debug("Recursing with: {}".format(item)) + self.log.debug("Recursing with: {}".format(item)) self._generate_deps( deps=item, containers=containers, prio_list=dep_list ) - LOG.debug("Constructed containers: {}".format(containers)) + self.log.debug("Constructed containers: {}".format(containers)) return containers def _multi_build(self, containers):