diff --git a/module_build_service/builder/KojiModuleBuilder.py b/module_build_service/builder/KojiModuleBuilder.py index 1e57603f..b542ad8a 100644 --- a/module_build_service/builder/KojiModuleBuilder.py +++ b/module_build_service/builder/KojiModuleBuilder.py @@ -181,7 +181,9 @@ class KojiModuleBuilder(GenericBuilder): self.koji_session = self.get_session(config) self.arches = [arch.name for arch in self.module.arches] - if not self.arches: + # Allow KojiModuleBuilder to be initialized if no arches are set but the module is in + # a failed set. This will allow the clean up of old module builds. + if not self.arches and module.state not in models.FAILED_STATES: raise ValueError("No arches specified in module build.") # These eventually get populated by calling _connect and __prep is set to True diff --git a/module_build_service/models.py b/module_build_service/models.py index 80c2f16a..e383bd2c 100644 --- a/module_build_service/models.py +++ b/module_build_service/models.py @@ -82,6 +82,7 @@ BUILD_STATES = { } INVERSE_BUILD_STATES = {v: k for k, v in BUILD_STATES.items()} +FAILED_STATES = (BUILD_STATES["failed"], BUILD_STATES["garbage"]) def _utc_datetime_to_iso(datetime_object):