Description of problem: Attempting to install an errata from the 'zoo' test repo results in an error from the consumer. Version-Release number of selected component (if applicable): pulp-server-2.1.1-0.9.beta.el6.noarch How reproducible: always Steps to Reproduce: 1. synced zoo repo ( http://inecas.fedorapeople.org/fakerepos/zoo3/ ) 2. register client, e.g. subscription-manager register --org ACME_Corporation --environment dev/zoo_view_1 3. subscribe client, e.g. subscription-manager subscribe --pool 8a8d01353e56ebfd013e56ef6d900004 4. update the redhat.repo, e.g. yum repolist 5. install an older version of 'walrus' on the client yum install walrus-0.71 6. attempt to install 'RHEA-2012:0002' which should update walrus to walrus-5.21 Actual results: Package not updated on the client. The following error observed in the log: (Notice that the package name is listed as: walrus-None:5.21-1.noarch vs walrus-5.21-1.noarch) 2013-05-02 12:30:56,036 [INFO][worker-0] dispatch() @ dispatcher.py:646 - request: {'classname': 'Content', 'kws': {}, 'args': [[{'unit_key': {'name': 'walrus-None:5.21-1.noarch'}, 'type_id': 'rpm'}], {}], 'method': 'install', 'cntr': None} 2013-05-02 12:30:56,499 [INFO][worker-0] update_progress() @ conduit.py:40 - Progress reported:{'steps': [['Refresh Repository Metadata', None]], 'details': {}} 2013-05-02 12:30:56,730 [ERROR][worker-0] install() @ dispatcher.py:80 - handler failed Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/pulp/agent/lib/dispatcher.py", line 76, in install report = handler.install(conduit, units, dict(options)) File "/usr/lib/pulp/agent/handlers/rpm.py", line 99, in install details = pkg.install(names) File "/usr/lib/python2.6/site-packages/pulp_rpm/handler/rpmtools.py", line 124, in install yb.install(pattern=info) File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 3461, in install raise Errors.InstallError, _('No package(s) available to install') InstallError: No package(s) available to install 2013-05-02 12:30:56,741 [INFO][worker-0] sendreply() @ rmi.py:156 - 0872270c-107c-47a7-ac59-3be9249807f0 processed in: 758 (ms) Expected results: Package on client updated to: walrus-5.21-1 Additional info:
I synchronized this repository to look around. When looking at the errata inventoried in Pulp, I see: [snip] Description: Bird_Erratum From Str: errata Id: RHEA-2012:0003 Issued: 2012-02-29 11:01:11 Pkglist: Name: 1 Packages: Arch: noarch Epoch: None Filename: crow-0.8-1.noarch.rpm Name: crow Release: 1 Src: http://www.fedoraproject.org Version: 0.8 [snip] Looking at the updateinfo.xml itself: <package arch="noarch" name="crow" release="1" src="http://www.fedoraproject.org" version="0.8"> <filename>crow-0.8-1.noarch.rpm</filename> </package> I'm pretty sure the issue is that the errata doesn't contain the epoch, so we can't include it in the errata metadata. I'd guess the assumption when writing this was that the errata was properly formatted, so there's no checks to indicate bad errata. We may want to look into that. In the meantime, I'm not going to treat this as a 2.1.1 blocker under the rationale of bad repository. I'll leave it open to reconsider our assumptions about the data we're synccing.
we will take a look at RHEL updateinfo.xml to see if epoch is always included.
It looks like for the RHEL repo that I am using (which includes ~1800 errata), all 7026 packages that they references, have an epoch. (For simplicity, I used the pulp-admin API to extract the data. :))
moved to sat6-pulp-future
Since this can't be reproduced on a non-testing repo, I'm going to chalk it up to bad test data and close this out. We can reopen if it surfaces on a production repo.
+1 to closing this out