Bug 855384

Summary: Principal is being incorrectly set
Product: [Retired] Pulp Reporter: Jay Dobies <jason.dobies>
Component: user-experienceAssignee: Jason Connor <jconnor>
Status: CLOSED CURRENTRELEASE QA Contact: Preethi Thomas <pthomas>
Severity: high Docs Contact:
Priority: high    
Version: 2.0.6CC: jason.dobies, jortel, mmccune, skarmark
Target Milestone: ---   
Target Release: Sprint 40   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 858083 (view as bug list) Environment:
Last Closed: 2013-01-07 14:10:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 855380, 858083    

Description Jay Dobies 2012-09-07 14:56:55 UTC
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 21:41:06 UTC
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 16:48:55 UTC
Fixed and merged into master as of revision:

8588c8b04221d04eca4e08c6a7f6b0ab6beb97c3

Comment 3 Jeff Ortel 2012-09-17 22:54:47 UTC
cloned for master and aligned with CR-2.

Comment 4 Jeff Ortel 2012-09-17 22:56:27 UTC
build: 2.0.4

Comment 5 Jay Dobies 2012-09-19 15:17:10 UTC
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 18:26:43 UTC
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 20:03:03 UTC
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 14:10:16 UTC
Pulp 2.0 released.