Bug 502647

Summary: Provisioning, kickstart system does not reactivate if user has been deleted
Product: Red Hat Satellite 5 Reporter: wes hayutin <whayutin>
Component: ProvisioningAssignee: Mike McCune <mmccune>
Status: CLOSED DEFERRED QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: medium Docs Contact:
Priority: low    
Version: 530CC: cperry
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://grandprix.rhndev.redhat.com/rhn/systems/details/kickstart/SessionStatus.do?sid=1000010200
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-04 13:25:14 UTC Type: ---
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: 462714    

Description wes hayutin 2009-05-26 18:20:08 UTC
Description of problem:

5/21.1 build

recreate

1. create a custom org admin for org1 w/ satellite privileges
2. as admin start a kickstart of a system
3. while the kickstart is running log in as the custom org admin
4. delete the admin user

get ise for reactivation of system  

Exception reported from grandprix.rhndev.redhat.com
Time: Tue May 26 14:02:25 2009
Exception type common.rhnException.rhnException
Exception while handling function registration.new_system
Request object information:
URI: /XMLRPC
Remote Host: rlx-3-06.rhndev.redhat.com
Server Name: grandprix.rhndev.redhat.com:443
Headers passed in:
        Accept-Encoding: identity
        Content-Length: 647
        Host: grandprix.rhndev.redhat.com:443
        content-type: text/xml
        user-agent: rhn.rpclib.py/$Revision: 136589 $
        x-client-version: 1
        x-info: RPC Processor (C) Red Hat, Inc (version 135431)
        x-rhn-client-capability: packages.verifyAll(1)=1,caneatCheese(1)=1,packages.extended_profile(1)=1,reboot.reboot(1)=1,packages.verify(1)=1,packages.runTransaction(1)=1,packages.update(2)=2,packages.rollBack(1)=1
        x-rhn-transport-capability: follow-redirects=2
        x-transport-info: Extended Capabilities Transport (C) Red Hat, Inc (version 136589)
        x-up2date-version: 0.4.19-17.el5

Exception Handler Information
Traceback (most recent call last):
  File "/usr/share/rhn/server/apacheRequest.py", line 120, in call_function
    response = apply(func, params)
  File "/usr/share/rhn/server/handlers/xmlrpc/registration.py", line 534, in new_system
    architecture, data)
  File "/usr/share/rhn/server/handlers/xmlrpc/registration.py", line 279, in create_system
    newserv.user.reload(newserv.server['creator_id'])
  File "/usr/share/rhn/server/rhnUser.py", line 350, in reload
    raise rhnException("Could not find contact record for id", user_id)
rhnException: ('Could not find contact record for id', None)

Local variables by frame
Frame reload in /usr/share/rhn/server/rhnUser.py at line 350
                        self = <type 'instance'> <server.rhnUser.User instance at 0xabbd84c>
                     user_id = <type 'NoneType'> None

Frame create_system in /usr/share/rhn/server/handlers/xmlrpc/registration.py at line 279
             release_version = <type 'str'> 5Server
                        user = <type 'NoneType'> None
                architecture = <type 'str'> i686-redhat-linux
                        self = <type 'instance'> <server.handlers.xmlrpc.registration.Registration instance at 0xabbd12c>
                 applet_uuid = <type 'NoneType'> None
                profile_name = <type 'str'> rlx-3-06.rhndev.redhat.com
                  tokens_obj = <type 'instance'> <server.rhnServer.server_token.ReRegistrationToken instance at 0xabbd28c>
                    log_item = <type 'str'> token = '1-19d799611a3014a7d0eae64d7f28a596'
                token_string = <type 'str'> 1-19d799611a3014a7d0eae64d7f28a596
                up2date_uuid = <type 'NoneType'> None
                        data = <type 'dict'> {'token': '1-19d799611a3014a7d0eae64d7f28a596', 'profile_name': 'rlx-3-06.rhndev.redhat.com', 'architecture': 'i686-redhat-linux', 'os_release': '5Server', 'release_name': 'redhat-release'}
                     newserv = <class 'server.rhnServer.server_class.Server'> <Server Class at 180080716: {'self.cert': None, 'self.server': {'info': ("rhn_register by username = 'admin'", 0), 'creator_id': (None, 0), 'provision_state_id': (None, 0), 'name': ('rlx-3-06.rhndev.redhat.com', 0), 'created': (datetime.datetime(2009, 5, 26, 13, 23, 25), 0), 'auto_update': ('N', 0), 'running_kernel': ('2.6.18-128.el5xen', 0), 'description': ('Initial Registration Parameters:\r\nOS: redhat-release\r\nRelease: 5Server\r\nCPU Arch: i686-redhat-linux', 0), 'org_id': (1, 0), 'modified': (datetime.datetime(2009, 5, 26, 13, 58, 26), 0), 'server_arch_id': (1003, 0), 'secret': ('8bf484e22cbff02288274255bedab05e', 0), 'last_boot': (1242066547, 0), 'digital_server_id': ('ID-1000010220', 0), 'release': ('5Server', 0), 'channels_changed': (datetime.datetime(2009, 5, 26, 0, 0), 0), 'auto_deliver': ('N', 0), 'os': ('redhat-release', 0), 'id': (1000010220, 0), 'cobbler_id': ('MTI0MzM2MDE5OC45MTUwOTU3OTUu!
 MDU5OQ', 0)}}>

                     channel = <type 'NoneType'> None
                     release = <type 'str'> 5Server

Frame new_system in /usr/share/rhn/server/handlers/xmlrpc/registration.py at line 534
                        self = <type 'instance'> <server.handlers.xmlrpc.registration.Registration instance at 0xabbd12c>
             release_version = <type 'str'> 5Server
                profile_name = <type 'str'> rlx-3-06.rhndev.redhat.com
                architecture = <type 'str'> i686-redhat-linux
                        data = <type 'dict'> {'token': '1-19d799611a3014a7d0eae64d7f28a596', 'profile_name': 'rlx-3-06.rhndev.redhat.com', 'architecture': 'i686-redhat-linux', 'os_release': '5Server', 'release_name': 'redhat-release'}
                        user = <type 'NoneType'> None

Frame call_function in /usr/share/rhn/server/apacheRequest.py at line 171
                        self = <type 'instance'> <server.apacheRequest.apachePOST instance at 0xb353ca4c>
                      params = <type 'tuple'> ({'token': '1-19d799611a3014a7d0eae64d7f28a596', 'profile_name': 'rlx-3-06.rhndev.redhat.com', 'architecture': 'i686-redhat-linux', 'os_release': '5Server', 'release_name': 'redhat-release'},)
              force_rollback = <type 'int'> 1
                        func = <type 'instancemethod'> <bound method Registration.new_system of <server.handlers.xmlrpc.registration.Registration instance at 0xabbd12c>>
                      method = <type 'unicode'> registration.new_system

Frame process in /usr/share/rhn/server/apacheRequest.py at line 473
                          fd = <type 'instance'> <cStringIO.StringO object at 0xabbd2a0>
                       _body = <type 'str'> <?xml version='1.0'?>
<methodCall>
<methodName>registration.new_system</methodName>
<params>
<param>
<value><struct>
<member>
<name>token</name>
<value><string>1-19d799611a3014a7d0eae64d7f28a596</string></value>
</member>
<member>
<name>profile_name</name>
<value><string>rlx-3-06.rhndev.redhat.com</string></value>
</member>
<member>
<name>architecture</name>
<value><string>i686-redhat-linux</string></value>
</member>
<member>
<name>os_release</name>
<value><string>5Server</string></value>
</member>
<member>
<name>release_name</name>
<value><string>redhat-release</string></value>
</member>
</struct></value>
</param>
</params>
</methodCall>

                      params = <type 'tuple'> ({'token': '1-19d799611a3014a7d0eae64d7f28a596', 'profile_name': 'rlx-3-06.rhndev.redhat.com', 'architecture': 'i686-redhat-linux', 'os_release': '5Server', 'release_name': 'redhat-release'},)
                      method = <type 'unicode'> registration.new_system
                        self = <type 'instance'> <server.apacheRequest.apachePOST instance at 0xb353ca4c>

Frame handler in /usr/share/rhn/server/apacheHandler.py at line 198
                           h = <type 'instance'> <__builtin__.OracleCursor on <cx_Oracle.Connection to rhnsat@rhnsat>>
                        self = <type 'instance'> <server.apacheHandler.apacheHandler instance at 0xb36420ac>
                         req = <type 'mp_request'> <mp_request object at 0xb7e8fd2c>
                         ret = <type 'int'> 0
             templateStrings = <type 'dict'> {'email_account_info': '\nAccount Information:\n  Your RHN login:         <login />\n  Your RHN email address: <email-address />', 'email_footer': '--the Red Hat Network Team', 'hostname': 'grandprix.rhndev.redhat.com'}
                         row = <type 'NoneType'> None

Frame __call__ in /usr/share/rhn/server/apacheServer.py at line 58
                        self = <type 'instance'> <server.apacheServer.HandlerWrap instance at 0xb36dfbcc>
                         req = <type 'mp_request'> <mp_request object at 0xb7e8fd2c>
                           f = <type 'instancemethod'> <bound method apacheHandler.handler of <server.apacheHandler.apacheHandler instance at 0xb36420ac>>

Frame HandlerDispatch in /usr/lib/python2.4/site-packages/mod_python/apache.py at line 299
                         req = <type 'mp_request'> <mp_request object at 0xb7e8fd2c>
                      config = <type 'mp_table'> {'PythonInterpreter': 'rhn.server', 'PythonPath': 'sys.path+['/usr/share/rhn']'}
                        self = <type 'instance'> <mod_python.apache.CallBack instance at 0xb7e9d76c>
                      object = <type 'instance'> <server.apacheServer.HandlerWrap instance at 0xb36dfbcc>
                           l = <type 'list'> ['server.apacheServer', 'Handler']
                      module = <type 'module'> <module 'server.apacheServer' from '/usr/share/rhn/server/apacheServer.pyc'>
                       hlist = <type 'mp_hlist'> {'handler:'server.apacheServer::Handler','directory':'/XMLRPC/','silent':0}
                  object_str = <type 'str'> Handler
                       debug = <type 'int'> 0
                 module_name = <type 'str'> server.apacheServer
                  pathstring = <type 'str'> sys.path+['/usr/share/rhn']
                      result = <type 'int'> 500


Environment for PID=12219 on exception:
LANG = C
NLS_LANG = english.AL32UTF8
ORACLE_HOME = /opt/oracle
PATH = /sbin:/usr/sbin:/bin:/usr/bin
PERL_BADFREE = 0
PWD = /
SHLVL = 2
TERM = dumb
_ = /usr/sbin/httpd

Comment 2 Clifford Perry 2009-05-27 19:00:34 UTC
This is not a new bug. Our code has always done this. Moving off 530. 

Cliff