[Pulp-list] Pulp publish ordering

Barnaby Court bcourt at redhat.com
Fri Jan 9 15:17:40 UTC 2015


Fred,

Can you provide a sample of the two RPMs that are being uploaded?  If the RPMs have any differences in the Name, Epoch, Release, Version, Architecture, or Checksum they should both appear in the published repository.  If you uploaded the same RPM twice but just changed the filename on disk that will not work since Pulp ignores the filename during upload and reads it from the RPM metadata inside the file.  Regards,

-Barnaby

----- Original Message -----
From: "Frédéric Conrotte" <Frederic.Conrotte at victorbuckservices.com>
To: "Michael Hrivnak" <mhrivnak at redhat.com>
Cc: pulp-list at redhat.com
Sent: Friday, January 9, 2015 10:04:51 AM
Subject: Re: [Pulp-list] Pulp publish ordering

Hello

Thanks for your answer

So I think I've narrowed down the problem.

Here is the scenario:
1- Create a brand new RPM repo
2- Upload one RPM into that repo
3- Upload another RPM into that repo with exactly the same filesize
4- Publish the repo
5- Only the RPM of step 2 is present in the repo

So my question is:
How do you configure Pulp to not check the RPM filesize on upload or publish ?

-----Original Message-----
From: Michael Hrivnak [mailto:mhrivnak at redhat.com] 
Sent: jeudi 8 janvier 2015 19:15
To: Frédéric Conrotte
Cc: pulp-list at redhat.com
Subject: Re: [Pulp-list] Pulp publish ordering

Fred,

Pulp does not make guarantees about preserving mtime on files or ensuring that mtime sorts in lock-step with epoch-version-release. That is not a use case pulp tries to support, but it would be interesting to know why that's useful to you.

Publishing a yum repo makes it available to the yum client, or any other compatible client (like dnf), over http. Most users don't access the files directly on disk from a shell session.

Once you upload an rpm, make sure you re-publish the repo. Then that rpm will be listed in the corresponding ...-primary.xml.gz file.

Michael

----- Original Message -----
From: "Frédéric Conrotte" <Frederic.Conrotte at victorbuckservices.com>
To: pulp-list at redhat.com
Sent: Thursday, January 8, 2015 12:46:33 PM
Subject: [Pulp-list] Pulp publish ordering



Hello 



We have an issue with the order used by Pulp to publish our RPMs. 



We are using a continuous integration process where we publish a new snapshot RPM with each commit, which means we have several versions of the same binary in our repo. 



Each RPM is named with the pattern <rpm name>-<version>-<build>.noarch.rpm 



Which means we produce for instance: 

myrpm-0.0.1-1.noarch.rpm 

myrpm-0.0.1-2.noarch.rpm 

myrpm-0.0.1-3.noarch.rpm 

myrpm-0.0.1-4.noarch.rpm 

in our repo 



The problem is that the “pulp-admin rpm repo publish run” command does not respect the build number ordering. 



[root at d0puppetmaster victorbuckservices]# pwd 

/var/www/pub/yum/http/repos/victorbuckservices 



[root at d0puppetmaster victorbuckservices]# ls -l vbackbone-datamanager-0.2.0-* 

lrwxrwxrwx 1 apache apache 172 Jan 8 16:29 vbackbone-datamanager-0.2.0-840.noarch.rpm -> /var/lib/pulp/content/rpm/vbackbone-datamanager/0.2.0/840/noarch/48b449d6b741f6ffa899231fbf01eb1138fa2cd8461f0f0ffeba86cfb9dbab09/vbackbone-datamanager-0.2.0-840.noarch.rpm 

lrwxrwxrwx 1 apache apache 172 Jan 8 16:29 vbackbone-datamanager-0.2.0-833.noarch.rpm -> /var/lib/pulp/content/rpm/vbackbone-datamanager/0.2.0/833/noarch/770e94499567267a76e1237bb2f73a79767d38bd9826e72820269aefa291110a/vbackbone-datamanager-0.2.0-833.noarch.rpm 

lrwxrwxrwx 1 apache apache 172 Jan 8 16:29 vbackbone-datamanager-0.2.0-832.noarch.rpm -> /var/lib/pulp/content/rpm/vbackbone-datamanager/0.2.0/832/noarch/ca9bf712fcf499391594877103caae1faf8428f2c58a1a59afe7324fbda6dfd8/vbackbone-datamanager-0.2.0-832.noarch.rpm 

lrwxrwxrwx 1 apache apache 172 Jan 8 16:29 vbackbone-datamanager-0.2.0-829.noarch.rpm -> /var/lib/pulp/content/rpm/vbackbone-datamanager/0.2.0/829/noarch/9a98ff8308765ff6218d78df1a6f066c35bc32516264ce292bc2fac827a7867d/vbackbone-datamanager-0.2.0-829.noarch.rpm 

lrwxrwxrwx 1 apache apache 172 Jan 8 16:29 vbackbone-datamanager-0.2.0-728.noarch.rpm -> /var/lib/pulp/content/rpm/vbackbone-datamanager/0.2.0/728/noarch/11874a76ddcaed2da0d87f67925f7e025a590749cd9adb1a9f8794e878acffb2/vbackbone-datamanager-0.2.0-728.noarch.rpm 



Look at the “build” part of the RPM name, ls –rtl does not order them sequentially, which means the publish command did not take in account the time at which they were uploaded. 



Furthermore, I’ve been digging into the following files 



/repodata/*-filelists.xml.gz 

/repodata/*-other.xml.gz 

/repodata/*-primary.xml.gz 

/repodata/*-updateinfo.xml.gz 



and I cannot find the latest uploaded RPM in these files. 



Can you explain either: 

- How the publish command could meet my requirement? 

- How the repodata files are generated ? 



Many thanks for your help 



Fred 



_______________________________________________
Pulp-list mailing list
Pulp-list at redhat.com
https://www.redhat.com/mailman/listinfo/pulp-list

_______________________________________________
Pulp-list mailing list
Pulp-list at redhat.com
https://www.redhat.com/mailman/listinfo/pulp-list




More information about the Pulp-list mailing list