Bug 1098844

Summary: Not able to install rpm from the pulp synced fedora repo
Product: [Retired] Pulp Reporter: Preethi Thomas <pthomas>
Component: rpm-supportAssignee: Sayli Karmarkar <skarmark>
Status: CLOSED CURRENTRELEASE QA Contact: Preethi Thomas <pthomas>
Severity: unspecified Docs Contact:
Priority: high    
Version: 2.4 BetaCC: cperry, mhrivnak, skarmark
Target Milestone: ---Keywords: Triaged
Target Release: 2.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-09 06:55:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Preethi Thomas 2014-05-19 02:29:05 UTC
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'

Comment 1 Preethi Thomas 2014-05-19 18:04:22 UTC
[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 ~]#

Comment 2 Michael Hrivnak 2014-05-19 19:18:25 UTC
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.

Comment 3 Sayli Karmarkar 2014-05-20 05:31:14 UTC
https://github.com/pulp/pulp_rpm/pull/495

Comment 4 Randy Barlow 2014-05-20 23:45:40 UTC
Fixed in 2.4.0-0.17.beta.

Comment 5 Preethi Thomas 2014-06-04 16:48:56 UTC
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 ~]#

Comment 6 Randy Barlow 2014-08-09 06:55:35 UTC
This has been fixed in Pulp 2.4.0-1.