[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