Actions
Issue #8756
closedRepeated syncs with mirror=false lead to duplicate metadata files within repo versions (causing the sync to fail)
Start date:
Due date:
Estimated time:
Severity:
3. High
Version - Debian:
Platform Release:
Target Release - Debian:
OS:
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:
Description
I hit this one during a sync
pulp_1 | 12:47:10 Traceback (most recent call last):
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/repo_version_utils.py", line 124, in validate_version_paths
pulp_1 | validate_file_paths(paths)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/app/files.py", line 134, in validate_file_paths
pulp_1 | raise ValueError(_("Path is duplicated: {path}").format(path=path))
pulp_1 | ValueError: Path is duplicated: dists/xenial-updates/universe/i18n/Translation-en.gz
pulp_1 |
pulp_1 | During handling of the above exception, another exception occurred:
pulp_1 |
pulp_1 | Traceback (most recent call last):
pulp_1 | File "/usr/local/lib/python3.6/site-packages/rq/worker.py", line 1008, in perform_job
pulp_1 | rv = job.perform()
pulp_1 | File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 706, in perform
pulp_1 | self._result = self._execute()
pulp_1 | File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 729, in _execute
pulp_1 | result = self.func(*self.args, **self.kwargs)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulp_deb/app/tasks/synchronizing.py", line 122, in synchronize
pulp_1 | DebDeclarativeVersion(first_stage, repository, mirror=mirror).create()
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py", line 149, in create
pulp_1 | loop.run_until_complete(pipeline)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/app/models/repository.py", line 912, in __exit__
pulp_1 | repository.finalize_new_version(self)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulp_deb/app/models/repository.py", line 53, in finalize_new_version
pulp_1 | validate_repo_version(new_version)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/repo_version_utils.py", line 139, in validate_repo_version
pulp_1 | validate_version_paths(version)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/repo_version_utils.py", line 126, in validate_version_paths
pulp_1 | raise ValueError(_("Cannot create repository version. {err}.").format(err=e))
pulp_1 | ValueError: Cannot create repository version. Path is duplicated: dists/xenial-updates/universe/i18n/Translation-en.gz.
pulp_1 | Traceback (most recent call last):
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/repo_version_utils.py", line 124, in validate_version_paths
pulp_1 | validate_file_paths(paths)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/app/files.py", line 134, in validate_file_paths
pulp_1 | raise ValueError(_("Path is duplicated: {path}").format(path=path))
pulp_1 | ValueError: Path is duplicated: dists/xenial-updates/universe/i18n/Translation-en.gz
pulp_1 |
pulp_1 | During handling of the above exception, another exception occurred:
pulp_1 |
pulp_1 | Traceback (most recent call last):
pulp_1 | File "/usr/local/lib/python3.6/site-packages/rq/worker.py", line 1008, in perform_job
pulp_1 | rv = job.perform()
pulp_1 | File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 706, in perform
pulp_1 | self._result = self._execute()
pulp_1 | File "/usr/local/lib/python3.6/site-packages/rq/job.py", line 729, in _execute
pulp_1 | result = self.func(*self.args, **self.kwargs)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulp_deb/app/tasks/synchronizing.py", line 122, in synchronize
pulp_1 | DebDeclarativeVersion(first_stage, repository, mirror=mirror).create()
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/stages/declarative_version.py", line 149, in create
pulp_1 | loop.run_until_complete(pipeline)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/app/models/repository.py", line 912, in __exit__
pulp_1 | repository.finalize_new_version(self)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulp_deb/app/models/repository.py", line 53, in finalize_new_version
pulp_1 | validate_repo_version(new_version)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/repo_version_utils.py", line 139, in validate_repo_version
pulp_1 | validate_version_paths(version)
pulp_1 | File "/usr/local/lib/python3.6/site-packages/pulpcore/plugin/repo_version_utils.py", line 126, in validate_version_paths
pulp_1 | raise ValueError(_("Cannot create repository version. {err}.").format(err=e))
pulp_1 | ValueError: Cannot create repository version. Path is duplicated: dists/xenial-updates/universe/i18n/Translation-en.gz.
Pulp versions
pulp-ansible 0.7.3
pulp-certguard 1.2.0
pulp-container 2.5.2
pulp-deb 2.11.1
pulp-file 1.7.0
pulp-maven 0.2.0
pulp-python 3.2.0
pulp-rpm 3.10.0
pulpcore 3.12.2
Related issues
Actions
Fix mirrored metadata handling when creating new repo versions
closes #8756 https://pulp.plan.io/issues/8756
In particular, this allows us to synchronize repos using mirror=false option.