Bug 2166623

Summary: subscription-manager: initial-setup - no error message appears after Test Connection with wrong auth proxy settings
Product: Red Hat Enterprise Linux 8 Reporter: Jan Stavel <jstavel>
Component: subscription-managerAssignee: Pino Toscano <ptoscano>
Status: CLOSED ERRATA QA Contact: Red Hat subscription-manager QE Team <rhsm-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.8CC: jsefler, redakkan, zpetrace
Target Milestone: rcKeywords: Regression, Triaged
Target Release: 8.8   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: subscription-manager-1.28.36-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-16 09:07:12 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:
Attachments:
Description Flags
proxy dialog with filled fields none

Description Jan Stavel 2023-02-02 11:42:32 UTC
Created attachment 1941769 [details]
proxy dialog with filled fields

I want to register a system using initial-setup-graphical app.
I want to use auth proxy.

see details of that case: https://polarion.engineering.redhat.com/polarion/redirect/project/RHELSS/workitem?id=RHEL7-19999

in a terminal at desktop enable root access to the display:

xhost si:localuser:root

in a terminal do:
ssh root@$HOST
export DISPLAY:0
/usr/libexec/initial-setup/initial-setup-graphical

Click on 'Subscription Manager'
Click on 'Configure Proxy' button
Check a checkbox 'I would like to connect via an HTTP Proxy'
Fill a field 'Proxy Location' by an url to auth proxy 
..note: no username or password is filled
Click on a button 'Test Connection'

Wait a little.
The button returns into an unclicked state after a while and no error message does appear.

A long traceback appears on a terminal where initial-setup-graphical is run.
see below.

The graphical app gets frozen and I cannot click on any GUI element. I have to reboot the system.


DBG initial-setup: looking for the license file
DBG initial-setup: opening the license file
Exception in thread TestNetworkConnectionThread:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/rhsm/connection.py", line 798, in _request
    conn.request(request_type, handler, body=body, headers=final_headers)
  File "/usr/lib64/python3.6/http/client.py", line 1273, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1319, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1268, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1044, in _send_output
    self.send(msg)
  File "/usr/lib64/python3.6/http/client.py", line 982, in send
    self.connect()
  File "/usr/lib64/python3.6/http/client.py", line 1433, in connect
    super().connect()
  File "/usr/lib64/python3.6/http/client.py", line 954, in connect
    (self.host,self.port), self.timeout, self.source_address)
  File "/usr/lib64/python3.6/socket.py", line 724, in create_connection
    raise err
  File "/usr/lib64/python3.6/socket.py", line 713, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/subscription_manager/gui/networkConfig.py", line 268, in test_connection
    cp.getStatus()
  File "/usr/lib64/python3.6/site-packages/rhsm/connection.py", line 1774, in getStatus
    return self.conn.request_get(method)
  File "/usr/lib64/python3.6/site-packages/rhsm/connection.py", line 989, in request_get
    return self._request("GET", method, headers=headers, cert_key_pairs=cert_key_pairs)
  File "/usr/lib64/python3.6/site-packages/rhsm/connection.py", line 1022, in _request
    info=info, headers=headers, cert_key_pairs=cert_key_pairs)
  File "/usr/lib64/python3.6/site-packages/rhsm/connection.py", line 833, in _request
    raise ProxyException(hostname=self.proxy_hostname, port=self.proxy_port, exc=err)
rhsm.connection.ProxyException: Proxy error at auto-services.usersys.redhat.com:3128: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.6/threading.py", line 937, in _bootstrap_inner
    self.run()
  File "/usr/lib64/python3.6/threading.py", line 885, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib64/python3.6/site-packages/subscription_manager/gui/networkConfig.py", line 256, in test_connection_wrapper
    connection_status = self.test_connection(proxy_host, proxy_port, proxy_user, proxy_password, no_proxy)
  File "/usr/lib64/python3.6/site-packages/subscription_manager/gui/networkConfig.py", line 278, in test_connection
    except connection.NetworkException as e:
AttributeError: module 'rhsm.connection' has no attribute 'NetworkException'

Comment 1 Jan Stavel 2023-02-02 11:50:04 UTC
It does not matter what fields in the Proxy Dialog are filled wrong way.
The application fails with traceback anyway - and it gets frozen in every case.

Comment 2 Pino Toscano 2023-02-02 12:55:30 UTC
Ooops, this is a regression of the changes for bug 1971995: the GUI code does not exist in RHEL 9, and thus I missed to check for the NetworkException class there [1].

Easy to fix, a simple rename: https://github.com/candlepin/subscription-manager/pull/3202

[1] https://github.com/candlepin/subscription-manager/commit/d7501ef133b73cbcd35f6e45fcb07fc5dbd9caca

Comment 8 Zdenek Petracek 2023-02-27 15:28:02 UTC
Verification done on subman version:
[root@localhost Downloads]# subscription-manager version
server type: Red Hat Subscription Management
subscription management server: 4.2.15-1
subscription management rules: 5.43
subscription-manager: 1.28.36-2.el8

Verification PASSED - error was shown as expected, adding an attachment of error into attachments.

Comment 12 errata-xmlrpc 2023-05-16 09:07:12 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 (subscription-manager bug fix and enhancement update), and where to find the updated
files, follow the link below.

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

https://access.redhat.com/errata/RHBA-2023:2984