Bug 1002755 - A Layered Pulp Instance Mangles rpm urls
A Layered Pulp Instance Mangles rpm urls
Product: Pulp
Classification: Community
Component: user-experience (Show other bugs)
Unspecified Linux
medium Severity unspecified
: ---
: 2.3.0
Assigned To: pulp-bugs
Preethi Thomas
: Triaged
Depends On:
  Show dependency treegraph
Reported: 2013-08-29 18:25 EDT by Jim
Modified: 2013-12-09 09:31 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-12-09 09:31:14 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Jim 2013-08-29 18:25:07 EDT
Description of problem:

When I directly upload splunkforwarder (splunk.com) rpms into pulp, they are presented at the url /pulp/repos/misc/splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm , and the metadata agrees with this. Which is corrrect.

However, when my three pulp-slaves sync up with my pulp-master (nothing fancy here, just set up to feed off of the master, with a cron script to sync them nightly (see bug id 968524)) they publish the rpm at the url /pulp/repos/misc/splunkforwarder-5.0.2-149561.x86_64.rpm ; AND they keep their metadata the same as the pulp-master, which is not self-consistent. This means that yum on any of my servers pointed at the pulp-slaves will fail to download this rpm.

Version-Release number of selected component (if applicable):

# rpm -qa |grep pulp

How reproducible:


Steps to Reproduce:
1. Set up an environment with pulp-slaves and a pulp-master
2. Download the splunk rpm
3. Upload to pulp-master
4. See what happens when your slaves sync it

Actual results:

Inconsistent url and metadata

Expected results:

Consistent url and metadata

Additional info:
Comment 1 Barnaby Court 2013-09-20 16:18:01 EDT
Jim, I have been unable to duplicate this issue using the pulp 2.3 testing branch.  Would it be possible for you to send a copy of the splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm in order to verify that there is not something specific about this RPM that is causing trouble?
Comment 2 Jim 2013-09-20 16:21:04 EDT
The rpm is available here:

The current version is newer, but this problem persists.

Comment 3 Barnaby Court 2013-09-23 09:26:42 EDT
Jim,  I have verified this issue as fixed in the current 2.3 testing builds using splunkforwarder-5.0.4-172409-linux-2.6-x86_64.rpm.  If you are comfortable with trying out your scenario on the alpha build of Pulp 2.3 that would be helpful.  

I'm going to assume this issue has been taken care of with the other nodes work that was done for the 2.3 release.  If you are able to duplicate this problem on the current 2.3 Alpha build I'd like to understand more about your particular scenario as I was not able to duplicate.
Comment 4 Barnaby Court 2013-09-23 13:36:31 EDT
For reference, I also tested creating an http feed from one pulp server pointing to a repo on another pulp server in order to bypass the nodese code.  I was unable to duplicate to duplicate using this scenario as well.
Comment 5 Jim 2013-09-25 15:09:00 EDT
Excellent, I'll verify that I, also, cannot reproduce the bug on 2.3, and get back to this thread.

Comment 6 Preethi Thomas 2013-10-01 08:38:59 EDT
verified on 2.3

[root@pulp-v2-server ~]# pulp-admin rpm repo uploads  rpm --repo-id splunk --file splunkforwarder-5.0.4-172409-linux-2.6-x86_64.rpm  -v
                              Unit Upload

Extracting necessary metadata for each request...
[==================================================] 100%
Analyzing: splunkforwarder-5.0.4-172409-linux-2.6-x86_64.rpm
... completed

Files to be uploaded:

Creating upload requests on the server...
[==================================================] 100%
Initializing: splunkforwarder-5.0.4-172409-linux-2.6-x86_64.rpm
... completed

Starting upload of selected units. If this process is stopped through ctrl+c,
the uploads will be paused and may be resumed later using the resume command or
cancelled entirely using the cancel command.

Uploading: splunkforwarder-5.0.4-172409-linux-2.6-x86_64.rpm
[==================================================] 100%
21042386/21042386 bytes
... completed

Importing into the repository...
... completed

Deleting the upload request...
... completed

[root@pulp-v2-server ~]# pulp-admin rpm repo content rpm --repo-id splunk
Arch:         x86_64
Buildhost:    re-lin64-4
Checksum:     716407b11c3a1f69409fd6bf0cb8a0283a7e33d325fdbb42c2e2c9c2939f84f3
Checksumtype: sha256
Description:  Splunk> The platform for machine data.
Epoch:        0
Filename:     splunkforwarder-5.0.4-172409-linux-2.6-x86_64.rpm
License:      (C) 2005-2013 Splunk Inc. All Rights Reserved
Name:         splunkforwarder
Provides:     splunkforwarder = 5.0.4-172409-0
Release:      172409
Requires:     /bin/mv, /bin/sh, /bin/uname
Vendor:       Splunk Inc.
Version:      5.0.4

[root@pulp-v2-server ~]# pulp-admin rpm repo publish run --repo-id splunk
                     Publishing Repository [splunk]

This command may be exited by pressing ctrl+c without affecting the actual
operation on the server.

Publishing packages...
[==================================================] 100%
Packages: 1/1 items
... completed

Publishing distributions...
[==================================================] 100%
Distributions: 0/0 items
... completed

Generating metadata
... completed

Publishing repository over HTTPS
... completed

[root@pulp-v2-server ~]# pulp-admin node repo enable --repo-id splunk
Repository enabled.

Note: Repository [ splunk ] will not be available for node synchronization until
published.  See: the 'node repo publish' command.

Warning: enabling with auto-publish may degrade repository synchronization

[root@pulp-v2-server ~]# pulp-admin node repo publish --repo-id splunk
This command may be exited via ctrl+c without affecting the request.

Waiting to begin...


Publish succeeded.

[root@pulp-v2-server ~]# pulp-admin node bind --node-id node2 --repo-id splunk
Node bind succeeded.

Note: Repository [ splunk ] will be included in node synchronization.

[root@pulp-v2-server ~]# pulp-admin node sync run --node-id node2
This command may be exited via ctrl+c without affecting the request.

Waiting to begin...

(1/3) Repository: errata-install
[==================================================] 100%

(2/3) Repository: splunk
[==================================================] 100%

(3/3) Repository: zoo
[==================================================] 100%

Synchronization succeeded

                       Child Node Synchronization

  Action: Merged
  Id:     errata-install
    Added:   0
    Removed: 0
    Updated: 0

  Action: Added
  Id:     splunk
    Added:   1
    Removed: 0
    Updated: 0

  Action: Merged
  Id:     zoo
    Added:   0
    Removed: 0
    Updated: 0

[root@pulp-v2-server ~]#
Comment 7 Preethi Thomas 2013-12-09 09:31:14 EST
Pulp 2.3 released.

Note You need to log in before you can comment on or make changes to this bug.