[Pulp-list] incorrect errata processing produces incomplete package file lists

Pradeep Kilambi pkilambi at redhat.com
Wed Sep 26 18:21:34 UTC 2012


On 09/26/2012 01:54 PM, Andreas Piesk wrote:
> Hello list,
>
> I'm evaluating pulp 1.1.11 for mirroring RHEL channel in our data centers and noticed an issue with
> the errata processing which is serious in my book because if the incomplete files lists.
>
> 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.
>
> as i'm not sure how pulp is designed to process erratas spanning different repos i'm reluctant to
> make changes to fix it.
>
> i hope someone can shed some light on the issue. How should the erata processing work?
>
>
> thanks for reading.
>
> regards,
> -ap
>
Hi Andreas:

Looks like you're right. Pulp as it currently is, checks whether errata 
exists and if so if the date is newer. If both conditions meet, it 
assumes the errata exists. In your specific case since both conditions 
satisfy and the rpms associated are yet to be linked from other repo it 
skips. I opened a bug on this with your description from this email. 
Here is the link to the bug, 
https://bugzilla.redhat.com/show_bug.cgi?id=860800 .

I'll look into this issue asap. Will keep you posted.

Thanks,

~ Prad




More information about the Pulp-list mailing list