From 7d2e754f35d09a57294235157eb7b27305c1db15 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Fri, 20 Nov 2020 16:00:19 -0500 Subject: [PATCH] Fix handling of getting "modulemd: null" in MBS verbose response The code made some half-hearted attemps to handle a MBS verbose query missing the modulemd data, but it didn't do anything logically consistent - fix it to consistently ignore such modules. --- module_build_service/resolver/MBSResolver.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/module_build_service/resolver/MBSResolver.py b/module_build_service/resolver/MBSResolver.py index 3d8ac21f..639ec22e 100644 --- a/module_build_service/resolver/MBSResolver.py +++ b/module_build_service/resolver/MBSResolver.py @@ -144,18 +144,16 @@ class MBSResolver(KojiResolver): if not modules: return [] - yaml = None mmds = [] for module in modules: - if module: - yaml = module["modulemd"] - + yaml = module["modulemd"] if not yaml: if strict: raise UnprocessableEntity( "Failed to find modulemd entry in MBS for %r" % module) else: - return None + log.warning("Failed to find modulemd entry in MBS for %r", module) + continue mmds.append(load_mmd(yaml)) return mmds @@ -363,7 +361,10 @@ class MBSResolver(KojiResolver): else: queried_module = self.get_module(name, stream, version, context, strict=strict) yaml = queried_module["modulemd"] - queried_mmd = load_mmd(yaml) + if yaml: + queried_mmd = load_mmd(yaml) + else: + queried_mmd = None if not queried_mmd or "buildrequires" not in queried_mmd.get_xmd().get("mbs", {}): raise RuntimeError(