[Pulp-list] incorrect errata processing produces incomplete package file lists
Andreas Piesk
a.piesk at gmx.net
Wed Sep 26 17:54:45 UTC 2012
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
--
More information about the Pulp-list
mailing list