Actions
Bug #34635
closedCannot upload a package to a repository if the same package already exists in another repository, but is not downloaded
Difficulty:
Triaged:
Yes
Bugzilla link:
Pull request:
Description
Trying to manually upload a package to a repository (using hammer or directly via API) will fail if the package being uploaded exists in any repository, but it's not downloaded yet.
Version-Release number of selected component (if applicable):
6.10.2
How reproducible:
Steps to Reproduce:
1. Sync a repository with policy "on demand". For example EPEL
2. Create a custom repository (different than EPEL)
3. Manually download any package from EPEL and try to upload it to the custom repository:
- wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/0/0ad-0.0.22-1.el7.x86_64.rpm
- hammer repository upload-content --id 88 --path /root/0ad-0.0.22-1.el7.x86_64.rpm
Could not upload the content:
Task f97ecff1-9b11-4f76-97a1-0eeea168fc70: Katello::Errors::Pulp3Error: {'non_field_errors': [ErrorDetail(string='There is already a package with: arch=x86_64, checksum_type=sha256, epoch=0, name=0ad, pkgId=d7d709ff104a89b5f0de45688fdc31cef8d0ace274350b489151d035b977834c, release=1.el7, version=0.0.22.', code='invalid')]}
~~~
Actual results:
Upload fails.
Expected results:
Upload would work.
Additional info:
If the package exists and IS DOWNLOADED, the upload works just fine. It's enough to make a request to satellite so pulp will download it, and then try again:
~~~- curl
o /dev/null -k https://satellite.example.com/pulp/content/DefaultOrganization/Library/custom/EPEL/epel7/Packages/0/0ad-0.0.22-1.el7.x86_64.rpm:--:-- --:--:-- --:--:-- 5537k
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3776k 100 3776k 0 0 5541k 0 - - hammer repository upload-content --id 88 --path /root/0ad-0.0.22-1.el7.x86_64.rpm
Successfully uploaded file '0ad-0.0.22-1.el7.x86_64.rpm'
~~~
Actions