Bug 1132659

Summary: better handle repositories with duplicate NVREAs
Product: Red Hat Satellite Reporter: Justin Sherrill <jsherril>
Component: PulpAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: jcallaha
Severity: high Docs Contact:
Priority: high    
Version: UnspecifiedCC: aupadhye, bbuckingham, bkearney, bmbouter, cwelton, daviddavis, dkliban, fang64, gassmann, ggainey, ipanova, jcallaha, mhrivnak, mmccune, pcreech, rbarlow, rchan, ttereshc, wharris
Target Milestone: UnspecifiedKeywords: Reopened, Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-02-15 15:51:20 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:
Bug Depends On:    
Bug Blocks: 950746, 1122832, 1287901    

Description Justin Sherrill 2014-08-21 19:03:51 UTC
Description of problem:

Currently users can easily get themselves into a situation where their pulp repository is unusable.  If they are syncing a repository that replaces an old package with a new one with the same NVREA pulp will gladly sync the 2nd after syncing the first.

As a result pulp publishes yum metadata with two packages listed but since they only have the same filename, only one package actually makes it to the file system. Then a yum client comes along and tries to install/update that package it will pick on of the entries from the yum meatadata to use and there's a 50/50 chance of it being the wrong metadata and so checksum verification will fail.

I would expect that pulp should not generate metadata like this in the case that there are packages with the same nvrea in the repo.  Alternatively the 2nd package should fail to sync/import into the repo.

This is a common problem and has occurred across many different upstream repos.

Version-Release number of selected component (if applicable):
2.4.0-1


Steps to Reproduce:
1.  Create two rpms with the same nvrea
2.  Upload them or sync them to a single repo
3.  Publish the repo
4.  Attempt to install that rpm from the repo

Actual results:
Client will throw an error as the checksum will not match

Expected results:
Only one package is in the primary.xml file and it matches whats actually on the file system.


Additional info:

Comment 1 Ina Panova 2015-01-07 14:58:41 UTC
*** Bug 1098703 has been marked as a duplicate of this bug. ***

Comment 2 Brian Bouterse 2015-02-28 22:16:07 UTC
Moved to https://pulp.plan.io/issues/494

Comment 3 RHEL Program Management 2015-03-04 11:24:14 UTC
Since this issue was entered in Red Hat Bugzilla, the release flag has been
set to ? to ensure that it is properly evaluated for this release.

Comment 5 pulp-infra@redhat.com 2015-10-27 19:31:19 UTC
The Pulp upstream bug status is at ASSIGNED. Updating the external tracker on this bug.

Comment 6 pulp-infra@redhat.com 2015-10-30 15:01:13 UTC
The Pulp upstream bug status is at POST. Updating the external tracker on this bug.

Comment 7 pulp-infra@redhat.com 2015-11-12 14:31:15 UTC
The Pulp upstream bug status is at MODIFIED. Updating the external tracker on this bug.

Comment 10 Bryan Kearney 2016-01-04 18:28:34 UTC
MOving to POST since there is a fix upstream.

Comment 12 jcallaha 2016-02-05 20:31:30 UTC
Verified in Satellite 6.1.7 compose.

The second packages were correctly referenced and used.

Comment 13 pulp-infra@redhat.com 2016-02-11 21:31:11 UTC
The Pulp upstream bug status is at CLOSED - CURRENTRELEASE. Updating the external tracker on this bug.

Comment 15 errata-xmlrpc 2016-02-15 15:51:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2016:0174