Bug 920551 - Not able to launch sm gui with invalid proxy url
Summary: Not able to launch sm gui with invalid proxy url
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: subscription-manager
Version: 5.10
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: beta
: 5.10
Assignee: candlepin-bugs
QA Contact: IDM QE LIST
URL:
Whiteboard:
Depends On:
Blocks: rhsm-rhel510 rhsm-2013
TreeView+ depends on / blocked
 
Reported: 2013-03-12 10:56 UTC by spandey
Modified: 2015-04-23 23:57 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
No description necessary
Clone Of:
Environment:
Last Closed: 2013-09-30 22:59:20 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1332 0 normal SHIPPED_LIVE subscription-manager bug fix and enhancement update 2013-09-30 22:49:24 UTC

Description spandey 2013-03-12 10:56:25 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:

Prerequisites : 
Rhel6.4 with following subscription-manager rpm 

subscription-manager-migration-data-1.12.2.6-1.git.0.171d4c3.el6.noarch
subscription-manager-firstboot-1.8.4-1.git.17.db21599.el6.x86_64
subscription-manager-gui-1.8.4-1.git.17.db21599.el6.x86_64
subscription-manager-1.8.4-1.git.17.db21599.el6.x86_64
subscription-manager-migration-1.8.4-1.git.17.db21599.el6.x86_64

Steps to Repro : 
Launch subscription-manager gui and configure invalid proxy for proxy url,
close and start subscription-manager gui . 

Expected Result : 
Subscription-manager gui should open no error should display on console. 

Actual Result : 
[root@dhcp201-164 ~]# subscription-manager-gui 
[Errno 111] Connection refused
[root@dhcp201-164 ~]# 
 

rhsm.log output

2013-03-12 21:46:59,796 [DEBUG]  @injection.py:66 - Returning instance for feature IDENTITY
2013-03-12 21:46:59,797 [DEBUG]  @profile.py:95 - Loading current RPM profile.
2013-03-12 21:46:59,905 [INFO]  @connection.py:586 - Using certificate authentication: key = /etc/pki/consumer/key.pem, cert = /etc/pki/consumer/cert.pem, ca = /etc/rhsm/ca/, insecure = False
2013-03-12 21:46:59,906 [INFO]  @connection.py:597 - Connection Built: host: 10.65.193.68, port: 8443, handler: /candlepin
2013-03-12 21:46:59,906 [DEBUG]  @connection.py:199 - ContectConnection
2013-03-12 21:46:59,906 [DEBUG]  @injection.py:66 - Returning instance for feature IDENTITY
2013-03-12 21:46:59,907 [DEBUG]  @plugins.py:508 - loaded plugin modules: []
2013-03-12 21:46:59,907 [DEBUG]  @plugins.py:509 - loaded plugins: {}
2013-03-12 21:46:59,908 [DEBUG]  @plugins.py:481 - Calling PluginManager init
2013-03-12 21:46:59,908 [DEBUG]  @managergui.py:180 - Client Versions: {'python-rhsm': '1.8.7-1.git.1.675a611.el6', 'subscription-manager': '1.8.4-1.git.17.db21599.el6'} 
2013-03-12 21:46:59,953 [DEBUG]  @connection.py:394 - Loading CA PEM certificates from: /etc/rhsm/ca/
2013-03-12 21:46:59,953 [DEBUG]  @connection.py:376 - Loading CA certificate: '/etc/rhsm/ca/candlepin-ca.pem'
2013-03-12 21:46:59,953 [DEBUG]  @connection.py:376 - Loading CA certificate: '/etc/rhsm/ca/redhat-uep.pem'
2013-03-12 21:46:59,954 [DEBUG]  @connection.py:376 - Loading CA certificate: '/etc/rhsm/ca/candlepin-stage.pem'
2013-03-12 21:46:59,955 [DEBUG]  @connection.py:400 - Using proxy: 10.65.193.76:3128
2013-03-12 21:46:59,955 [DEBUG]  @connection.py:415 - Making request: GET https://10.65.193.68:8443/candlepin/
2013-03-12 21:46:59,956 [ERROR]  @utils.py:375 - Error while checking server version: [Errno 111] Connection refused
2013-03-12 21:46:59,956 [ERROR]  @utils.py:377 - [Errno 111] Connection refused
Traceback (most recent call last):
  File "/usr/share/rhsm/subscription_manager/utils.py", line 365, in get_server_versions
    if cp.supports_resource("status"):
  File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 623, in supports_resource
    self._load_supported_resources()
  File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 610, in _load_supported_resources
    resources_list = self.conn.request_get("/")
  File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 481, in request_get
    return self._request("GET", method)
  File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 422, in _request
    conn.request(request_type, handler, body=body, headers=headers)
  File "/usr/lib64/python2.6/httplib.py", line 914, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib64/python2.6/httplib.py", line 951, in _send_request
    self.endheaders()
  File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 174, in endheaders
    httpslib.HTTPSConnection.endheaders(self)
  File "/usr/lib64/python2.6/httplib.py", line 908, in endheaders
    self._send_output()
  File "/usr/lib64/python2.6/httplib.py", line 780, in _send_output
    self.send(msg)
  File "/usr/lib64/python2.6/httplib.py", line 739, in send
    self.connect()
  File "/usr/lib64/python2.6/site-packages/M2Crypto/httpslib.py", line 192, in connect
    HTTPConnection.connect(self)
  File "/usr/lib64/python2.6/httplib.py", line 720, in connect
    self.timeout)
  File "/usr/lib64/python2.6/socket.py", line 567, in create_connection
    raise error, msg
error: [Errno 111] Connection refused
2013-03-12 21:46:59,958 [DEBUG]  @managergui.py:181 - Server Versions: {'candlepin': 'Unknown', 'server-type': 'Red Hat Subscription Management'} 
2013-03-12 21:46:59,961 [DEBUG]  @injection.py:66 - Returning instance for feature IDENTITY
2013-03-12 21:46:59,963 [DEBUG]  @injection.py:66 - Returning instance for feature IDENTITY
2013-03-12 21:46:59,983 [DEBUG]  @injection.py:66 - Returning instance for feature IDENTITY
2013-03-12 21:47:00,002 [DEBUG]  @injection.py:66 - Returning instance for feature IDENTITY
2013-03-12 21:47:00,005 [DEBUG]  @injection.py:66 - Returning instance for feature IDENTITY
2013-03-12 21:47:00,005 [DEBUG]  @injection.py:63 - Returning callable provider for feature CERT_SORTER: <class 'subscription_manager.cert_sorter.CertSorter'>
2013-03-12 21:47:00,005 [DEBUG]  @injection.py:66 - Returning instance for feature IDENTITY
2013-03-12 21:47:00,006 [DEBUG]  @certdirectory.py:188 - Installed product IDs: ['801']
2013-03-12 21:47:00,007 [DEBUG]  @connection.py:394 - Loading CA PEM certificates from: /etc/rhsm/ca/
2013-03-12 21:47:00,007 [DEBUG]  @connection.py:376 - Loading CA certificate: '/etc/rhsm/ca/candlepin-ca.pem'
2013-03-12 21:47:00,008 [DEBUG]  @connection.py:376 - Loading CA certificate: '/etc/rhsm/ca/redhat-uep.pem'
2013-03-12 21:47:00,008 [DEBUG]  @connection.py:376 - Loading CA certificate: '/etc/rhsm/ca/candlepin-stage.pem'
2013-03-12 21:47:00,009 [DEBUG]  @connection.py:400 - Using proxy: 10.65.193.76:3128
2013-03-12 21:47:00,009 [DEBUG]  @connection.py:415 - Making request: GET https://10.65.193.68:8443/candlepin/consumers/4c2f551f-3f7b-491a-863b-05cb3ebd45f2/compliance
2013-03-12 21:47:00,010 [ERROR]  @subscription-manager-gui:148 - [Errno 111] Connection refused
Traceback (most recent call last):
  File "/usr/sbin/subscription-manager-gui", line 131, in <module>
    main = managergui.MainWindow(auto_launch_registration=options.register)
  File "/usr/share/rhsm/subscription_manager/gui/managergui.py", line 212, in __init__
    prod_dir=self.product_dir)
  File "/usr/share/rhsm/subscription_manager/gui/installedtab.py", line 68, in __init__
    self.backend.uep)
  File "/usr/share/rhsm/subscription_manager/injection.py", line 64, in require
    return provider(*args, **kwargs)
  File "/usr/share/rhsm/subscription_manager/cert_sorter.py", line 108, in __init__
    self._parse_server_status()
  File "/usr/share/rhsm/subscription_manager/cert_sorter.py", line 119, in _parse_server_status
    status = self.uep.getCompliance(self.identity.uuid)
  File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 738, in getCompliance
    return self.conn.request_get(method)
  File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 481, in request_get
    return self._request("GET", method)
  File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 422, in _request
    conn.request(request_type, handler, body=body, headers=headers)
  File "/usr/lib64/python2.6/httplib.py", line 914, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib64/python2.6/httplib.py", line 951, in _send_request
    self.endheaders()
  File "/usr/lib64/python2.6/site-packages/rhsm/connection.py", line 174, in endheaders
    httpslib.HTTPSConnection.endheaders(self)
  File "/usr/lib64/python2.6/httplib.py", line 908, in endheaders
    self._send_output()
  File "/usr/lib64/python2.6/httplib.py", line 780, in _send_output
    self.send(msg)
  File "/usr/lib64/python2.6/httplib.py", line 739, in send
    self.connect()
  File "/usr/lib64/python2.6/site-packages/M2Crypto/httpslib.py", line 192, in connect
    HTTPConnection.connect(self)
  File "/usr/lib64/python2.6/httplib.py", line 720, in connect
    self.timeout)
  File "/usr/lib64/python2.6/socket.py", line 567, in create_connection
    raise error, msg
error: [Errno 111] Connection refused

Comment 1 RHEL Program Management 2013-04-09 20:17:48 UTC
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux release.  Product Management has
requested further review of this request by Red Hat Engineering, for
potential inclusion in a Red Hat Enterprise Linux release for currently
deployed products.  This request is not yet committed for inclusion in
a release.

Comment 2 Bryan Kearney 2013-05-01 21:03:46 UTC
I am not seeing this on 6.4 with 1.8.6. Couple of questions:

1) Are you regsitering against hosted?
2) Are you registered before you launch this?

Comment 3 spandey 2013-05-02 06:01:38 UTC
verified Using following rpm with rhel6.4 

subscription-manager-migration-data-1.12.2.6-1.git.0.171d4c3.el6.noarch
subscription-manager-firstboot-1.8.6-1.el6.x86_64
subscription-manager-gui-1.8.6-1.el6.x86_64
subscription-manager-1.8.6-1.el6.x86_64
subscription-manager-migration-1.8.6-1.el6.x86_64


gui successfully launched with invalid proxy url . resolving defect as verified

Comment 4 Sharath Dwaral 2013-05-14 15:53:30 UTC
# rpm -qa | egrep "subscription-manager|python-rhsm"
subscription-manager-gui-1.8.6-1.git.7.96019b0.el5
python-rhsm-1.8.9-1.git.7.214419e.el5
subscription-manager-migration-1.8.6-1.git.7.96019b0.el5
subscription-manager-1.8.6-1.git.7.96019b0.el5
subscription-manager-migration-data-1.11.2.7-1.git.0.1dfd00e.el5
subscription-manager-firstboot-1.8.6-1.git.7.96019b0.el5

Steps to reproduce this bug:

1. Open Subscription manager gui
2. Make sure Proxy Location was not set (if set uncheck and restart gui)
3. System in unregistered state
4. System -> System Proxy -> Set Proxy Location to invalid proxy 
5. Close Proxy Window
6. Close GUI
7. Reopen GUI

The GUI starts successfully but rhsm.log has the below traceback

2013-05-14 11:46:22,708 [DEBUG]  @cert_sorter.py:121 - Unregistered, skipping server compliance check.
2013-05-14 11:46:45,657 [INFO]  @connection.py:583 - Using certificate authentication: key = /etc/pki/consumer/key.pem, cert = /etc/pki/consumer/cert.pem, ca = /etc/rhsm/ca/, insecure = False
2013-05-14 11:46:45,657 [INFO]  @connection.py:596 - Connection Built: host: fsharath-candlepin.usersys.redhat.com, port: 8443, handler: /candlepin
2013-05-14 11:46:45,657 [DEBUG]  @connection.py:199 - ContectConnection
2013-05-14 11:47:04,967 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:04,968 [DEBUG]  @profile.py:96 - Loading current RPM profile.
2013-05-14 11:47:05,050 [INFO]  @connection.py:583 - Using certificate authentication: key = /etc/pki/consumer/key.pem, cert = /etc/pki/consumer/cert.pem, ca = /etc/rhsm/ca/, insecure = False
2013-05-14 11:47:05,051 [INFO]  @connection.py:596 - Connection Built: host: fsharath-candlepin.usersys.redhat.com, port: 8443, handler: /candlepin
2013-05-14 11:47:05,051 [DEBUG]  @connection.py:199 - ContectConnection
2013-05-14 11:47:05,051 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,051 [DEBUG]  @plugins.py:508 - loaded plugin modules: []
2013-05-14 11:47:05,052 [DEBUG]  @plugins.py:509 - loaded plugins: {}
2013-05-14 11:47:05,052 [DEBUG]  @plugins.py:481 - Calling PluginManager init
2013-05-14 11:47:05,052 [DEBUG]  @managergui.py:184 - Client Versions: {'python-rhsm': '1.8.11-1.git.0.39d1a53.el5', 'subscription-manager': '1.8.7-1.git.39.c802238.el5'} 
2013-05-14 11:47:05,088 [DEBUG]  @connection.py:394 - Loading CA PEM certificates from: /etc/rhsm/ca/
2013-05-14 11:47:05,089 [DEBUG]  @connection.py:376 - Loading CA certificate: '/etc/rhsm/ca/fsharath-candlepin.pem'
2013-05-14 11:47:05,089 [DEBUG]  @connection.py:376 - Loading CA certificate: '/etc/rhsm/ca/candlepin-stage.pem'
2013-05-14 11:47:05,089 [DEBUG]  @connection.py:376 - Loading CA certificate: '/etc/rhsm/ca/redhat-uep.pem'
2013-05-14 11:47:05,089 [DEBUG]  @connection.py:400 - Using proxy: blah.blah.redhat.com:3128
2013-05-14 11:47:05,089 [DEBUG]  @connection.py:415 - Making request: GET https://fsharath-candlepin.usersys.redhat.com:8443/candlepin/
2013-05-14 11:47:05,148 [ERROR]  @utils.py:377 - Error while checking server version: (-2, 'Name or service not known')
2013-05-14 11:47:05,148 [ERROR]  @utils.py:379 - (-2, 'Name or service not known')
Traceback (most recent call last):
  File "/usr/share/rhsm/subscription_manager/utils.py", line 367, in get_server_versions
    if cp.supports_resource("status"):
  File "/usr/lib64/python2.4/site-packages/rhsm/connection.py", line 623, in supports_resource
    self._load_supported_resources()
  File "/usr/lib64/python2.4/site-packages/rhsm/connection.py", line 610, in _load_supported_resources
    resources_list = self.conn.request_get("/")
  File "/usr/lib64/python2.4/site-packages/rhsm/connection.py", line 481, in request_get
    return self._request("GET", method)
  File "/usr/lib64/python2.4/site-packages/rhsm/connection.py", line 422, in _request
    conn.request(request_type, handler, body=body, headers=headers)
  File "/usr/lib64/python2.4/httplib.py", line 810, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib64/python2.4/httplib.py", line 833, in _send_request
    self.endheaders()
  File "/usr/lib64/python2.4/site-packages/rhsm/connection.py", line 174, in endheaders
    httpslib.HTTPSConnection.endheaders(self)
  File "/usr/lib64/python2.4/httplib.py", line 804, in endheaders
    self._send_output()
  File "/usr/lib64/python2.4/httplib.py", line 685, in _send_output
    self.send(msg)
  File "/usr/lib64/python2.4/httplib.py", line 652, in send
    self.connect()
  File "/usr/lib64/python2.4/site-packages/M2Crypto/httpslib.py", line 175, in connect
    HTTPConnection.connect(self)
  File "/usr/lib64/python2.4/httplib.py", line 620, in connect
    socket.SOCK_STREAM):
gaierror: (-2, 'Name or service not known')
2013-05-14 11:47:05,149 [DEBUG]  @managergui.py:185 - Server Versions: {'candlepin': 'Unknown', 'server-type': 'This system is currently not registered.'} 
2013-05-14 11:47:05,160 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,167 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,217 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,250 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,261 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,261 [DEBUG]  @injection.py:64 - Returning callable provider for feature CERT_SORTER: <class 'subscription_manager.cert_sorter.CertSorter'>
2013-05-14 11:47:05,262 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,278 [DEBUG]  @certdirectory.py:185 - Installed product IDs: ['100000000000006', '1000000000000023', '1144', '100000000000011', '69', '27060', '83', '1', '37069', '37068', '37080', '37065', '37067', '37060', '37062', '100000000000060', '100000000000005', '100000000000002', '100000000000003', '100000000000000', '100000000000001', '100000000000069', '100000000000020', '32060', '88888', '900', '917571', '801', '806', '37070']
2013-05-14 11:47:05,278 [DEBUG]  @cert_sorter.py:121 - Unregistered, skipping server compliance check.
2013-05-14 11:47:05,281 [DEBUG]  @injection.py:64 - Returning callable provider for feature CERT_SORTER: <class 'subscription_manager.cert_sorter.CertSorter'>
2013-05-14 11:47:05,281 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,281 [DEBUG]  @certdirectory.py:185 - Installed product IDs: ['100000000000006', '1000000000000023', '1144', '100000000000011', '69', '27060', '83', '1', '37069', '37068', '37080', '37065', '37067', '37060', '37062', '100000000000060', '100000000000005', '100000000000002', '100000000000003', '100000000000000', '100000000000001', '100000000000069', '100000000000020', '32060', '88888', '900', '917571', '801', '806', '37070']
2013-05-14 11:47:05,281 [DEBUG]  @cert_sorter.py:121 - Unregistered, skipping server compliance check.
2013-05-14 11:47:05,281 [DEBUG]  @injection.py:64 - Returning callable provider for feature PRODUCT_DATE_RANGE_CALCULATOR: <class 'subscription_manager.validity.ValidProductDateRangeCalculator'>
2013-05-14 11:47:05,281 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,348 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,462 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,463 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,515 [DEBUG]  @injection.py:64 - Returning callable provider for feature CERT_SORTER: <class 'subscription_manager.cert_sorter.CertSorter'>
2013-05-14 11:47:05,515 [DEBUG]  @injection.py:68 - Returning instance for feature IDENTITY
2013-05-14 11:47:05,515 [DEBUG]  @certdirectory.py:185 - Installed product IDs: ['100000000000006', '1000000000000023', '1144', '100000000000011', '69', '27060', '83', '1', '37069', '37068', '37080', '37065', '37067', '37060', '37062', '100000000000060', '100000000000005', '100000000000002', '100000000000003', '100000000000000', '100000000000001', '100000000000069', '100000000000020', '32060', '88888', '900', '917571', '801', '806', '37070']
2013-05-14 11:47:05,516 [DEBUG]  @cert_sorter.py:121 - Unregistered, skipping server compliance check.


Moving the bug to NEW

Comment 5 Adrian Likins 2013-05-14 17:11:55 UTC
If these exceptions are only being logged (and not shown on console), this
is exceptable. 

Basically, any network errors we do not specifically handle (like a http 410, ala GoneException) get a stack trace of the state of the exception logged.

At the moment, that is ok.

Ideally, we would have more specific network error handling and would log/raise/set more specific error messages. But the above looks like
expected behavior for current code (assuming nothing is shown on console).

Comment 6 Bryan Kearney 2013-05-14 17:38:05 UTC
Back to ON_QA.

Comment 7 Sharath Dwaral 2013-05-21 16:04:38 UTC
Verison:

Verified against Brew build

# rpm -qa | egrep "subscription-manager|python-rhsm"
subscription-manager-firstboot-1.8.7-1.el5
subscription-manager-1.8.7-1.el5
subscription-manager-gui-1.8.7-1.el5
subscription-manager-migration-data-1.11.3.1-1.git.1.78afd75.el5
subscription-manager-debuginfo-1.8.7-1.el5
python-rhsm-1.8.10-1.el5
subscription-manager-migration-1.8.7-1.el5


Steps:

1. Open Subscription manager gui
2. Make sure Proxy Location was not set (if set uncheck and restart gui)
3. System in unregistered state
4. System -> System Proxy -> Set Proxy Location to invalid proxy 
5. Close Proxy Window
6. Close GUI
7. Reopen GUI

GUI starts successfully and no errors are shown on console (traceback in rhsm.conf neglected as per comment 5)

Moving bug to Verified

Comment 9 errata-xmlrpc 2013-09-30 22:59:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1332.html


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