Maintenance: Planio will be observing a scheduled maintenance window this Tuesday, November 5, 2024 from 03:00 UTC until 06:30 UTC to perform urgent network maintenance in our primary data center. Your Planio account will be unavailable during this maintenance window.
Actions
Issue #8874
closedincorrect migration of modular errata casues KeyError: 'name' when syncing from Pulp 3 to Pulp 2
Start date:
Due date:
Estimated time:
Severity:
3. High
Platform Release:
OS:
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Katello
Sprint:
Sprint 101
Quarter:
Description
According to the original report , the failure is seen for RHEL 8 Appstream repos.
I was able to reproduce it with this repo but not Appstream:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/sync.py", line 294, in run
self.update_content(metadata_files, url)
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/sync.py", line 627, in update_content
purge.purge_unwanted_units(metadata_files, self.conduit, self.config, catalog)
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/purge.py", line 45, in purge_unwanted_units
remove_missing_errata(metadata_files, conduit)
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/purge.py", line 148, in remove_missing_errata
updateinfo.process_package_element)
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/purge.py", line 277, in get_remote_units
for unit in package_info_generator:
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/repomd/packages.py", line 64, in package_list_generator
package_info = process_func(element)
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/repomd/updateinfo.py", line 33, in process_package_element
pkglists = map(_parse_pkglist, element.findall('pkglist') or [])
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/repomd/updateinfo.py", line 102, in _parse_pkglist
return map(_parse_collection, element.findall('collection') or [])
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/repomd/updateinfo.py", line 116, in _parse_collection
ret['module'] = _parse_module(module_elements[0])
File "/usr/lib/python2.7/site-packages/pulp_rpm/plugins/importers/yum/repomd/updateinfo.py", line 171, in _parse_module
'name': element.attrib['name'],
KeyError: 'name'
It's unclear if the content has to be migrated or if the problem can be reproduced if the upstream repos are synced to pulp3 directly.
Related issues
Actions
Fix modular errata migration
Wrong initialization of UpdateCollectionModule in createrepo_c which led to all fields being set to null didn't cause any failures but produced a wrong result
<module version=0/>
.closes #8874 https://pulp.plan.io/issues/8874