From 77befa7dad84636001049a8e39e5449943ecf37e Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Mon, 24 Oct 2016 21:27:18 -0400 Subject: [PATCH 1/2] Make CoprClient import optional. Also, fix one last reference to the old rida module name that I noticed while I was in there. --- module_build_service/builder.py | 7 +++++-- module_build_service/pdc.py | 13 ++++++++++--- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/module_build_service/builder.py b/module_build_service/builder.py index 871bc4c7..55ee16fd 100644 --- a/module_build_service/builder.py +++ b/module_build_service/builder.py @@ -46,15 +46,18 @@ import kobo.rpmlib import munch from OpenSSL.SSL import SysCallError -from copr.client import CoprClient from module_build_service import log, db from module_build_service.models import ModuleBuild import module_build_service.utils - logging.basicConfig(level=logging.DEBUG) +try: + from copr.client import CoprClient +except ImportError: + log.exception("Failed to import CoprClient.") + # TODO: read defaults from module_build_service's config KOJI_DEFAULT_GROUPS = { 'build': [ diff --git a/module_build_service/pdc.py b/module_build_service/pdc.py index e48fde52..adda17cf 100644 --- a/module_build_service/pdc.py +++ b/module_build_service/pdc.py @@ -27,12 +27,19 @@ import modulemd from pdc_client import PDCClient -from copr.client import CoprClient + +import logging +log = logging.getLogger() + +try: + from copr.client import CoprClient +except ImportError: + log.exception("Failed to import CoprClient.") + import six import module_build_service - def get_pdc_client_session(config): """ :param config: instance of module_build_service.config.Config @@ -161,7 +168,7 @@ def get_module_repo(session, module_info, strict=False, config=module_build_serv :param module_info: list of module_info dicts :param strict: Normally this function returns None if no module can be found. If strict=True, then a ValueError is raised. - :param config: instance of rida.config.Config + :param config: instance of module_build_service.config.Config :return: URL to a DNF repository for the module """ module = get_module(session, module_info, strict=strict) From d9722e9ed60a4ca8f58eae5992a8feb34da90b08 Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Tue, 25 Oct 2016 09:49:34 -0400 Subject: [PATCH 2/2] Move CoprClient imports inside the functions where they are referenced. --- module_build_service/builder.py | 7 ++----- module_build_service/pdc.py | 9 ++++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/module_build_service/builder.py b/module_build_service/builder.py index 55ee16fd..d5ce5a26 100644 --- a/module_build_service/builder.py +++ b/module_build_service/builder.py @@ -53,11 +53,6 @@ import module_build_service.utils logging.basicConfig(level=logging.DEBUG) -try: - from copr.client import CoprClient -except ImportError: - log.exception("Failed to import CoprClient.") - # TODO: read defaults from module_build_service's config KOJI_DEFAULT_GROUPS = { 'build': [ @@ -814,6 +809,8 @@ class CoprModuleBuilder(GenericBuilder): m1 = db.session.query(ModuleBuild).first() m1.mmd().dump(modulemd) + from copr.client import CoprClient + # @TODO how the authentication is designed? username, copr = "@copr", "modules" client = CoprClient.create_from_file_config() diff --git a/module_build_service/pdc.py b/module_build_service/pdc.py index adda17cf..c637d5f3 100644 --- a/module_build_service/pdc.py +++ b/module_build_service/pdc.py @@ -31,11 +31,6 @@ from pdc_client import PDCClient import logging log = logging.getLogger() -try: - from copr.client import CoprClient -except ImportError: - log.exception("Failed to import CoprClient.") - import six import module_build_service @@ -180,6 +175,10 @@ def get_module_repo(session, module_info, strict=False, config=module_build_serv if module["koji_tag"] != "-": raise NotImplementedError + # TODO We should revisit the decision to include CoprClient code in the + # pdc.py module. + from copr.client import CoprClient + # Module was built in Copr # @TODO get the correct user owner, nvr = "@copr", module["variant_id"]