-
Notifications
You must be signed in to change notification settings - Fork 136
Description
Is your feature request related to a problem? Please describe.
I am trying to setup an on-demand sync with rpm repo of rpm.grafana.com, but i hit a NEVRA issue.
Output of the sync task mentions this
"error": {
"traceback": " File \"/usr/local/lib/python3.11/site-packages/pulpcore/tasking/tasks.py\", line 72, in _execute_task\n result = task_function()\n ^^^^^^^^^^^^^^^\n File \"/usr/local/lib/python3.11/site-packages/pulp_rpm/app/tasks/synchronizing.py\", line 569, in synchronize\n repo_version = dv.create() or repo.latest_version()\n ^^^^^^^^^^^\n File \"/usr/local/lib/python3.11/site-packages/pulpcore/plugin/stages/declarative_version.py\", line 157, in create\n with self.repository.new_version() as new_version:\n File \"/usr/local/lib/python3.11/site-packages/pulpcore/app/models/repository.py\", line 1354, in __exit__\n repository.finalize_new_version(self)\n File \"/usr/local/lib/python3.11/site-packages/pulp_rpm/app/models/repository.py\", line 426, in finalize_new_version\n validate_duplicate_content(new_version)\n File \"/usr/local/lib/python3.11/site-packages/pulpcore/plugin/repo_version_utils.py\", line 107, in validate_duplicate_content\n raise ValueError(\n",
"description": "Cannot create repository version. More than one rpm.package content with the duplicate values for name, epoch, version, release, arch, location_href."
},
Unfortunate the task does not mention which packages are causing this conflict.
Describe the solution you'd like
The task status report (or somewhere else in the pulp logging) should show the duplicate values causing the error. This would help the user to identify the packaging causing the issue, and maybe resolve it.
Describe alternatives you've considered
Now i used a python script to download all the metadata to analyze this issue, which listed me the following conflicts
name,epoch,version,release,arch,location_hrefs
grafana,0,10.0.10,1,aarch64,"['Packages/grafana-10.0.10-1.aarch64.rpm', 'Packages/grafana-10.0.10-1.armhfp.rpm']"
grafana,0,v10.0.4,1,armhf,"['Packages/grafana-10.0.4-1.arm.rpm', 'Packages/grafana-10.0.4-1.armhfp.rpm']"
grafana,0,10.1.0,1,armhf,"['Packages/grafana-10.1.0-1.arm.rpm', 'Packages/grafana-10.1.0-1.armhfp.rpm']"
grafana,0,10.1.6,1,aarch64,"['Packages/grafana-10.1.6-1.aarch64.rpm', 'Packages/grafana-10.1.6-1.armhfp.rpm']"
grafana-enterprise,0,10.1.6,1,aarch64,"['Packages/grafana-enterprise-10.0.10-1.armhfp.rpm', 'Packages/grafana-enterprise-10.1.6-1.aarch64.rpm', 'Packages/grafana-enterprise-10.1.6-1.armhfp.rpm']"
grafana-enterprise,0,v10.0.4,1,armhf,"['Packages/grafana-enterprise-10.0.4-1.arm.rpm', 'Packages/grafana-enterprise-10.0.4-1.armhfp.rpm']"
grafana-enterprise,0,10.1.0,1,aarch64,"['Package/grafana-enterprise-10.1.0-1.aarch64.rpm', 'Packages/grafana-enterprise-10.1.0-1.aarch64.rpm']"
grafana-enterprise,0,10.1.0,1,armhf,"['Package/grafana-enterprise-10.1.0-1.arm.rpm', 'Package/grafana-enterprise-10.1.0-1.armhfp.rpm', 'Packages/grafana-enterprise-10.1.0-1.arm.rpm', 'Packages/grafana-enterprise-10.1.0-1.armhfp.rpm']"
grafana-enterprise,0,10.1.0,1,x86_64,"['Package/grafana-enterprise-10.1.0-1.x86_64.rpm', 'Packages/grafana-enterprise-10.1.0-1.x86_64.rpm']"
Additional context
Preferably i would also have an exclusion filter on the sync for these conflicting packages, but there is already an bug report for this at pulp/pulp_rpm#3469