Bug 808047

Summary: Unable to list custom repository entitlements having generated new identity certificate
Product: Red Hat Update Infrastructure for Cloud Providers Reporter: mkovacik
Component: RHUAAssignee: James Slagle <jslagle>
Status: CLOSED DUPLICATE QA Contact: wes hayutin <whayutin>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 2.0.3CC: kbidarka, sghai, tsanders
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-09 15:19:12 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:

Description mkovacik 2012-03-29 12:39:49 UTC
Description of problem:
As in the summary field; an error is logged in /root/.rhui/rhui.log:


Version-Release number of selected component (if applicable):
RHEL-6.2-RHUI-2.0.3-20120322.0-Server-x86_64-DVD1.iso

How reproducible:
- Does not appear on a node with the same version where the identity certificate wasn't updated


Steps to Reproduce:
1. create custom repository accessible via entitlement
2. create entitlement that involves the custom repository from step 1 
3. generate new identity certificate
4. listing custom repository entitlements generates a stack log
  
Actual results:
Error listing custom repository entitlements having generated new identity certificate

Expected results:
Having generated new identity certificate, custom repository entitlements are listed


Additional info:
### Error details
[root@ip-10-51-53-253 ~]# tail -23 .rhui/rhui.log 


Private key creation output
Exit Code: 0

writing RSA key

Command [openssl x509 -req -days 1 -in /tmp/rhui-id-lYX6W5/identity.csr -CA /etc/pki/rhui/entitlement-ca.crt -CAkey /etc/pki/rhui/entitlement-ca-key.pem -out /tmp/rhui-id-lYX6W5/identity.crt -extfile /tmp/rhui-id-lYX6W5/identity-extensions.txt -extensions rhui]
Certificate creation output

Signature ok
subject=/CN=Red Hat Update Infrastructure
Getting CA Private Key

Unexpected error caught at the shell level
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/rhui/tools/shell.py", line 87, in safe_listen
    self.listen(clear=first_run)
  File "/usr/lib/python2.6/site-packages/rhui/tools/shell.py", line 113, in listen
    Shell.listen(self)
  File "/usr/lib/python2.6/site-packages/rhui/common/shell.py", line 191, in listen
    item.func(*args, **item.kwargs)
  File "/usr/lib/python2.6/site-packages/rhui/tools/screens/entitlements.py", line 64, in list_custom
    self.prompt.write('  ' + path)
TypeError: cannot concatenate 'str' and 'NoneType' objects

Comment 1 mkovacik 2012-03-29 13:02:04 UTC
Checked on another machine; it is reproducible:

### SCREEN LOG
[root@dhcp-31-127 ~]# rhui-manager

------------------------------------------------------------------------------
             -= Red Hat Update Infrastructure Management Tool =-


-= Home =-

   r   manage repositories
   c   manage content delivery servers (CDS)
   s   synchronization status and scheduling
   e   create entitlement certificates and client configuration RPMs
   n   manage Red Hat entitlement certificates
   u   manage users
   i   manage identity certificate

   logout
       removes stored authentication credentials and exits

   <   move to the previous screen
   ^, home
       move to the home screen
   /, clear
       clears the screen
   ?, help
       display help
   q, quit, exit
       exit

                                         Connected: dhcp-31-127.brq.redhat.com
------------------------------------------------------------------------------
rhui (home) => r

------------------------------------------------------------------------------
             -= Red Hat Update Infrastructure Management Tool =-


-= Repository Management =-

   l   list repositories currently managed by the RHUI
   i   display detailed information on a repository
   a   add a new Red Hat content repository
   c   create a new custom repository
   d   delete a repository from the RHUI
   u   upload content to a custom repository
   p   list packages in a repository

                                         Connected: dhcp-31-127.brq.redhat.com
------------------------------------------------------------------------------
rhui (repo) => l

Custom Repositories
  c_1
  c_2

Red Hat Repositories
  Red Hat Enterprise Linux 5 Server from RHUI (RPMs) (5Server-i386)
  Red Hat Enterprise Linux 5 Server from RHUI (RPMs) (5Server-x86_64)
  Red Hat Update Infrastructure 2.0 (RPMs) (6Server-x86_64)
  Red Hat Enterprise Linux 6 Server (RPMs) from RHUI (6Server-i386)
  Red Hat Enterprise Linux 6 Server (RPMs) from RHUI (6Server-x86_64)


------------------------------------------------------------------------------
rhui (repo) => <

------------------------------------------------------------------------------
             -= Red Hat Update Infrastructure Management Tool =-


-= Home =-

   r   manage repositories
   c   manage content delivery servers (CDS)
   s   synchronization status and scheduling
   e   create entitlement certificates and client configuration RPMs
   n   manage Red Hat entitlement certificates
   u   manage users
   i   manage identity certificate

                                         Connected: dhcp-31-127.brq.redhat.com
------------------------------------------------------------------------------
rhui (home) => n

------------------------------------------------------------------------------
             -= Red Hat Update Infrastructure Management Tool =-


-= Entitlements Manager =-

   l   list Red Hat content certificate entitlements
   c   list custom repository entitlements
   u   upload a new or updated Red Hat content certificate

                                         Connected: dhcp-31-127.brq.redhat.com
------------------------------------------------------------------------------
rhui (entitlements) => c

Custom Repository Entitlements

  For each entitlement URL listed, the corresponding repositories
  that are configured with that entitlement are listed.

  c_1/$basearch
    - Name: c_1
      URL:  c_1/x86_64


------------------------------------------------------------------------------
rhui (entitlements) => <

------------------------------------------------------------------------------
             -= Red Hat Update Infrastructure Management Tool =-


-= Home =-

   r   manage repositories
   c   manage content delivery servers (CDS)
   s   synchronization status and scheduling
   e   create entitlement certificates and client configuration RPMs
   n   manage Red Hat entitlement certificates
   u   manage users
   i   manage identity certificate

                                         Connected: dhcp-31-127.brq.redhat.com
------------------------------------------------------------------------------
rhui (home) => i
------------------------------------------------------------------------------
             -= Red Hat Update Infrastructure Management Tool =-


-= Identity Certificate Management =-

   g   generate a new identity certificate

   logout
       removes stored authentication credentials and exits

   <   move to the previous screen
   ^, home
       move to the home screen
   /, clear
       clears the screen
   ?, help
       display help
   q, quit, exit
       exit

                                         Connected: dhcp-31-127.brq.redhat.com
------------------------------------------------------------------------------
rhui (identity) => g

Generating a new RHUI identity certificate will replace
the one currently stored at /etc/pki/rhui/identity.crt.  Proceed? [y/n]: y

Enter the number of days the RHUI identity certificate will be valid.
If the identity certificate ever expires, it will need to be
regenerated using rhui-manager [Default: 3650]: 1
................................................................................................................................................+++
..............................+++
Enter pass phrase for /etc/pki/rhui/entitlement-ca-key.pem:



Successfully regenerated RHUI Identity certificate

------------------------------------------------------------------------------
rhui (identity) => rhui (identity) => rhui (identity) => rhui (identity) =>
rhui (identity) => M
Invalid menu item; type "?" for a list of available commands
rhui (identity) => <

------------------------------------------------------------------------------
             -= Red Hat Update Infrastructure Management Tool =-


-= Home =-

   r   manage repositories
   c   manage content delivery servers (CDS)
   s   synchronization status and scheduling
   e   create entitlement certificates and client configuration RPMs
   n   manage Red Hat entitlement certificates
   u   manage users
   i   manage identity certificate

                                         Connected: dhcp-31-127.brq.redhat.com
------------------------------------------------------------------------------
rhui (home) => n

------------------------------------------------------------------------------
             -= Red Hat Update Infrastructure Management Tool =-


-= Entitlements Manager =-

   l   list Red Hat content certificate entitlements
   c   list custom repository entitlements
   u   upload a new or updated Red Hat content certificate

                                         Connected: dhcp-31-127.brq.redhat.com
------------------------------------------------------------------------------
rhui (entitlements) => c

Custom Repository Entitlements

  For each entitlement URL listed, the corresponding repositories
  that are configured with that entitlement are listed.


An unexpected error has occurred during the last operation.
More information can be found in /root/.rhui/rhui.log.


------------------------------------------------------------------------------
             -= Red Hat Update Infrastructure Management Tool =-


-= Entitlements Manager =-

   l   list Red Hat content certificate entitlements
   c   list custom repository entitlements
   u   upload a new or updated Red Hat content certificate

   logout
       removes stored authentication credentials and exits

   <   move to the previous screen
   ^, home
       move to the home screen
   /, clear
       clears the screen
   ?, help
       display help
   q, quit, exit
       exit

                                         Connected: dhcp-31-127.brq.redhat.com
------------------------------------------------------------------------------
rhui (entitlements) => ^Z
[1]+  Stopped                 rhui-manager
[root@dhcp-31-127 ~]# tail -23 .rhui/rhui.log 
Private key creation output
Exit Code: 0

writing RSA key

Command [openssl x509 -req -days 1 -in /tmp/rhui-id-EPDze4/identity.csr -CA /etc/pki/rhui/entitlement-ca.crt -CAkey /etc/pki/rhui/entitlement-ca-key.pem -out /tmp/rhui-id-EPDze4/identity.crt -extfile /tmp/rhui-id-EPDze4/identity-extensions.txt -extensions rhui]
Certificate creation output

Signature ok
subject=/CN=Red Hat Update Infrastructure
Getting CA Private Key

Unexpected error caught at the shell level
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/rhui/tools/shell.py", line 87, in safe_listen
    self.listen(clear=first_run)
  File "/usr/lib/python2.6/site-packages/rhui/tools/shell.py", line 113, in listen
    Shell.listen(self)
  File "/usr/lib/python2.6/site-packages/rhui/common/shell.py", line 191, in listen
    item.func(*args, **item.kwargs)
  File "/usr/lib/python2.6/site-packages/rhui/tools/screens/entitlements.py", line 64, in list_custom
    self.prompt.write('  ' + path)
TypeError: cannot concatenate 'str' and 'NoneType' objects

Comment 2 James Slagle 2012-04-09 15:19:12 UTC

*** This bug has been marked as a duplicate of bug 809257 ***