Bug 855384 - Principal is being incorrectly set
Principal is being incorrectly set
Status: CLOSED CURRENTRELEASE
Product: Pulp
Classification: Community
Component: user-experience (Show other bugs)
2.0.6
Unspecified Unspecified
high Severity high
: ---
: Sprint 40
Assigned To: Jason Connor
Preethi Thomas
:
Depends On:
Blocks: 855380 858083
  Show dependency treegraph
 
Reported: 2012-09-07 10:56 EDT by Jay Dobies
Modified: 2014-03-30 21:40 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 858083 (view as bug list)
Environment:
Last Closed: 2013-01-07 09:10:16 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jay Dobies 2012-09-07 10:56:55 EDT
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.
Comment 1 Sayli Karmarkar 2012-09-10 17:41:06 EDT
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.
Comment 2 Jason Connor 2012-09-13 12:48:55 EDT
Fixed and merged into master as of revision:

8588c8b04221d04eca4e08c6a7f6b0ab6beb97c3
Comment 3 Jeff Ortel 2012-09-17 18:54:47 EDT
cloned for master and aligned with CR-2.
Comment 4 Jeff Ortel 2012-09-17 18:56:27 EDT
build: 2.0.4
Comment 5 Jay Dobies 2012-09-19 11:17:10 EDT
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.
Comment 6 Preethi Thomas 2012-09-19 14:26:43 EDT
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 ~]#
Comment 7 Jay Dobies 2013-01-03 15:03:03 EST
Moving these up against the 2.0 Beta so we can delete the CR-2 version from bugzilla.
Comment 8 Preethi Thomas 2013-01-07 09:10:16 EST
Pulp 2.0 released.

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