Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
For bugs related to Red Hat Enterprise Linux 5 product line. The current stable release is 5.10. For Red Hat Enterprise Linux 6 and above, please visit Red Hat JIRA https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332745 to report new issues.

Bug 1078091

Summary: incorrect serverurl specified results in return code 255 and: __str__ returned non-string (type NoneType)
Product: Red Hat Enterprise Linux 5 Reporter: Jan Hutař <jhutar>
Component: subscription-managerAssignee: candlepin-bugs
Status: CLOSED CURRENTRELEASE QA Contact: John Sefler <jsefler>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 5.10CC: bkearney, csnyder, jhutar
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-08 19:14:03 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: 1014343    

Description Jan Hutař 2014-03-19 07:18:15 UTC
Description of problem:
When I specify incorrect "--serverurl", subscription manager returns code 255 and prints unhelpful error message "__str__ returned non-string (type NoneType)"


Version-Release number of selected component (if applicable):
subscription-manager-1.8.22-1.el5
Server is Satellite-6.0.3-RHEL-6-20140313.0


How reproducible:
always


Steps to Reproduce:
1.# subscription-manager register --serverurl=https://<sat6_fqdn>/ --insecure
__str__ returned non-string (type NoneType)


Actual results:
Unhelpful error message


Expected results:
Helpful error message


Additional info:
In the /var/log/rhsm/rhsm.log there is:
2014-03-19 03:09:58,293 [DEBUG]  @injection.py:54 - Registering provider for feature IDENTITY: <class 'subscription_manager.identity.Identity'>
2014-03-19 03:09:58,294 [DEBUG]  @injection.py:54 - Registering provider for feature PRODUCT_DATE_RANGE_CALCULATOR: <function factory at 0x1cfcc050>
2014-03-19 03:09:58,294 [DEBUG]  @injection.py:54 - Registering provider for feature ENT_DIR: <class 'subscription_manager.certdirectory.EntitlementDirectory'>
2014-03-19 03:09:58,295 [DEBUG]  @injection.py:54 - Registering provider for feature PROD_DIR: <class 'subscription_manager.certdirectory.ProductDirectory'>
2014-03-19 03:09:58,295 [DEBUG]  @injection.py:54 - Registering provider for feature STATUS_CACHE: <class 'subscription_manager.cache.StatusCache'>
2014-03-19 03:09:58,295 [DEBUG]  @injection.py:54 - Registering provider for feature PROD_STATUS_CACHE: <class 'subscription_manager.cache.ProductStatusCache'>
2014-03-19 03:09:58,295 [DEBUG]  @injection.py:54 - Registering provider for feature CP_PROVIDER: <class 'subscription_manager.cp_provider.CPProvider'>
2014-03-19 03:09:58,296 [DEBUG]  @injection.py:54 - Registering provider for feature CERT_SORTER: <class 'subscription_manager.cert_sorter.CertSorter'>
2014-03-19 03:09:58,296 [DEBUG]  @injection.py:54 - Registering provider for feature PLUGIN_MANAGER: <class 'subscription_manager.plugins.PluginManager'>
2014-03-19 03:09:58,319 [DEBUG]  @injection.py:54 - Registering provider for feature DBUS_IFACE: <class 'subscription_manager.dbus_interface.DbusIface'>
2014-03-19 03:09:58,359 [DEBUG]  @injection.py:72 - Initializing singleton for feature ENT_DIR
2014-03-19 03:09:58,360 [DEBUG]  @injection.py:80 - Returning instance for feature ENT_DIR
2014-03-19 03:09:58,360 [DEBUG]  @injection.py:72 - Initializing singleton for feature PROD_DIR
2014-03-19 03:09:58,360 [DEBUG]  @injection.py:80 - Returning instance for feature PROD_DIR
2014-03-19 03:09:58,362 [DEBUG]  @injection.py:72 - Initializing singleton for feature PLUGIN_MANAGER
2014-03-19 03:09:58,363 [DEBUG]  @plugins.py:519 - loaded plugin modules: []
2014-03-19 03:09:58,363 [DEBUG]  @plugins.py:520 - loaded plugins: {}
2014-03-19 03:09:58,363 [DEBUG]  @injection.py:80 - Returning instance for feature PLUGIN_MANAGER
2014-03-19 03:09:58,368 [DEBUG]  @injection.py:80 - Returning instance for feature PLUGIN_MANAGER
2014-03-19 03:09:58,370 [DEBUG]  @injection.py:80 - Returning instance for feature ENT_DIR
[...lot_of_these...]
2014-03-19 03:09:58,473 [DEBUG]  @injection.py:80 - Returning instance for feature PROD_DIR
2014-03-19 03:09:58,474 [DEBUG]  @injection.py:80 - Returning instance for feature PLUGIN_MANAGER
2014-03-19 03:09:58,478 [DEBUG]  @profile.py:96 - Loading current RPM profile.
2014-03-19 03:09:58,733 [INFO]  @connection.py:593 - Using no auth
2014-03-19 03:09:58,733 [INFO]  @connection.py:596 - Connection Built: host: <sat6_fqdn>, port: 443, handler: 
2014-03-19 03:09:58,734 [DEBUG]  @connection.py:415 - Making request: GET /status/
2014-03-19 03:09:58,790 [DEBUG]  @connection.py:434 - Response status: 200
2014-03-19 03:09:58,792 [DEBUG]  @injection.py:72 - Initializing singleton for feature CP_PROVIDER
2014-03-19 03:09:58,793 [DEBUG]  @injection.py:80 - Returning instance for feature CP_PROVIDER
2014-03-19 03:09:58,794 [INFO]  @managercli.py:292 - Client Versions: {'python-rhsm': '1.8.17-1.el5', 'subscription-manager': '1.8.22-1.el5'}
2014-03-19 03:09:58,795 [INFO]  @connection.py:583 - Using certificate authentication: key = /etc/pki/consumer/key.pem, cert = /etc/pki/consumer/cert.pem, ca = /etc/rhsm/ca/, insecure = True
2014-03-19 03:09:58,796 [INFO]  @connection.py:596 - Connection Built: host: <sat6_fqdn>, port: 443, handler: 
2014-03-19 03:09:58,797 [INFO]  @connection.py:593 - Using no auth
2014-03-19 03:09:58,797 [INFO]  @connection.py:596 - Connection Built: host: <sat6_fqdn>, port: 443, handler: 
2014-03-19 03:09:58,884 [DEBUG]  @connection.py:415 - Making request: GET /
2014-03-19 03:09:58,920 [DEBUG]  @connection.py:434 - Response status: 401
2014-03-19 03:09:58,921 [ERROR]  @managercli.py:148 - exception caught in subscription-manager
2014-03-19 03:09:58,922 [ERROR]  @managercli.py:149 - __str__ returned non-string (type NoneType)
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager", line 82, in ?
    sys.exit(abs(main() or 0))
  File "/usr/sbin/subscription-manager", line 73, in main
    return managercli.ManagerCLI().main()
  File "/usr/share/rhsm/subscription_manager/managercli.py", line 2228, in main
    return CLI.main(self)
  File "/usr/share/rhsm/subscription_manager/cli.py", line 166, in main
    return cmd.main()
  File "/usr/share/rhsm/subscription_manager/managercli.py", line 429, in main
    self.log_server_version()
  File "/usr/share/rhsm/subscription_manager/managercli.py", line 302, in log_server_version
    self.server_versions = get_server_versions(self.no_auth_cp, exception_on_timeout=True)
  File "/usr/share/rhsm/subscription_manager/utils.py", line 361, in get_server_versions
    log.error(("Error while checking server version: %s") % e)
TypeError: __str__ returned non-string (type NoneType)

Comment 3 John Sefler 2014-08-14 17:22:30 UTC
[root@jsefler-5 ~]# rpm -q subscription-manager
subscription-manager-1.11.3-10.el5
[root@jsefler-5 ~]# subscription-manager register --serverurl=https://sat6_fqdn/ --insecure
Unable to reach the server at sat6_fqdn:443/
[root@jsefler-5 ~]# 

VERIFIED: This appears to be working properly with the subscription-manager version being released with RHEL5.11


[root@jsefler-6 ~]# rpm -q subscription-manager
subscription-manager-1.12.10-1.el6.x86_64
[root@jsefler-6 ~]# subscription-manager register --serverurl=https://sat6_fqdn/ --insecure
Unable to reach the server at sat6_fqdn:443/
[root@jsefler-6 ~]# 

VERIFIED: This appears to be working properly with the subscription-manager version being released with RHEL6.6