Description of problem: Trying to install an rpm from the F20 repo that I synced with pulp seem to be failing. Version-Release number of selected component (if applicable): [root@cisco-b420m3-01 ~]# rpm -qa pulp-server pulp-server-2.4.0-0.16.beta.fc20.noarch [root@cisco-b420m3-01 ~]# How reproducible: Steps to Reproduce: 1. create & sync a fedora repo 2. bind a consumer to the repo 3. try to install a package Actual results: [root@cisco-b420m3-01 ~]# pulp-admin rpm consumer package install run -n marisa --consumer-id snoopy Install task created with id [ fcd044e0-d974-4600-992a-99a19cebbbb1 ] This command may be exited via ctrl+c without affecting the request. Refresh Repository Metadata [ OK ] Downloading Packages [ FAILED ] Install Failed [u'Errors were encountered while downloading packages.', u'marisa-0.2.4-4.fc20.x86_64: [Errno 256] No more mirrors to try.'] Expected results: Additional info: From the log pulp.server.agent.direct.services:INFO: Task RMI (succeeded) pulp.server.agent.direct.services:INFO: Succeeded pulp.server.agent.direct.services:INFO: sn : 1c668468-7617-4649-b0cc-f8f5cf0b1c94 pulp.server.agent.direct.services:INFO: origin : 67e16ca8-4f9f-4cde-ad36-234ee7c786f7 pulp.server.agent.direct.services:INFO: user data : {'task_id': 'fcd044e0-d974-4600-992a-99a19cebbbb1', 'consumer_id': 'snoopy'} pulp.server.agent.direct.services:INFO: retval: pulp.server.agent.direct.services:INFO: {'reboot': {'scheduled': False, 'details': {}}, 'details': {'rpm': {'details': {'message': "[u'Errors were encountered while downloading packages.', u'marisa-0.2.4-4.fc20.x86_64: [Errno 256] No more mirrors to try.']", 'trace': 'Traceback (most recent call last):\n\n File "/usr/lib/python2.7/site-packages/pulp/agent/lib/dispatcher.py", line 76, in install\n report = handler.install(conduit, units, dict(options))\n\n File "/usr/lib/python2.7/site-packages/pulp_rpm/handlers/rpm.py", line 111, in install\n details = pkg.install(names)\n\n File "/usr/lib/python2.7/site-packages/pulp_rpm/handlers/rpmtools.py", line 122, in install\n yb.processTransaction()\n\n File "/usr/lib/python2.7/site-packages/pulp_rpm/handlers/rpmtools.py", line 549, in processTransaction\n YumBase.processTransaction(self, callback, rpmDisplay=display)\n\n File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6432, in processTransaction\n pkgs = self._downloadPackages(callback)\n\n File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6467, in _downloadPackages\n raise Errors.YumDownloadError, errstr\n\nYumDownloadError: [u\'Errors were encountered while downloading packages.\', u\'marisa-0.2.4-4.fc20.x86_64: [Errno 256] No more mirrors to try.\']\n'}, 'succeeded': False}}, 'succeeded': False, 'num_changes': 0} celery.worker.strategy:INFO: Received task: pulp.server.async.tasks._reserve_resource[607c90b6-44fd-4413-a167-8a8d5aa1aa74] celery.worker.job:INFO: Task pulp.server.async.tasks._reserve_resource[607c90b6-44fd-4413-a167-8a8d5aa1aa74] succeeded in 0.0132277899993s: u'reserved_resource_worker-12.eng.bos.redhat.com.dq'
[root@cisco-b420m3-01 ~]# yum install marisa Loaded plugins: pulp-profile-update Resolving Dependencies --> Running transaction check ---> Package marisa.x86_64 0:0.2.4-4.fc20 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: marisa x86_64 0.2.4-4.fc20 F20 78 k Transaction Summary ================================================================================ Install 1 Package Total download size: 78 k Installed size: 248 k Is this ok [y/d/N]: y Downloading packages: F20/prestodelta | 98 B 00:00 marisa-0.2.4-4.fc20.x86_64.rpm FAILED https://cisco-b420m3-01.rhts.eng.bos.redhat.com/pulp/repos/released/F-20/GOLD/Fedora/x86_64/os/marisa-0.2.4-4.fc20.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found Trying other mirror. Error downloading packages: marisa-0.2.4-4.fc20.x86_64: [Errno 256] No more mirrors to try. [root@cisco-b420m3-01 ~]#
I think the problem is here: https://github.com/pulp/pulp_rpm/blob/89e3cff776b/plugins/pulp_rpm/plugins/distributors/yum/publish.py#L371 If we change that to use the filename instead of the relative path, I think everything will work. The primary.xml is being generated with each rpm's location being at the root of the repository. So the relative path should always be just the file name.
https://github.com/pulp/pulp_rpm/pull/495
Fixed in 2.4.0-0.17.beta.
verified [root@hp-dl380pgen8-01 ~]# rpm -qa pulp-server pulp-server-2.4.0-0.19.beta.fc20.noarch [root@hp-dl380pgen8-01 ~]# [root@hp-dl380pgen8-01 ~]# pulp-admin rpm consumer package install run --consumer-id kitkat -n axis Install task created with id [ 0fb2dc28-20f8-4c5d-ade2-2765f370fac4 ] This command may be exited via ctrl+c without affecting the request. Refresh Repository Metadata [ OK ] Downloading Packages [ OK ] Check Package Signatures [ OK ] Running Test Transaction [ OK ] Running Transaction [ OK ] Install Succeeded +----------------------------------------------------------------------+ Installed +----------------------------------------------------------------------+ Name: axis Version: 1.4 Arch: noarch Repoid: F20 +----------------------------------------------------------------------+ Installed for Dependencies +----------------------------------------------------------------------+ Name: jakarta-commons-httpclient Version: 3.1 Arch: noarch Repoid: F20 Name: wsdl4j Version: 1.6.3 Arch: noarch Repoid: F20 Name: apache-commons-discovery Version: 0.5 Arch: noarch Repoid: F20 [root@hp-dl380pgen8-01 ~]#
This has been fixed in Pulp 2.4.0-1.