Issue #3104
closedrepomd.xml is empty
Description
When Pulp publishes and RPM repository, it places a number of files in a repodata
directory. The most important of these files is the repomd.xml
file. This file tells clients where all other files live. When Pulp 2.15 publishes an RPM file, all repomd.xml
files are empty.
Here's a simple way to reproduce the issue:
pulp-admin login -u admin -p admin
pulp-admin rpm repo create --repo-id foo --feed https://repos.fedorapeople.org/pulp/pulp/fixtures/rpm-unsigned/
pulp-admin rpm repo sync run --repo-id foo
find /var/lib/pulp -name repomd.xml -exec wc '{}' ';'
In my case, here's the final line of output:
0 0 0 /var/lib/pulp/published/yum/master/yum_distributor/foo/1509121269.36/repodata/repomd.xml
This issue affects Pulp 2.15 on F24, F25 and RHEL 7. It probably affects Pulp 2.15 on F26 too, but there's installation issues there, so I can't say for sure.
This issue isn't caused by SELinux. I can reproduce the issue with SELinux disabled. Also, there's no AVC denials in the system logs.
This issue occurs in a wide varity of situations. Several dozen Pulp Smash test cases all fail because of this.
Files
Added by Paul Donohue about 7 years ago
Updated by mhrivnak about 7 years ago
I did a fresh "vagrant up" of all the master branches for pulp 2. The vagrant box uses Fedora 25. I followed exactly your steps, although I had to be the "apache" user for both the "find" and "wc" commands. So far Pulp is creating the repomd.xml correctly.
[vagrant@pulp2 ~]$ sudo -u apache wc /var/lib/pulp/published/yum/master/yum_distributor/foo/1509123641.08/repodata/repomd.xml
8 36 2153 /var/lib/pulp/published/yum/master/yum_distributor/foo/1509123641.08/repodata/repomd.xml
Updated by Ichimonji10 about 7 years ago
This may affect only our package-based installations. This affects systems on Jenkins, and all of my systems used package-based installations.
Updated by mhrivnak about 7 years ago
When I got on the VM pcreech provided, I found that the repomd.xml file was still being held open by the worker process. Here is select output from "lsof":
celery 11915 apache cwd DIR 0,18 100 33131 /run/pulp
celery 11915 apache 19w REG 253,0 0 16963172 /var/lib/pulp/published/yum/master/yum_distributor/foo/1509132750.65/repodata/repomd.xml
celery 11915 11917 apache cwd DIR 0,18 100 33131 /run/pulp
celery 11915 11917 apache 19w REG 253,0 0 16963172 /var/lib/pulp/published/yum/master/yum_distributor/foo/1509132750.65/repodata/repomd.xml
celery 11915 11919 apache cwd DIR 0,18 100 33131 /run/pulp
celery 11915 11919 apache 19w REG 253,0 0 16963172 /var/lib/pulp/published/yum/master/yum_distributor/foo/1509132750.65/repodata/repomd.xml
celery 11915 12068 apache cwd DIR 0,18 100 33131 /run/pulp
celery 11915 12068 apache 19w REG 253,0 0 16963172 /var/lib/pulp/published/yum/master/yum_distributor/foo/1509132750.65/repodata/repomd.xml
celery 11915 12069 apache cwd DIR 0,18 100 33131 /run/pulp
celery 11915 12069 apache 19w REG 253,0 0 16963172 /var/lib/pulp/published/yum/master/yum_distributor/foo/1509132750.65/repodata/repomd.xml
celery 11915 12072 apache cwd DIR 0,18 100 33131 /run/pulp
celery 11915 12072 apache 19w REG 253,0 0 16963172 /var/lib/pulp/published/yum/master/yum_distributor/foo/1509132750.65/repodata/repomd.xml
Updated by bmbouter about 7 years ago
- Status changed from NEW to MODIFIED
- Assignee set to PaulSD
I'm thinking that this broke with this [0] PR and was fixed when this PR [1] got merged. Specifically there was a missing call to finalize() which is now back in place. So with that in mind I'm associating that commit and moving to MODIFIED. Since we're sending back after a failure I'm marking Verification Required as True.
[0]: https://github.com/pulp/pulp_rpm/pull/1065
[1]: https://github.com/pulp/pulp_rpm/pull/1067
Updated by PaulSD about 7 years ago
Agreed, the missing finalize() call caused similar behavior during my testing, and should be fixed with the second PR.
Updated by Ichimonji10 almost 7 years ago
There are numerous tests already targeting this issue, and they all pass.
Updated by pcreech almost 7 years ago
- Status changed from 5 to CLOSED - CURRENTRELEASE
Updated by bailyd17 about 5 years ago
- File clipboard-201910111003-x4qs7.png added
- File clipboard-201910111004-gopg5.png added
- File clipboard-201910111004-fulry.png added
Updated by lmjachky over 4 years ago
- File deleted (
clipboard-201910111003-x4qs7.png)
Updated by lmjachky over 4 years ago
- File deleted (
clipboard-201910111004-gopg5.png)
Updated by lmjachky over 4 years ago
- File deleted (
clipboard-201910111004-fulry.png)
Add missing super() call in f73805f6
re #3055 https://pulp.plan.io/issues/3055