From f4aef7acd68bc592cdc41afcfadb5ede83386e63 Mon Sep 17 00:00:00 2001 From: Chenxiong Qi Date: Dec 10 2019 15:38:49 +0000 Subject: Remove config argument from event handlers For the purpose of migrating to Celery to run event handler inside a worker, Config object is not serializable. And from the usage of config argument, every event handler can just access module_build_service.conf directly. This removal would make the migration easier. Signed-off-by: Chenxiong Qi --- diff --git a/module_build_service/scheduler/consumer.py b/module_build_service/scheduler/consumer.py index a4eff71..84f8de8 100644 --- a/module_build_service/scheduler/consumer.py +++ b/module_build_service/scheduler/consumer.py @@ -87,7 +87,7 @@ class MBSConsumer(fedmsg.consumers.FedmsgConsumer): # These are our main lookup tables for figuring out what to run in # response to what messaging events. - self.NO_OP = NO_OP = lambda config, msg: True + self.NO_OP = NO_OP = lambda msg: True self.on_build_change = { koji.BUILD_STATES["BUILDING"]: NO_OP, koji.BUILD_STATES[ @@ -187,7 +187,7 @@ class MBSConsumer(fedmsg.consumers.FedmsgConsumer): all_fns = list(self.on_build_change.items()) + list(self.on_module_change.items()) for key, callback in all_fns: - expected = ["config", "msg"] + expected = ["msg"] if six.PY2: argspec = inspect.getargspec(callback)[0] else: @@ -255,7 +255,7 @@ class MBSConsumer(fedmsg.consumers.FedmsgConsumer): log.info("Calling %s", idx) try: - further_work = handler(conf, msg) or [] + further_work = handler(msg) or [] except Exception as e: log.exception("Could not process message handler.") db_session.rollback() diff --git a/module_build_service/scheduler/handlers/components.py b/module_build_service/scheduler/handlers/components.py index 94de4f6..a70e649 100644 --- a/module_build_service/scheduler/handlers/components.py +++ b/module_build_service/scheduler/handlers/components.py @@ -6,7 +6,7 @@ import logging import koji import module_build_service.builder -from module_build_service import models, log +from module_build_service import conf, models, log from module_build_service.builder.KojiModuleBuilder import KojiModuleBuilder from module_build_service.scheduler import events from module_build_service.utils.general import mmd_to_str @@ -15,7 +15,7 @@ from module_build_service.db_session import db_session logging.basicConfig(level=logging.DEBUG) -def _finalize(config, msg, state): +def _finalize(msg, state): """ Called whenever a koji build completes or fails. """ # First, find our ModuleBuild associated with this component, if any. @@ -50,7 +50,7 @@ def _finalize(config, msg, state): if component_build.package == "module-build-macros" and state != koji.BUILD_STATES["COMPLETE"]: parent.transition( db_session, - config, + conf, state=models.BUILD_STATES["failed"], state_reason=state_reason, failure_type="user", @@ -60,10 +60,10 @@ def _finalize(config, msg, state): if ( component_build.buildonly - and config.system in ["koji", "test"] + and conf.system in ["koji", "test"] and state == koji.BUILD_STATES["COMPLETE"] ): - koji_session = KojiModuleBuilder.get_session(config) + koji_session = KojiModuleBuilder.get_session(conf) rpms = koji_session.listBuildRPMs(component_build.nvr) mmd = parent.mmd() for artifact in rpms: @@ -86,7 +86,7 @@ def _finalize(config, msg, state): built_components_in_batch = [c for c in parent_current_batch if c.is_completed] builder = module_build_service.builder.GenericBuilder.create_from_module( - db_session, parent, config + db_session, parent, conf ) if failed_components_in_batch: @@ -98,7 +98,7 @@ def _finalize(config, msg, state): ", ".join(c.package for c in failed_components_in_batch)) parent.transition( db_session, - config, + conf, state=models.BUILD_STATES["failed"], state_reason=state_reason, failure_type="user", @@ -149,20 +149,20 @@ def _finalize(config, msg, state): # build, try to call continue_batch_build again so in case we hit the # threshold previously, we will submit another build from this batch. builder = module_build_service.builder.GenericBuilder.create_from_module( - db_session, parent, config) + db_session, parent, conf) further_work += module_build_service.utils.continue_batch_build( - config, parent, builder) + conf, parent, builder) return further_work -def complete(config, msg): - return _finalize(config, msg, state=koji.BUILD_STATES["COMPLETE"]) +def complete(msg): + return _finalize(msg, state=koji.BUILD_STATES["COMPLETE"]) -def failed(config, msg): - return _finalize(config, msg, state=koji.BUILD_STATES["FAILED"]) +def failed(msg): + return _finalize(msg, state=koji.BUILD_STATES["FAILED"]) -def canceled(config, msg): - return _finalize(config, msg, state=koji.BUILD_STATES["CANCELED"]) +def canceled(msg): + return _finalize(msg, state=koji.BUILD_STATES["CANCELED"]) diff --git a/module_build_service/scheduler/handlers/greenwave.py b/module_build_service/scheduler/handlers/greenwave.py index a02244d..cabe2aa 100644 --- a/module_build_service/scheduler/handlers/greenwave.py +++ b/module_build_service/scheduler/handlers/greenwave.py @@ -31,7 +31,7 @@ def get_corresponding_module_build(nvr): return ModuleBuild.get_by_id(db_session, module_build_id) -def decision_update(config, msg): +def decision_update(msg): """Move module build to ready or failed according to Greenwave result :param config: the config object returned from function :func:`init_config`, @@ -41,7 +41,7 @@ def decision_update(config, msg): ``greenwave.decision.update``. :type msg: :class:`GreenwaveDecisionUpdate` """ - if not config.greenwave_decision_context: + if not conf.greenwave_decision_context: log.debug( "Skip Greenwave message %s as MBS does not have GREENWAVE_DECISION_CONTEXT " "configured", @@ -49,12 +49,12 @@ def decision_update(config, msg): ) return - if msg.decision_context != config.greenwave_decision_context: + if msg.decision_context != conf.greenwave_decision_context: log.debug( "Skip Greenwave message %s as MBS only handles messages with the " 'decision context "%s"', msg.msg_id, - config.greenwave_decision_context, + conf.greenwave_decision_context, ) return diff --git a/module_build_service/scheduler/handlers/modules.py b/module_build_service/scheduler/handlers/modules.py index d59db17..887c77a 100644 --- a/module_build_service/scheduler/handlers/modules.py +++ b/module_build_service/scheduler/handlers/modules.py @@ -40,7 +40,7 @@ def get_artifact_from_srpm(srpm_path): return os.path.basename(srpm_path).replace(".src.rpm", "") -def failed(config, msg): +def failed(msg): """ Called whenever a module enters the 'failed' state. @@ -60,7 +60,7 @@ def failed(config, msg): if build.koji_tag: builder = module_build_service.builder.GenericBuilder.create_from_module( - db_session, build, config) + db_session, build, conf) if build.new_repo_task_id: builder.cancel_build(build.new_repo_task_id) @@ -80,7 +80,7 @@ def failed(config, msg): reason = "Missing koji tag. Assuming previously failed module lookup." log.error(reason) build.transition( - db_session, config, + db_session, conf, state=models.BUILD_STATES["failed"], state_reason=reason, failure_type="infra") db_session.commit() @@ -89,7 +89,7 @@ def failed(config, msg): # Don't transition it again if it's already been transitioned if build.state != models.BUILD_STATES["failed"]: build.transition( - db_session, config, state=models.BUILD_STATES["failed"], failure_type="user") + db_session, conf, state=models.BUILD_STATES["failed"], failure_type="user") db_session.commit() @@ -97,7 +97,7 @@ def failed(config, msg): module_build_service.builder.GenericBuilder.clear_cache(build) -def done(config, msg): +def done(msg): """Called whenever a module enters the 'done' state. We currently don't do anything useful, so moving to ready. @@ -117,7 +117,7 @@ def done(config, msg): # Scratch builds stay in 'done' state if not build.scratch: if greenwave is None or greenwave.check_gating(build): - build.transition(db_session, config, state=models.BUILD_STATES["ready"]) + build.transition(db_session, conf, state=models.BUILD_STATES["ready"]) else: build.state_reason = "Gating failed" if greenwave.error_occurred: @@ -129,7 +129,7 @@ def done(config, msg): module_build_service.builder.GenericBuilder.clear_cache(build) -def init(config, msg): +def init(msg): """ Called whenever a module enters the 'init' state.""" # Sleep for a few seconds to make sure the module in the database is committed # TODO: Remove this once messaging is implemented in SQLAlchemy hooks @@ -297,7 +297,7 @@ def get_content_generator_build_koji_tag(module_deps): return conf.koji_cg_default_build_tag -def wait(config, msg): +def wait(msg): """ Called whenever a module enters the 'wait' state. We transition to this state shortly after a modulebuild is first requested. @@ -337,7 +337,7 @@ def wait(config, msg): reason = "Failed to get module info from MBS. Max retries reached." log.exception(reason) build.transition( - db_session, config, + db_session, conf, state=models.BUILD_STATES["failed"], state_reason=reason, failure_type="infra") db_session.commit() @@ -366,7 +366,7 @@ def wait(config, msg): log.debug("Skip to assign Content Generator build koji tag to module build.") builder = module_build_service.builder.GenericBuilder.create_from_module( - db_session, build, config) + db_session, build, conf) log.debug( "Adding dependencies %s into buildroot for module %s:%s:%s", @@ -376,7 +376,7 @@ def wait(config, msg): if not build.component_builds: log.info("There are no components in module %r, skipping build" % build) - build.transition(db_session, config, state=models.BUILD_STATES["build"]) + build.transition(db_session, conf, state=models.BUILD_STATES["build"]) db_session.add(build) db_session.commit() # Return a KojiRepoChange message so that the build can be transitioned to done @@ -390,7 +390,7 @@ def wait(config, msg): # module-build-macros, because there won't be any build done. if attempt_to_reuse_all_components(builder, build): log.info("All components have been reused for module %r, skipping build" % build) - build.transition(db_session, config, state=models.BUILD_STATES["build"]) + build.transition(db_session, conf, state=models.BUILD_STATES["build"]) db_session.add(build) db_session.commit() return [] @@ -446,12 +446,12 @@ def wait(config, msg): component_build.nvr = nvr db_session.add(component_build) - build.transition(db_session, config, state=models.BUILD_STATES["build"]) + build.transition(db_session, conf, state=models.BUILD_STATES["build"]) db_session.add(build) db_session.commit() # We always have to regenerate the repository. - if config.system == "koji": + if conf.system == "koji": log.info("Regenerating the repository") task_id = builder.koji_session.newRepo(builder.module_build_tag["name"]) build.new_repo_task_id = task_id diff --git a/module_build_service/scheduler/handlers/repos.py b/module_build_service/scheduler/handlers/repos.py index c488d9b..96d927f 100644 --- a/module_build_service/scheduler/handlers/repos.py +++ b/module_build_service/scheduler/handlers/repos.py @@ -5,19 +5,19 @@ import module_build_service.builder import logging from datetime import datetime -from module_build_service import models, log +from module_build_service import conf, models, log from module_build_service.utils import start_next_batch_build from module_build_service.db_session import db_session logging.basicConfig(level=logging.DEBUG) -def done(config, msg): +def done(msg): """ Called whenever koji rebuilds a repo, any repo. """ # First, find our ModuleBuild associated with this repo, if any. tag = msg.repo_tag - if config.system in ("koji", "test") and not tag.endswith("-build"): + if conf.system in ("koji", "test") and not tag.endswith("-build"): log.debug("Tag %r does not end with '-build' suffix, ignoring" % tag) return tag = tag[:-6] if tag.endswith("-build") else tag @@ -41,7 +41,7 @@ def done(config, msg): # Get the list of untagged components in current/previous batches which # have been built successfully - if config.system in ("koji", "test") and current_batch: + if conf.system in ("koji", "test") and current_batch: if any(c.is_completed and not c.is_tagged for c in module_build.up_to_current_batch()): log.info("Ignoring repo regen, because not all components are tagged.") return @@ -70,7 +70,7 @@ def done(config, msg): state_reason = "Component(s) {} failed to build.".format( ", ".join(c.package for c in current_batch if c.is_unsuccessful)) module_build.transition( - db_session, config, models.BUILD_STATES["failed"], state_reason, failure_type="infra") + db_session, conf, models.BUILD_STATES["failed"], state_reason, failure_type="infra") db_session.commit() log.warning("Odd! All components in batch failed for %r." % module_build) return @@ -82,8 +82,8 @@ def done(config, msg): db_session, module_build.owner, module_build, - config.system, - config, + conf.system, + conf, tag_name=tag, components=[c.package for c in module_build.component_builds], ) @@ -112,7 +112,7 @@ def done(config, msg): # Try to start next batch build, because there are still unbuilt # components in a module. - further_work += start_next_batch_build(config, module_build, builder) + further_work += start_next_batch_build(conf, module_build, builder) else: if has_failed_components: @@ -123,7 +123,7 @@ def done(config, msg): ) module_build.transition( db_session, - config, + conf, state=models.BUILD_STATES["failed"], state_reason=state_reason, failure_type="user", @@ -133,7 +133,7 @@ def done(config, msg): module_build.time_completed = datetime.utcnow() builder.finalize(succeeded=True) - module_build.transition(db_session, config, state=models.BUILD_STATES["done"]) + module_build.transition(db_session, conf, state=models.BUILD_STATES["done"]) db_session.commit() return further_work diff --git a/module_build_service/scheduler/handlers/tags.py b/module_build_service/scheduler/handlers/tags.py index 8938df1..81f6b13 100644 --- a/module_build_service/scheduler/handlers/tags.py +++ b/module_build_service/scheduler/handlers/tags.py @@ -5,16 +5,16 @@ import module_build_service.builder import logging import koji -from module_build_service import models, log +from module_build_service import conf, models, log from module_build_service.db_session import db_session from module_build_service.scheduler import events logging.basicConfig(level=logging.DEBUG) -def tagged(config, msg): +def tagged(msg): """ Called whenever koji tags a build to tag. """ - if config.system not in ("koji", "test"): + if conf.system not in ("koji", "test"): return [] # Find our ModuleBuild associated with this tagged artifact. @@ -51,7 +51,7 @@ def tagged(config, msg): # If all components are tagged, start newRepo task. if not any(c.is_completed and not c.is_tagged for c in module_build.up_to_current_batch()): builder = module_build_service.builder.GenericBuilder.create_from_module( - db_session, module_build, config) + db_session, module_build, conf) if any(c.is_unbuilt for c in module_build.component_builds): if not _is_new_repo_generating(module_build, builder.koji_session): diff --git a/tests/test_scheduler/test_greenwave.py b/tests/test_scheduler/test_greenwave.py index e61d800..887e168 100644 --- a/tests/test_scheduler/test_greenwave.py +++ b/tests/test_scheduler/test_greenwave.py @@ -75,7 +75,7 @@ class TestDecisionUpdateHandler: @patch("module_build_service.scheduler.handlers.greenwave.log") def test_decision_context_is_not_match(self, log): msg = Mock(msg_id="msg-id-1", decision_context="bodhi_update_push_testing") - decision_update(conf, msg) + decision_update(msg) log.debug.assert_called_once_with( 'Skip Greenwave message %s as MBS only handles messages with the decision context "%s"', "msg-id-1", @@ -90,7 +90,7 @@ class TestDecisionUpdateHandler: policies_satisfied=False, subject_identifier="pkg-0.1-1.c1", ) - decision_update(conf, msg) + decision_update(msg) log.debug.assert_called_once_with( "Skip to handle module build %s because it has not satisfied Greenwave policies.", msg.subject_identifier, diff --git a/tests/test_scheduler/test_module_init.py b/tests/test_scheduler/test_module_init.py index 1f5925c..3b80779 100644 --- a/tests/test_scheduler/test_module_init.py +++ b/tests/test_scheduler/test_module_init.py @@ -72,7 +72,7 @@ class TestModuleInit: db_session.commit() msg = MBSModule(msg_id=None, module_build_id=2, module_build_state="init") - self.fn(config=conf, msg=msg) + self.fn(msg=msg) build = ModuleBuild.get_by_id(db_session, 2) # Make sure the module entered the wait state @@ -113,7 +113,7 @@ class TestModuleInit: ) msg = MBSModule(msg_id=None, module_build_id=2, module_build_state="init") - self.fn(config=conf, msg=msg) + self.fn(msg=msg) build = ModuleBuild.get_by_id(db_session, 2) # Make sure the module entered the failed state @@ -139,7 +139,7 @@ class TestModuleInit: ModuleBuild.create( db_session, conf, "includemodule", "1", 3, mmd_to_str(mmd), scmurl, "mprahl") msg = MBSModule(msg_id=None, module_build_id=3, module_build_state="init") - self.fn(config=conf, msg=msg) + self.fn(msg=msg) build = ModuleBuild.get_by_id(db_session, 3) assert build.state == 1 assert build.name == "includemodule" @@ -177,7 +177,7 @@ class TestModuleInit: build = ModuleBuild.get_by_id(db_session, 2) mocked_from_module_event.return_value = build - self.fn(config=conf, msg=msg) + self.fn(msg=msg) # Query the database again to make sure the build object is updated db_session.refresh(build) diff --git a/tests/test_scheduler/test_module_wait.py b/tests/test_scheduler/test_module_wait.py index 99f2906..f7ae61b 100644 --- a/tests/test_scheduler/test_module_wait.py +++ b/tests/test_scheduler/test_module_wait.py @@ -46,7 +46,7 @@ class TestModuleWait: module_build_id=module_build_id, module_build_state="some state") with patch("module_build_service.resolver.GenericResolver.create"): - self.fn(config=self.config, msg=msg) + self.fn(msg=msg) @patch( "module_build_service.builder.GenericBuilder.default_buildroot_groups", @@ -83,8 +83,7 @@ class TestModuleWait: generic_resolver.create.return_value = resolver msg = MBSModule(msg_id=None, module_build_id=2, module_build_state="some state") - module_build_service.scheduler.handlers.modules.wait( - config=conf, msg=msg) + module_build_service.scheduler.handlers.modules.wait(msg=msg) koji_session.newRepo.assert_called_once_with("module-123-build") @@ -129,8 +128,7 @@ class TestModuleWait: generic_resolver.create.return_value = resolver msg = MBSModule(msg_id=None, module_build_id=2, module_build_state="some state") - module_build_service.scheduler.handlers.modules.wait( - config=conf, msg=msg) + module_build_service.scheduler.handlers.modules.wait(msg=msg) assert koji_session.newRepo.called @@ -174,8 +172,7 @@ class TestModuleWait: generic_resolver.create.return_value = resolver msg = MBSModule(msg_id=None, module_build_id=2, module_build_state="some state") - module_build_service.scheduler.handlers.modules.wait( - config=conf, msg=msg) + module_build_service.scheduler.handlers.modules.wait(msg=msg) module_build = ModuleBuild.get_by_id(db_session, 2) assert module_build.cg_build_koji_tag == "modular-updates-candidate" @@ -243,8 +240,6 @@ class TestModuleWait: ): generic_resolver.create.return_value = resolver msg = MBSModule(msg_id=None, module_build_id=2, module_build_state="some state") - module_build_service.scheduler.handlers.modules.wait( - config=conf, msg=msg - ) + module_build_service.scheduler.handlers.modules.wait(msg=msg) module_build = ModuleBuild.get_by_id(db_session, 2) assert module_build.cg_build_koji_tag == expected_cg_koji_build_tag diff --git a/tests/test_scheduler/test_repo_done.py b/tests/test_scheduler/test_repo_done.py index 355873e..84ae1b3 100644 --- a/tests/test_scheduler/test_repo_done.py +++ b/tests/test_scheduler/test_repo_done.py @@ -8,7 +8,7 @@ import module_build_service.models from module_build_service.db_session import db_session from module_build_service.models import ComponentBuild from module_build_service.scheduler.events import KojiRepoChange -from tests import conf, scheduler_init_data +from tests import scheduler_init_data class TestRepoDone: @@ -22,7 +22,7 @@ class TestRepoDone: from_repo_done_event.return_value = None msg = KojiRepoChange( "no matches for this...", "2016-some-nonexistent-build") - module_build_service.scheduler.handlers.repos.done(config=conf, msg=msg) + module_build_service.scheduler.handlers.repos.done(msg=msg) @mock.patch( "module_build_service.builder.KojiModuleBuilder." @@ -59,7 +59,7 @@ class TestRepoDone: msg = KojiRepoChange( "some_msg_id", "module-testmodule-master-20170109091357-7c29193d-build") - module_build_service.scheduler.handlers.repos.done(config=conf, msg=msg) + module_build_service.scheduler.handlers.repos.done(msg=msg) build_fn.assert_called_once_with( artifact_name="tangerine", source=( @@ -119,7 +119,7 @@ class TestRepoDone: msg = KojiRepoChange( "some_msg_id", "module-testmodule-master-20170109091357-7c29193d-build") - module_build_service.scheduler.handlers.repos.done(config=conf, msg=msg) + module_build_service.scheduler.handlers.repos.done(msg=msg) finalizer.assert_called_once() @@ -159,7 +159,7 @@ class TestRepoDone: msg = KojiRepoChange( "some_msg_id", "module-testmodule-master-20170109091357-7c29193d-build") - module_build_service.scheduler.handlers.repos.done(config=conf, msg=msg) + module_build_service.scheduler.handlers.repos.done(msg=msg) build_fn.assert_called_once_with( artifact_name="tangerine", source=( @@ -186,7 +186,7 @@ class TestRepoDone: msg = KojiRepoChange( "some_msg_id", "module-testmodule-master-20170109091357-7c29193d-build") - module_build_service.scheduler.handlers.repos.done(config=conf, msg=msg) + module_build_service.scheduler.handlers.repos.done(msg=msg) mock_log_info.assert_called_with( "Ignoring repo regen, because not all components are tagged." @@ -225,7 +225,7 @@ class TestRepoDone: msg = KojiRepoChange( "some_msg_id", "module-testmodule-master-20170109091357-7c29193d-build") - module_build_service.scheduler.handlers.repos.done(config=conf, msg=msg) + module_build_service.scheduler.handlers.repos.done(msg=msg) module_build = module_build_service.models.ModuleBuild.get_by_id(db_session, 2) assert module_build.state == module_build_service.models.BUILD_STATES["failed"] diff --git a/tests/test_scheduler/test_tag_tagged.py b/tests/test_scheduler/test_tag_tagged.py index 1f9505d..bd8942d 100644 --- a/tests/test_scheduler/test_tag_tagged.py +++ b/tests/test_scheduler/test_tag_tagged.py @@ -11,7 +11,6 @@ import module_build_service.scheduler.handlers.tags import module_build_service.models from module_build_service.scheduler.events import KojiTagChange -from tests import conf from module_build_service.db_session import db_session import koji @@ -28,8 +27,7 @@ class TestTagTagged: from_tag_change_event.return_value = None msg = KojiTagChange( "no matches for this...", "2016-some-nonexistent-build", "artifact", "artifact-1.2-1") - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) def test_no_matching_artifact(self): """ Test that when a tag msg hits us and we have no match, @@ -41,8 +39,7 @@ class TestTagTagged: "artifact", "artifact-1.2-1", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) @patch( "module_build_service.builder.GenericBuilder.default_buildroot_groups", @@ -94,9 +91,7 @@ class TestTagTagged: "perl-Tangerine", "perl-Tangerine-0.23-1.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg - ) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # Tag the first component to the final tag. msg = KojiTagChange( "id", @@ -104,9 +99,7 @@ class TestTagTagged: "perl-Tangerine", "perl-Tangerine-0.23-1.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg - ) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # newRepo should not be called, because there are still components # to tag. @@ -119,9 +112,7 @@ class TestTagTagged: "perl-List-Compare", "perl-List-Compare-0.53-5.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg - ) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # newRepo should not be called, because the component has not been # tagged to final tag so far. @@ -134,8 +125,7 @@ class TestTagTagged: "perl-List-Compare", "perl-List-Compare-0.53-5.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # newRepo should be called now - all components have been tagged. koji_session.newRepo.assert_called_once_with( @@ -190,8 +180,7 @@ class TestTagTagged: "perl-Tangerine", "perl-Tangerine-0.23-1.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # Tag the perl-List-Compare component to final tag. msg = KojiTagChange( "id", @@ -199,8 +188,7 @@ class TestTagTagged: "perl-Tangerine", "perl-Tangerine-0.23-1.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # newRepo should not be called, because perl-List-Compare has not been # built yet. @@ -260,9 +248,7 @@ class TestTagTagged: "perl-List-Compare", "perl-List-Compare-0.53-5.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg - ) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # Tag the perl-List-Compare component to final tag. msg = KojiTagChange( "id", @@ -270,8 +256,7 @@ class TestTagTagged: "perl-List-Compare", "perl-List-Compare-0.53-5.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # newRepo should be called now - all successfully built # components have been tagged. @@ -336,8 +321,7 @@ class TestTagTagged: "perl-Tangerine", "perl-Tangerine-0.23-1.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # Tag the first component to the final tag. msg = KojiTagChange( "id", @@ -345,8 +329,7 @@ class TestTagTagged: "perl-Tangerine", "perl-Tangerine-0.23-1.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # newRepo should not be called, because there are still components # to tag. @@ -359,8 +342,7 @@ class TestTagTagged: "perl-List-Compare", "perl-List-Compare-0.53-5.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # Tag the second component to final tag. msg = KojiTagChange( "id", @@ -368,8 +350,7 @@ class TestTagTagged: "perl-List-Compare", "perl-List-Compare-0.53-5.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # newRepo should not be called, because there are still components # to tag. @@ -382,8 +363,7 @@ class TestTagTagged: "module-build-macros", "module-build-macros-0.1-1.module+0+b0a1d1f7", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # Tag the component from first batch to the buildroot. msg = KojiTagChange( "id", @@ -391,8 +371,7 @@ class TestTagTagged: "module-build-macros", "module-build-macros-0.1-1.module+0+b0a1d1f7", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # newRepo should be called now - all components have been tagged. koji_session.newRepo.assert_called_once_with( @@ -463,8 +442,7 @@ class TestTagTagged: "perl-Tangerine", "perl-Tangerine-0.23-1.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) assert not koji_session.newRepo.called # Tag the perl-List-Compare component to the buildroot. msg = KojiTagChange( @@ -473,8 +451,7 @@ class TestTagTagged: "perl-List-Compare", "perl-List-Compare-0.53-5.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # Tag the perl-List-Compare component to final tag. msg = KojiTagChange( "id", @@ -482,8 +459,7 @@ class TestTagTagged: "perl-List-Compare", "perl-List-Compare-0.53-5.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # newRepo should be called now - all successfully built # components have been tagged. @@ -562,8 +538,7 @@ class TestTagTagged: "perl-Tangerine", "perl-Tangerine-0.23-1.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # Tag the first component to the final tag. msg = KojiTagChange( "id", @@ -571,8 +546,7 @@ class TestTagTagged: "perl-Tangerine", "perl-Tangerine-0.23-1.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # Tag the second component to the buildroot. msg = KojiTagChange( "id", @@ -580,8 +554,7 @@ class TestTagTagged: "perl-List-Compare", "perl-List-Compare-0.53-5.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # Tag the second component to the final tag. msg = KojiTagChange( "id", @@ -589,8 +562,7 @@ class TestTagTagged: "perl-List-Compare", "perl-List-Compare-0.53-5.module+0+d027b723", ) - module_build_service.scheduler.handlers.tags.tagged( - config=conf, msg=msg) + module_build_service.scheduler.handlers.tags.tagged(msg=msg) # All components are tagged, newRepo should be called if there are no active tasks. if expect_new_repo: diff --git a/tests/test_utils/test_utils.py b/tests/test_utils/test_utils.py index 6fe6510..7206d72 100644 --- a/tests/test_utils/test_utils.py +++ b/tests/test_utils/test_utils.py @@ -1238,7 +1238,7 @@ class TestBatches: # the components just once. for msg in further_work: if type(msg) == KojiBuildChange: - module_build_service.scheduler.handlers.components.complete(conf, msg) + module_build_service.scheduler.handlers.components.complete(msg) # Since we have reused all the components in the batch, there should # be fake KojiRepoChange message.