When uploading a unit, the principal is used as the owner of the unit association. This is through the call: import pulp.server.auth.principal as pulp_principal pulp_principal.get_principal()['login'] This is always returning SYSTEM, regardless of the fact that I am logged in as admin. This call is used in a number of places, so my concern is that we're always treating logged in users as SYSTEM.
Basically the problem is that principal information is not propagated to the coordinator. Current principal should be passed to coordinator and manager should access a coordinator function call to access current principal information. Assigning to jconnor.
Fixed and merged into master as of revision: 8588c8b04221d04eca4e08c6a7f6b0ab6beb97c3
cloned for master and aligned with CR-2.
build: 2.0.4
To verify: - Create an empty repo (not strictly needed, it's just easier) - Copy an RPM into it from another repo - Upload an RPM into it - View the output of "pulp-admin repo units rpm" on the repo What you're looking for in the output is the owner type and owner ID values. For example: Owner Id: yum_importer Owner Type: importer Both of the units you add should have an owner type of "user" and an ID of your login (e.g. "admin"). The bug was that one of them was appearing as importer/yum_importer and another as user/SYSTEM.
verified [root@preethi-el6-pulp ~]# rpm -q pulp-rpm-server pulp-rpm-server-2.0.5-1.el6.noarch [root@preethi-el6-pulp ~]# [root@preethi-el6-pulp ~]# pulp-admin repo units rpm --repo-id 855384 Created: 2012-09-19T11:32:31 Id: 5059e58f196f456cae001b6c Metadata: Arch: noarch Buildhost: localhost Checksum: 1002c9f19d8675a8d457498b7a6370cb2fbb6944190ae71a4db43335eca674ed Checksumtype: sha256 Description: Gofer provides an extensible, light weight, universal python agent. The gofer core agent is a python daemon (service) that provides infrastructure for exposing a remote API and for running Recurring Actions. The APIs contributed by plug-ins are accessible by Remote Method Invocation (RMI). The transport for RMI is AMQP using the QPID message broker. Actions are also provided by plug-ins and are executed at the specified interval. Epoch: 0 Filename: gofer-0.70-1.fc17.noarch.rpm License: LGPLv2 Name: gofer Provides: [[u'gofer', u'EQ', [u'0', u'0.70', u'1.fc17']], [u'config(gofer)', u'EQ', [u'0', u'0.70', u'1.fc17']]] Relativepath: gofer-0.70-1.fc17.noarch.rpm Release: 1.fc17 Requires: [[u'python-iniparse', None, [None, None, None]], [u'python-gofer', u'EQ', [u'0', u'0.70', None]], [u'python(abi)', u'EQ', [u'0', u'2.7', None]], [u'/usr/bin/env', None, [None, None, None]], [u'/bin/sh', None, [None, None, None]], [u'/bin/sh', None, [None, None, None]], [u'/bin/bash', None, [None, None, None]]] Vendor: Version: 0.70 Owner Id: yum_importer Owner Type: importer Repo Id: 855384 Unit Id: 02db242c-78e4-470d-9ef1-6597ee7a8fdb Unit Type Id: rpm Updated: 2012-09-19T11:32:31 Created: 2012-09-19T11:32:31 Id: 5059e58f196f456cae001b6d Metadata: Arch: noarch Buildhost: localhost Checksum: 291000381d3ffab642be677070585837e5900708589c9593a9ee530756d3ce30 Checksumtype: sha256 Description: Contains gofer python lib modules. Epoch: 0 Filename: python-gofer-0.70-1.fc17.noarch.rpm License: LGPLv2 Name: python-gofer Provides: [[u'python-gofer', u'EQ', [u'0', u'0.70', u'1.fc17']]] Relativepath: python-gofer-0.70-1.fc17.noarch.rpm Release: 1.fc17 Requires: [[u'python-simplejson', None, [None, None, None]], [u'python-qpid', u'GE', [u'0', u'0.7', None]], [u'python(abi)', u'EQ', [u'0', u'2.7', None]], [u'PyPAM', None, [None, None, None]]] Vendor: Version: 0.70 Owner Id: yum_importer Owner Type: importer Repo Id: 855384 Unit Id: 32cb180a-7e92-4211-b821-5c0a6ad1988e Unit Type Id: rpm Updated: 2012-09-19T11:32:31 Created: 2012-09-19T11:37:57 Id: 5059e6d5196f456cae001d23 Metadata: Arch: noarch Buildhost: hs20-bc1-7.build.redhat.com Checksum: 74b7e90d415a679672b542fadc8b1a28e480a83409c949fb6962f6204e7796bc Checksumtype: sha256 Description: This is the client for the internal Red Hat ddns system. It is capable of keeping multiple system names updated with a central DNS server Epoch: 0 Filename: redhat-ddns-client-1.3-3.noarch.rpm License: GPL Name: redhat-ddns-client Provides: [[u'config(redhat-ddns-client)'], [u'redhat-ddns-client']] Relativepath: redhat-ddns-client-1.3-3.noarch.rpm Release: 3 Requires: [[u'/bin/bash'], [u'/bin/sh'], [u'/bin/sh'], [u'bash'], [u'config(redhat-ddns-client)'], [u'rpmlib(CompressedFileNames)'], [u'rpmlib(PayloadFilesHavePrefix)'], [u'wget']] Vendor: Red Hat, Inc. Version: 1.3 Owner Id: admin Owner Type: user Repo Id: 855384 Unit Id: 5ae430de-6426-4b90-9de0-7031f0ed9290 Unit Type Id: rpm Updated: 2012-09-19T11:37:57 [root@preethi-el6-pulp ~]#
Moving these up against the 2.0 Beta so we can delete the CR-2 version from bugzilla.
Pulp 2.0 released.