Bug 860802

Summary: pulp doesnt handle errata spanning across multiple repos case
Product: [Retired] Pulp Reporter: Preethi Thomas <pthomas>
Component: rpm-supportAssignee: Todd Sanders <tsanders>
Status: CLOSED CURRENTRELEASE QA Contact: Preethi Thomas <pthomas>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: MasterCC: dgregor, skarmark, tsanders
Target Milestone: ---Keywords: Triaged
Target Release: Sprint 40   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 860800 Environment:
Last Closed: 2013-04-08 15:59:23 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: 860800, 864999    
Bug Blocks:    

Description Preethi Thomas 2012-09-26 18:29:57 UTC
Cloning for pulp v2.0 
+++ This bug was initially created as a clone of Bug #860800 +++

Description from email from Andreas Piesk:

let's take errata RHBA-2012:1305 for example. Red Hat published for "RHEL 6 Workstation i386" the
following affected packages (see https://rhn.redhat.com/errata/RHBA-2012-1305.html):

openswan-2.6.32-19.el6_3.src.rpm
openswan-2.6.32-19.el6_3.i686.rpm
openswan-debuginfo-2.6.32-19.el6_3.i686.rpm
openswan-doc-2.6.32-19.el6_3.i686.rpm

this is an errata spanning multiple repos, namely 'optional' and 'os':

updateinfo.xml "rhel-i386-workstation-optional-6":

<id>RHBA-2012:1305</id>
<title>openswan bug fix update</title>
<issued date="2012-09-24 00:00:00"/><updated date="2012-09-24 00:00:00"/>
<pkglist><collection short="rhel-i386-workstation-optional-6">
<filename>openswan-doc-2.6.32-19.el6_3.i686.rpm</filename>
</collection>
</pkglist>


updateinfo.xml "rhel-i386-workstation-os-6":

<id>RHBA-2012:1305</id>
<title>openswan bug fix update</title>
<issued date="2012-09-24 00:00:00"/>
<updated date="2012-09-24 00:00:00"/>
<pkglist><collection short="rhel-i386-workstation-6">
<filename>openswan-2.6.32-19.el6_3.i686.rpm</filename>
</package></collection></pkglist>

but pulp-admin shows only one filename, the one from repo 'os':

$ pulp-admin errata info --id RHBA-2012:1305

Id                    	RHBA-2012:1305
Title                 	openswan bug fix update

Type                  	bugfix
Issued                	2012-09-24 00:00:00
Updated               	2012-09-24 00:00:00
Version               	1
Release               	
Status                	final
Packages Effected     	openswan-2.6.32-19.el6_3.i686.rpm
Reboot Suggested      	False
References            	
			href : https://rhn.redhat.com/errata/RHBA-2012-1305.html
			type : self
			id : None
			title : RHBA-2012:1305


a json dump of errata in 'class Info(ErrataAction)' shows:

    "id": "RHBA-2012:1305",
    "issued": "2012-09-24 00:00:00",
    "pkglist": [
        {
            "name": "Red Hat Enterprise Linux Workstation (v. 6 for 32-bit x86)",
            "packages": [
                {
                    "arch": "i686",
                    "epoch": "0",
                    "filename": "openswan-2.6.32-19.el6_3.i686.rpm",
                    "name": "openswan",
                    "release": "19.el6_3",
                    "src": "openswan-2.6.32-19.el6_3.src.rpm",
                    "sum": [
                        "sha256",
                        "02deefd2ab19a440da74992fa03ae1de7e9a2dd017fc42257981027ade0a7206"
                    ],
                    "version": "2.6.32"
                }
            ],
            "short": "rhel-i386-workstation-6"
        }
    ],
    "repoids": [
        "rhel6Workstation-i386-os",
        "rhel6Workstation-i386-optional"
    ],

as far as i understand the code, the first errata with this id, in this case from
"rhel6Workstation-i386-os" is stored and assigned to "rhel6Workstation-i386-os". the errata with the
same id from "rhel6Workstation-i386-optional" has the same timestamp and is ignored
(sync_updateinfo_data()) _but_ the id is saved and used in _add_erratum() to assign this errata to
"rhel6Workstation-i386-optional".
so basically the errata from one repo with a filelist x is used for all repos which have the same
errata but with a dfferent filelist.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Pradeep Kilambi 2012-10-04 17:17:46 UTC
commit 3b4ad1856c96ebe6c325e8d0d86977009c4fbb8b

Comment 2 Jeff Ortel 2013-02-05 20:57:02 UTC
build: 2.1.0-0.3.alpha

Comment 88 Preethi Thomas 2013-04-01 15:17:54 UTC
[root@cloud-qe-8 ~]# rpm -q pulp-server
pulp-server-2.1.0-0.26.beta.noarch
[root@cloud-qe-8 ~]# 


[root@cloud-qe-8 ~]# pulp-admin rpm repo content  errata --erratum-id RHBA-2012:1305 --repo-id rhel6-w
+----------------------------------------------------------------------+
                        Erratum: RHBA-2012:1305
+----------------------------------------------------------------------+

Id:                RHBA-2012:1305
Title:             openswan bug fix update
Summary:           Updated openswan packages that fix a bug are now available for Red Hat
Enterprise Linux 6.

Description:
  Openswan is a free implementation of IPsec (Internet Protocol Security) and
  IKE(Internet Key Exchange) for Linux. The openswan packages contain daemons
  anduser-space tools for setting up Openswan. It supports the NETKEY/XFRM
  IPseckernel stack that exists in the default Linux kernel. Openswan 2.6 and
  lateralso supports IKEv2 (Internet Key Exchange Protocol version 2), which is
  definedin RFC5996.

  This update fixes the following bug:

  * When a tunnel was established between two IPsec hosts (say host1 and
  host2)utilizing DPD (Dead Peer Detection), and if host2 went offline while
  host1continued to transmit data, host1 continually queued multiple phase 2
  requestsafter the DPD action. When host2 came back online, the stack of
  pending phase 2requests was established, leaving a new IPsec SA (Security
  Association), and alarge group of extra SA's that consumed system resources
  and eventually expired.This update ensures that openswan has just a single
  pending phase 2 requestduring the time that host2 is down, and when host2
  comes back up, only a singlenew IPsec SA is established, thus preventing this
  bug. (BZ#852454)

  All users of openswan are advised to upgrade to these updated packages,
  whichfix this bug.

Severity:          
Type:              bugfix
Issued:            2012-09-24 00:00:00
Updated:           2012-09-24 00:00:00
Version:           1
Release:           
Status:            final
Reboot Suggested:  No

Updated Packages:
  openswan-0:2.6.32-19.el6_3.i686

References:
  ID:   None
  Type: self
  Link: https://rhn.redhat.com/errata/RHBA-2012-1305.html



[root@cloud-qe-8 ~]# pulp-admin rpm repo content  errata --erratum-id RHBA-2012:1305 --repo-id rhel6-w-optional
+----------------------------------------------------------------------+
                        Erratum: RHBA-2012:1305
+----------------------------------------------------------------------+

Id:                RHBA-2012:1305
Title:             openswan bug fix update
Summary:           Updated openswan packages that fix a bug are now available for Red Hat
Enterprise Linux 6.

Description:
  Openswan is a free implementation of IPsec (Internet Protocol Security) and
  IKE(Internet Key Exchange) for Linux. The openswan packages contain daemons
  anduser-space tools for setting up Openswan. It supports the NETKEY/XFRM
  IPseckernel stack that exists in the default Linux kernel. Openswan 2.6 and
  lateralso supports IKEv2 (Internet Key Exchange Protocol version 2), which is
  definedin RFC5996.

  This update fixes the following bug:

  * When a tunnel was established between two IPsec hosts (say host1 and
  host2)utilizing DPD (Dead Peer Detection), and if host2 went offline while
  host1continued to transmit data, host1 continually queued multiple phase 2
  requestsafter the DPD action. When host2 came back online, the stack of
  pending phase 2requests was established, leaving a new IPsec SA (Security
  Association), and alarge group of extra SA's that consumed system resources
  and eventually expired.This update ensures that openswan has just a single
  pending phase 2 requestduring the time that host2 is down, and when host2
  comes back up, only a singlenew IPsec SA is established, thus preventing this
  bug. (BZ#852454)

  All users of openswan are advised to upgrade to these updated packages,
  whichfix this bug.

Severity:          
Type:              bugfix
Issued:            2012-09-24 00:00:00
Updated:           2012-09-24 00:00:00
Version:           1
Release:           
Status:            final
Reboot Suggested:  No

Updated Packages:
  openswan-0:2.6.32-19.el6_3.i686

References:
  ID:   None
  Type: self
  Link: https://rhn.redhat.com/errata/RHBA-2012-1305.html



[root@cloud-qe-8 ~]#

Comment 89 Preethi Thomas 2013-04-08 15:59:23 UTC
Pulp 2.1 released 


http://www.pulpproject.org/2013/04/05/pulp-2-1-0-released/