[Pulp-list] ns0 namespaces on synced repo metadata

Martin Collins martin.collins at framestore.com
Tue Jun 10 18:50:45 UTC 2014


Hi,

Today I had a few issues with synced repos with incomplete metadata when
they were published, symptoms mostly weird depsolving issues where packages
had no provides

This seems to have the same symptoms as
https://bugzilla.redhat.com/show_bug.cgi?id=948634 as I believe i may have
had more than one sync on at the same time but will spend some time seeing
if i can get it reproducible

Of the 3097 packages synced, only 4 had ns0 namespaces on the
requires/provides sections

After deleting the packages, removing the orphans, and re-syncing they
returned correctly.

Does this ring any bells with anyone?

More info below

Cheers,
Martin

Repo Info:
Id:                  sl6-live-security
Display Name:        sl6-live-security
Description:         None
Content Unit Counts:
  Erratum: 458
  Rpm:     3097
Notes:
Importers:
  Config:
    Feed:
http://mirrors.ircam.fr/pub/scientificlinux/scientific/6.3/x86_64/updates/security/
    Remove Missing: False
  Id:               yum_importer
  Importer Type Id: yum_importer
  Last Sync:        2014-06-10T19:42:15+01:00
  Repo Id:          sl6-live-security
  Scheduled Syncs:  2013-10-14T03:00Z/P1D
Distributors:
  Auto Publish:        True
  Config:
    Checksum Type: sha256
    Http:          True
    Https:         False
    Relative URL:  sl6/live/updates/security
  Distributor Type Id: yum_distributor
  Id:                  yum_distributor
  Last Publish:        2014-06-10T19:43:05+01:00
  Repo Id:             sl6-live-security
  Scheduled Publishes:

Packages Installed:
createrepo-0.9.9-21.2.pulp.el6.noarch
m2crypto-0.21.1.pulp-8.el6.x86_64
mod_wsgi-3.4-1.pulp.el6.x86_64
pulp-server-2.3.1-1.el6.noarch (along with the other 2.3.1 pkgs)
python-isodate-0.5.0-1.pulp.el6.noarch
python-oauth2-1.5.170-3.pulp.el6.noarch
python-rhsm-1.8.0-1.pulp.el6.x86_64

[root at kam0.ldn ~]$ mongo pulp_database --eval
'db.units_rpm.find({filename:"ruby-libs-1.8.7.352-13.el6.x86_64.rpm"}).forEach(function(m)
{ print ("id: ", m._id, "\nprimary repodata:\n", m.repodata.primary); })'

id: ada443db-366b-4277-b485-f6a962b60d51
<package type="rpm">
  <name>ruby-libs</name>
  <arch>x86_64</arch>
  <version epoch="0" rel="13.el6" ver="1.8.7.352" />
  <checksum pkgid="YES"
type="sha256">fe507a66e68113961d1f60a913c63e730d2b7bcddb0543f030c32ab98520c841</checksum>
  <summary>Libraries necessary to run Ruby</summary>
  <description>This package includes the libruby, necessary to run
Ruby.</description>
  <packager>Scientific Linux</packager>
  <url>http://www.ruby-lang.org/</url>
  <time build="1385408489" file="1385408682" />
  <size archive="5996720" installed="5911073" package="1719408" />
<location href="ruby-libs-1.8.7.352-13.el6.x86_64.rpm" />
  <format>
    <ns0:license xmlns:ns0="http://linux.duke.edu/metadata/rpm">(Ruby or
GPLv2) and (GPL+ or Artistic)</ns0:license>
    <ns0:vendor xmlns:ns0="http://linux.duke.edu/metadata/rpm">Scientific
Linux</ns0:vendor>
    <ns0:group xmlns:ns0="http://linux.duke.edu/metadata/rpm
">Development/Libraries</ns0:group>
    <ns0:buildhost xmlns:ns0="http://linux.duke.edu/metadata/rpm">
sl6.fnal.gov</ns0:buildhost>
    <ns0:sourcerpm xmlns:ns0="http://linux.duke.edu/metadata/rpm
">ruby-1.8.7.352-13.el6.src.rpm</ns0:sourcerpm>
    <ns0:header-range end="112800" start="456" xmlns:ns0="
http://linux.duke.edu/metadata/rpm" />
    <ns0:provides xmlns:ns0="http://linux.duke.edu/metadata/rpm">
      <ns0:entry name="bigdecimal.so()(64bit)" />
      <ns0:entry name="bubblebabble.so()(64bit)" />
      <ns0:entry name="cparse.so()(64bit)" />
      <ns0:entry name="curses.so()(64bit)" />
      <ns0:entry name="dbm.so()(64bit)" />
      <ns0:entry name="digest.so()(64bit)" />
      <ns0:entry name="dl.so()(64bit)" />
      <ns0:entry name="etc.so()(64bit)" />
      <ns0:entry name="fcntl.so()(64bit)" />
      <ns0:entry name="gdbm.so()(64bit)" />
      <ns0:entry name="iconv.so()(64bit)" />
      <ns0:entry epoch="0" flags="EQ" name="libruby" rel="13.el6"
ver="1.8.7.352" />
      <ns0:entry name="libruby.so.1.8()(64bit)" />
      <ns0:entry name="md5.so()(64bit)" />
      <ns0:entry name="nkf.so()(64bit)" />
      <ns0:entry name="openssl.so()(64bit)" />
      <ns0:entry name="pty.so()(64bit)" />
      <ns0:entry name="readline.so()(64bit)" />
      <ns0:entry name="rmd160.so()(64bit)" />
      <ns0:entry epoch="0" flags="EQ" name="ruby(abi)" ver="1.8" />
      <ns0:entry epoch="0" flags="EQ" name="ruby-libs" rel="13.el6"
ver="1.8.7.352" />
      <ns0:entry epoch="0" flags="EQ" name="ruby-libs(x86-64)" rel="13.el6"
ver="1.8.7.352" />
      <ns0:entry name="sdbm.so()(64bit)" />
      <ns0:entry name="sha1.so()(64bit)" />
      <ns0:entry name="sha2.so()(64bit)" />
      <ns0:entry name="socket.so()(64bit)" />
      <ns0:entry name="stringio.so()(64bit)" />
      <ns0:entry name="strscan.so()(64bit)" />
      <ns0:entry name="syck.so()(64bit)" />
      <ns0:entry name="syslog.so()(64bit)" />
      <ns0:entry name="thread.so()(64bit)" />
      <ns0:entry name="wait.so()(64bit)" />
      <ns0:entry name="zlib.so()(64bit)" />
    </ns0:provides>
    <ns0:requires xmlns:ns0="http://linux.duke.edu/metadata/rpm">
      <ns0:entry name="/sbin/ldconfig" />
      <ns0:entry name="/sbin/ldconfig" pre="1" />
      <ns0:entry name="libc.so.6(GLIBC_2.7)(64bit)" />
      <ns0:entry name="libcrypt.so.1()(64bit)" />
      <ns0:entry name="libcrypt.so.1(GLIBC_2.2.5)(64bit)" />
      <ns0:entry name="libcrypto.so.10()(64bit)" />
      <ns0:entry name="libcrypto.so.10(libcrypto.so.10)(64bit)" />
      <ns0:entry name="libdb-4.7.so()(64bit)" />
      <ns0:entry name="libdl.so.2()(64bit)" />
      <ns0:entry name="libdl.so.2(GLIBC_2.2.5)(64bit)" />
      <ns0:entry name="libgcc_s.so.1()(64bit)" />
      <ns0:entry name="libgcc_s.so.1(GCC_3.0)(64bit)" />
      <ns0:entry name="libgcc_s.so.1(GCC_3.3.1)(64bit)" />
      <ns0:entry name="libgdbm.so.2()(64bit)" />
      <ns0:entry name="libm.so.6()(64bit)" />
      <ns0:entry name="libm.so.6(GLIBC_2.2.5)(64bit)" />
      <ns0:entry name="libncurses.so.5()(64bit)" />
      <ns0:entry name="libpthread.so.0()(64bit)" />
      <ns0:entry name="libpthread.so.0(GLIBC_2.2.5)(64bit)" />
      <ns0:entry name="libpthread.so.0(GLIBC_2.3.2)(64bit)" />
      <ns0:entry name="libreadline.so.5()(64bit)" />
      <ns0:entry name="librt.so.1()(64bit)" />
      <ns0:entry name="librt.so.1(GLIBC_2.2.5)(64bit)" />
      <ns0:entry name="libssl.so.10()(64bit)" />
      <ns0:entry name="libssl.so.10(libssl.so.10)(64bit)" />
      <ns0:entry name="libtinfo.so.5()(64bit)" />
      <ns0:entry name="libutil.so.1()(64bit)" />
      <ns0:entry name="libutil.so.1(GLIBC_2.2.5)(64bit)" />
      <ns0:entry name="libz.so.1()(64bit)" />
      <ns0:entry name="rtld(GNU_HASH)" />
    </ns0:requires>
    <ns0:obsoletes xmlns:ns0="http://linux.duke.edu/metadata/rpm">
      <ns0:entry epoch="0" flags="LE" name="libruby" rel="13.el6"
ver="1.8.7.352" />
    </ns0:obsoletes>
  </format>
</package>

After this, the published metadata is incomplete and on a few packages
causes some depsolving issues with yum clients.

Looking at https://bugzilla.redhat.com/show_bug.cgi?id=948634 decided to
purge the RPM and resync:

[root at kam0.ldn ~]$ pulp-admin rpm repo remove rpm --repo-id
sl6-live-updates-security --match
filename="ruby-libs-1.8.7.352-13.el6.x86_64.rpm"

[root at kam0.ldn ~]$ pulp-admin orphan remove --type rpm --unit-id
ada443db-366b-4277-b485-f6a962b60d51

[root at kam0.ldn ~]$ pulp-admin rpm repo sync run --repo-id sl6-live-security

Followed by re-running the query:

[root at kam0.ldn ~]$ mongo pulp_database --eval
'db.units_rpm.find({filename:"ruby-libs-1.8.7.352-13.el6.x86_64.rpm"}).forEach(function(m)
{ print ("id: ", m._id, "\nprimary repodata:\n", m.repodata.primary); })'
MongoDB shell version: 2.2.3
connecting to: pulp_database
id:  daf2c64d-fcf6-45cf-b9b0-c7fca5ee039e
primary repodata:
 <package type="rpm">
  <name>ruby-libs</name>
  <arch>x86_64</arch>
  <version epoch="0" rel="13.el6" ver="1.8.7.352" />
  <checksum pkgid="YES"
type="sha256">fe507a66e68113961d1f60a913c63e730d2b7bcddb0543f030c32ab98520c841</checksum>
  <summary>Libraries necessary to run Ruby</summary>
  <description>This package includes the libruby, necessary to run
Ruby.</description>
  <packager>Scientific Linux</packager>
  <url>http://www.ruby-lang.org/</url>
  <time build="1385408489" file="1385408682" />
  <size archive="5996720" installed="5911073" package="1719408" />
<location href="ruby-libs-1.8.7.352-13.el6.x86_64.rpm" />
  <format>
    <rpm:license >(Ruby or GPLv2) and (GPL+ or Artistic)</rpm:license>
    <rpm:vendor >Scientific Linux</rpm:vendor>
    <rpm:group >Development/Libraries</rpm:group>
    <rpm:buildhost >sl6.fnal.gov</rpm:buildhost>
    <rpm:sourcerpm >ruby-1.8.7.352-13.el6.src.rpm</rpm:sourcerpm>
    <rpm:header-range end="112800" start="456" />
    <rpm:provides >
      <rpm:entry name="bigdecimal.so()(64bit)" />
      <rpm:entry name="bubblebabble.so()(64bit)" />
      <rpm:entry name="cparse.so()(64bit)" />
      <rpm:entry name="curses.so()(64bit)" />
      <rpm:entry name="dbm.so()(64bit)" />
      <rpm:entry name="digest.so()(64bit)" />
      <rpm:entry name="dl.so()(64bit)" />
      <rpm:entry name="etc.so()(64bit)" />
      <rpm:entry name="fcntl.so()(64bit)" />
      <rpm:entry name="gdbm.so()(64bit)" />
      <rpm:entry name="iconv.so()(64bit)" />
      <rpm:entry epoch="0" flags="EQ" name="libruby" rel="13.el6"
ver="1.8.7.352" />
      <rpm:entry name="libruby.so.1.8()(64bit)" />
      <rpm:entry name="md5.so()(64bit)" />
      <rpm:entry name="nkf.so()(64bit)" />
      <rpm:entry name="openssl.so()(64bit)" />
      <rpm:entry name="pty.so()(64bit)" />
      <rpm:entry name="readline.so()(64bit)" />
      <rpm:entry name="rmd160.so()(64bit)" />
      <rpm:entry epoch="0" flags="EQ" name="ruby(abi)" ver="1.8" />
      <rpm:entry epoch="0" flags="EQ" name="ruby-libs" rel="13.el6"
ver="1.8.7.352" />
      <rpm:entry epoch="0" flags="EQ" name="ruby-libs(x86-64)" rel="13.el6"
ver="1.8.7.352" />
      <rpm:entry name="sdbm.so()(64bit)" />
      <rpm:entry name="sha1.so()(64bit)" />
      <rpm:entry name="sha2.so()(64bit)" />
      <rpm:entry name="socket.so()(64bit)" />
      <rpm:entry name="stringio.so()(64bit)" />
      <rpm:entry name="strscan.so()(64bit)" />
      <rpm:entry name="syck.so()(64bit)" />
      <rpm:entry name="syslog.so()(64bit)" />
      <rpm:entry name="thread.so()(64bit)" />
      <rpm:entry name="wait.so()(64bit)" />
      <rpm:entry name="zlib.so()(64bit)" />
    </rpm:provides>
    <rpm:requires >
      <rpm:entry name="/sbin/ldconfig" />
      <rpm:entry name="/sbin/ldconfig" pre="1" />
      <rpm:entry name="libc.so.6(GLIBC_2.7)(64bit)" />
      <rpm:entry name="libcrypt.so.1()(64bit)" />
      <rpm:entry name="libcrypt.so.1(GLIBC_2.2.5)(64bit)" />
      <rpm:entry name="libcrypto.so.10()(64bit)" />
      <rpm:entry name="libcrypto.so.10(libcrypto.so.10)(64bit)" />
      <rpm:entry name="libdb-4.7.so()(64bit)" />
      <rpm:entry name="libdl.so.2()(64bit)" />
      <rpm:entry name="libdl.so.2(GLIBC_2.2.5)(64bit)" />
      <rpm:entry name="libgcc_s.so.1()(64bit)" />
      <rpm:entry name="libgcc_s.so.1(GCC_3.0)(64bit)" />
      <rpm:entry name="libgcc_s.so.1(GCC_3.3.1)(64bit)" />
      <rpm:entry name="libgdbm.so.2()(64bit)" />
      <rpm:entry name="libm.so.6()(64bit)" />
      <rpm:entry name="libm.so.6(GLIBC_2.2.5)(64bit)" />
      <rpm:entry name="libncurses.so.5()(64bit)" />
      <rpm:entry name="libpthread.so.0()(64bit)" />
      <rpm:entry name="libpthread.so.0(GLIBC_2.2.5)(64bit)" />
      <rpm:entry name="libpthread.so.0(GLIBC_2.3.2)(64bit)" />
      <rpm:entry name="libreadline.so.5()(64bit)" />
      <rpm:entry name="librt.so.1()(64bit)" />
      <rpm:entry name="librt.so.1(GLIBC_2.2.5)(64bit)" />
      <rpm:entry name="libssl.so.10()(64bit)" />
      <rpm:entry name="libssl.so.10(libssl.so.10)(64bit)" />
      <rpm:entry name="libtinfo.so.5()(64bit)" />
      <rpm:entry name="libutil.so.1()(64bit)" />
      <rpm:entry name="libutil.so.1(GLIBC_2.2.5)(64bit)" />
      <rpm:entry name="libz.so.1()(64bit)" />
      <rpm:entry name="rtld(GNU_HASH)" />
    </rpm:requires>
    <rpm:obsoletes >
      <rpm:entry epoch="0" flags="LE" name="libruby" rel="13.el6"
ver="1.8.7.352" />
    </rpm:obsoletes>
  </format>
</package>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-list/attachments/20140610/8e6c6181/attachment.htm>


More information about the Pulp-list mailing list