From 4279e947be5b72430e057d50809230312fb4349e Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Mon, 13 Aug 2018 14:08:36 -0400 Subject: [PATCH] Allow overriding the name and stream from scm repos. If configured on the server side, disabled by default. --- module_build_service/config.py | 10 ++++++++++ module_build_service/utils/submit.py | 12 +++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/module_build_service/config.py b/module_build_service/config.py index 62f40f11..2385b33a 100644 --- a/module_build_service/config.py +++ b/module_build_service/config.py @@ -197,6 +197,16 @@ class Config(object): 'default': True, 'desc': 'Enable or disable imports to koji using content ' 'generator api'}, + 'allow_name_override_from_scm': { + 'type': bool, + 'default': False, + 'desc': 'Allow modulemd files to override the module name ' + 'if different from the scm repo name.'}, + 'allow_stream_override_from_scm': { + 'type': bool, + 'default': False, + 'desc': 'Allow modulemd files to override the module stream ' + 'if different from the scm repo branch.'}, 'allow_custom_scmurls': { 'type': bool, 'default': False, diff --git a/module_build_service/utils/submit.py b/module_build_service/utils/submit.py index be3bcfd5..ff9febda 100644 --- a/module_build_service/utils/submit.py +++ b/module_build_service/utils/submit.py @@ -418,17 +418,19 @@ def _fetch_mmd(url, branch=None, allow_local_url=False, whitelist_url=False): # If the name was set in the modulemd, make sure it matches what the scmurl # says it should be if mmd.get_name() and mmd.get_name() != scm.name: - raise ValidationError('The name "{0}" that is stored in the modulemd ' - 'is not valid'.format(mmd.get_name())) + if not conf.allow_name_override_from_scm: + raise ValidationError('The name "{0}" that is stored in the modulemd ' + 'is not valid'.format(mmd.get_name())) else: mmd.set_name(scm.name) # If the stream was set in the modulemd, make sure it matches what the repo # branch is if mmd.get_stream() and mmd.get_stream() != scm.branch: - raise ValidationError('The stream "{0}" that is stored in the modulemd ' - 'does not match the branch "{1}"'.format( - mmd.get_stream(), scm.branch)) + if not conf.allow_stream_override_from_scm: + raise ValidationError('The stream "{0}" that is stored in the modulemd ' + 'does not match the branch "{1}"'.format( + mmd.get_stream(), scm.branch)) else: mmd.set_stream(str(scm.branch))