Get the NSVC from Koji module CG build metadata

Stream can contain dash sign and when MBS imports such NSVC to Koji, the
dash is replaced with underscore. The current Pungi code does not
respect that and tries to use the stream from Koji directly, which
results in wrong stream being using in some Pungi internal data.

In this PR, the NSVC is taken from module metadata section of CG Koji
build, which contains real stream including the dashes.

Merges: https://pagure.io/pungi/pull-request/1072
Signed-off-by: Jan Kaluza <jkaluza@redhat.com>
This commit is contained in:
Jan Kaluza 2018-10-23 15:10:29 +02:00 committed by Lubomír Sedlář
parent 10fa53a6ac
commit 5fc0f915c6
2 changed files with 24 additions and 7 deletions

View File

@ -148,13 +148,15 @@ def get_koji_modules(compose, koji_wrapper, event, module_info_str):
except ValueError: except ValueError:
version = md["release"] version = md["release"]
context = "00000000" context = "00000000"
md["stream"] = md["version"]
md["version"] = version
md["context"] = context
try: try:
md["modulemd"] = md["extra"]["typeinfo"]["module"]["modulemd_str"] md["modulemd"] = md["extra"]["typeinfo"]["module"]["modulemd_str"]
md["tag"] = md["extra"]["typeinfo"]["module"]["content_koji_tag"] md["tag"] = md["extra"]["typeinfo"]["module"]["content_koji_tag"]
# Get the NSVC from module metadata, because the original Koji build
# has '-' replaced with "_".
md["name"] = md["extra"]["typeinfo"]["module"]["name"]
md["stream"] = md["extra"]["typeinfo"]["module"]["stream"]
md["version"] = md["extra"]["typeinfo"]["module"]["version"]
md["context"] = md["extra"]["typeinfo"]["module"]["context"]
except KeyError: except KeyError:
continue continue

View File

@ -340,7 +340,12 @@ class TestGetPackageSetFromKoji(helpers.PungiTestCase):
'typeinfo': { 'typeinfo': {
'module': { 'module': {
'content_koji_tag': 'module-b62270b82443edde', 'content_koji_tag': 'module-b62270b82443edde',
'modulemd_str': mock.Mock()} 'modulemd_str': mock.Mock(),
'name': 'testmodule2',
'stream': 'master',
'version': '20180406051653',
'context': '96c371af',
}
} }
} }
mock_build_md = [ mock_build_md = [
@ -464,14 +469,24 @@ class TestGetPackageSetFromKoji(helpers.PungiTestCase):
'typeinfo': { 'typeinfo': {
'module': { 'module': {
'content_koji_tag': 'module-b62270b82443edde', 'content_koji_tag': 'module-b62270b82443edde',
'modulemd_str': mock.Mock()} 'modulemd_str': mock.Mock(),
'name': 'testmodule2',
'stream': 'master',
'version': '20180406051653',
'context': '2e6f5e0a',
}
} }
}, },
{ {
'typeinfo': { 'typeinfo': {
'module': { 'module': {
'content_koji_tag': 'module-52e40b9cdd3c0f7d', 'content_koji_tag': 'module-52e40b9cdd3c0f7d',
'modulemd_str': mock.Mock()} 'modulemd_str': mock.Mock(),
'name': 'testmodule2',
'stream': 'master',
'version': '20180406051653',
'context': '96c371af',
}
} }
} }
] ]