Description of problem: When trying to mirror the repository using pulp getting an error: Task Failed Malformed repository: metadata is missing for some packages in filelists.xml and in other.xml Version-Release number of selected component (if applicable): used URL to mirror: http://resources.ovirt.org/pub/ovirt-4.1/rpm/el7 Pulp versions: pulp-rpm-admin-extensions-2.12.1-1.el7.noarch pulp-rpm-plugins-2.12.1-1.el7.noarch pulp-server-2.12.1-1.el7.noarch How reproducible: yes Steps to Reproduce: 1. Install pulp 2. Setup ovirt repo using URL: http://resources.ovirt.org/pub/ovirt-4.1/rpm/el7 3. run "pulp-admin rpm repo sync run" Actual results: +----------------------------------------------------------------------+ Synchronizing Repository [ovirt41-el7] +----------------------------------------------------------------------+ This command may be exited via ctrl+c without affecting the request. Downloading metadata... [/] Task Failed Malformed repository: metadata is missing for some packages in filelists.xml and in other.xml Expected results: +----------------------------------------------------------------------+ Synchronizing Repository [ovirt40-el7] +----------------------------------------------------------------------+ This command may be exited via ctrl+c without affecting the request. Downloading metadata... [\] ... completed Downloading repository content... [-] [==================================================] 100% RPMs: 0/0 items Delta RPMs: 0/0 items ... completed Downloading distribution files... [==================================================] 100% Distributions: 0/0 items ... completed Importing errata... [-] ... completed Importing package groups/categories... [-] ... completed Cleaning duplicate packages... [-] ... completed Task Succeeded Task Succeeded Additional info:
Anton, can you check? Maybe a repoman bug? Can you fix it?
I checked our repo using reposync and it appears to properly read all the index files and be able to sync the repo fully locally: amarchuk@lathlaeril:~/tmp$ reposync -c /etc/yum/yum.conf -r ovirt-4.1 -l -p ovirt-4.1-tmp ovirt-4.1 | 2.9 kB 00:00 ovirt-4.1/primary_db | 133 kB 00:00 [ovirt-4.1: 1 of 333 ] Downloading noarch/cockpit-ovirt-dashboard-0.10.7-0.0.15.el7.centos.noarch.rpm cockpit-ovirt-dashboard-0.10.7-0.0.15.el7.centos.noarch.rpm | 7.1 MB 00:01 [ovirt-4.1: 2 of 333 ] Downloading noarch/cockpit-ovirt-dashboard-0.10.7-0.0.6.el7.centos.noarch.rpm cockpit-ovirt-dashboard-0.10.7-0.0.6.el7.centos.noarch.rpm | 2.3 MB 00:01 [ ... skipped ... ] [ovirt-4.1: 332 of 333 ] Downloading noarch/vdsm-yajsonrpc-4.19.10-1.el7.centos.noarch.rpm vdsm-yajsonrpc-4.19.10-1.el7.centos.noarch.rpm | 28 kB 00:00 [ovirt-4.1: 333 of 333 ] Downloading noarch/vdsm-yajsonrpc-4.19.4-1.el7.centos.noarch.rpm vdsm-yajsonrpc-4.19.4-1.el7.centos.noarch.rpm amarchuk@lathlaeril:~/tmp$ cat /etc/yum/repos.d/ovirt.repo [ovirt-4.1] name=Latest oVirt 4.1 Release baseurl=http://resources.ovirt.org/pub/ovirt-4.1/rpm/el7 #mirrorlist=http://resources.ovirt.org/pub/yum-repo/mirrorlist-ovirt-4.1-@DIST@$releasever enabled=1 skip_if_unavailable=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-ovirt-4.1 Since reposync is basically yum I can assume that the repoindex is ok. Daniel, would you mind please checking the sync one more time? It might be that the repo was indeed broken, but somehow recovered as of now and thus I am unable to reproduce it. However if it still does not work for you, would you mind please opening a ticket at https://pulp.plan.io/issues ? I will leave it open for some time so we can see if it works now or not. Thanks.
I've checked it. With yum everything is working fine. The problem is only with pulp sync. It is working OK for 4.0 (http://resources.ovirt.org/pub/ovirt-4.0/rpm/el7)
Hello Daniel. Ok. The only thing left to check was the fact that pulp complains on xml formatted metadata rather than sqlite ones. To make sure that yum/reposync takes the metadata from xml I temporarily created a repository copy and removed all db files from repomd.xml leaving xmls only there. I still able to sync repo using reposync without problems. However this will use only primary.xml.gz rather then filelists.xml and other.xml as in pulp error message. I also run the following queries using repoquery to force it use metadata from filelists and other: repoquery --repoid=ovirt-4.1-nosqlite --all | xargs -n1 repoquery --repoid=ovirt-4.1-nosqlite --list > list.txt repoquery --repoid=ovirt-4.1-nosqlite --all | xargs -n1 repoquery --repoid=ovirt-4.1-nosqlite --changelog > changelog.txt that basically output filelists and changelogs of all packages in the repo. And I am unable to see any errors produced. Unfortunately "metadata is missing for some packages" does not also give us any clue on what exactly is missing and where. To facilitate further debugging I have created a copy of current 4.1 el7 "as is" and saved it in under the following link: http://resources.ovirt.org/repos/amarchuk/el7-bz1439533/repodata/ feel free to use it when opening an issue on pulp and please reply back with the ticket link so we can also track it. Thanks.
Hi, the problem still exists on the copied repo: [root@borewicz ~]# pulp-admin rpm repo create --repo-id=ovirt41-el7-new --relative-url=ovirt41-el7-new --feed=http://resources.ovirt.org/repos/amarchuk/el7-bz1439533 --serve-http=true --display-name="oVirt 4.1 EL7" --description="oVirt 4.1 EL7" Successfully created repository [ovirt41-el7-new] [root@borewicz ~]# pulp-admin rpm repo sync run --force-full --repo-id=ovirt41-el7-new +----------------------------------------------------------------------+ Synchronizing Repository [ovirt41-el7-new] +----------------------------------------------------------------------+ The following sync configuration options will be used: Force Full: True This command may be exited via ctrl+c without affecting the request. Downloading metadata... [\] ... completed Downloading repository content... [-] Task Failed Malformed repository: metadata is missing for some packages in filelists.xml and in other.xml
Ok. This copy will not be mutated so you can use it as a stable link for a reproducer when opening the ticket at https://pulp.plan.io/issues
Hi, I've just updated the 4.1 repo with a 4.1.1 async release. Can you check if pulp still have an issue with that repo?
I found that repoquery will not return any error or status code when it is called with missing package. This can make previous tests not fully valid. Thus I wrote a simple python script that iterates over packages in primary.xml and then tries to look up each of them in filelists.xml and other.xml. It seems that they are complete and each package in primary have corresponding entries in filelists and other. The only strange thing I have found is that all our release rpms have duplicate entries in indexes of exactly the same content. I am not sure if it is ok or not, but we have the same issue in ovirt-4.0 repo and Daniel said it syncs fine with Pulp. Also repoquery do not have any problems with those duplicate entries and can query release rpms fine. Unfortunately with current information and error messages we have that's all we can do to debug it on our side.
Yes, I can confirm that the problem still exists on the http://resources.ovirt.org/repos/amarchuk/el7-bz1439533 and still on the official http://resources.ovirt.org/pub/ovirt-4.1/rpm/el7 SO you suggest to open a bug on the Pulp for this?
I've created the issue on the pulp: https://pulp.plan.io/issues/2695
(In reply to daniel from comment #10) > I've created the issue on the pulp: https://pulp.plan.io/issues/2695 So can we close this one?
If you feel that this is a problem with pulp rather than with your repo? I don't know. Have you tried to rebuild the repo at your site?
Thanks for creating issue in the pulp issue tracker. Let's continue tracking it there. Yes. The repo was recreated when Sandro pushed 4.1.1 async update and it still does not work with pulp. Since it works fine with yum tools and also seems xmls look to be complete and well formed I am closing this issue here. If there is any new information appears we can reopen it.