Bug 1268033

Summary: After clicking apply in register on 'choose server', the ui blocks pinging the server
Product: Red Hat Enterprise Linux 7 Reporter: Adrian Likins <alikins>
Component: subscription-managerAssignee: Kevin Howell <khowell>
Status: CLOSED ERRATA QA Contact: John Sefler <jsefler>
Severity: low Docs Contact:
Priority: low    
Version: 7.2CC: bcourt, csnyder, khowell, redakkan, vrjain
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 19:18:42 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
validating none

Description Adrian Likins 2015-10-01 15:50:25 UTC
Description of problem:

The 'apply()' of ChooseServerScreen attempts to validate the server url by making a connection to it and a 'GET /subscription/status' (via 'is_valid_server_info()) but that request is not-async and will block the main thread. If the server url responds very slowly, there will be a perceptible pause between 'next' and the credentials screen.

That doesn't appear to be a new behavior, I think it dates back a while, but it's more noticeable now since most screens instantly apply()

Fix would likely need there to be a nongui/progress ValidateServerUrlScreen between ChooseServer and CredentialsScreen, and AsyncBackend method to make a status request. 


Version-Release number of selected component (if applicable):
1.15.9-13 or earlier

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 John Sefler 2015-10-02 14:21:06 UTC
deferring to rhel-7.3.0 due to severity and time schedule remaining for rhel-7.2.0

Comment 3 Chris Snyder 2016-11-16 21:59:43 UTC
Fix has been merged upstream. Moving to POST.

Comment 5 Rehana 2017-05-10 09:24:39 UTC
Demonstrating that in RHEL 73  there was no "Validating connection" check when you click next on the server details page of system registration.

subscription-manager: 1.17.15-1.el7
python-rhsm: 1.17.9-1.el7

1) Launch subscription-manager-gui
2) Click on register button
3) click next on the window

You will notice that next the user credential screen appears  and there was *NO* screen with server connection check.

Retesting with latest subscription-manager on RHEL74
====================================================

# subscription-manager version
server type: This system is currently not registered.
subscription management server: 0.9.51.21-1
subscription management rules: 5.15.1
subscription-manager: 1.19.12-1.el7
python-rhsm: 1.19.6-1.el7

# rpm -qa subscription-manager --changelog | grep 1268033
- 1268033: Add progress screen for validate server (khowell)

Follow the same steps mentioned above , you will notice a new progress window with 'Validating connection" appears before the user was presented with credentials screen. (PFA:validating.png) 

Marking the bug as Verified!!

Comment 6 Rehana 2017-05-10 09:25:14 UTC
Created attachment 1277589 [details]
validating

Comment 7 errata-xmlrpc 2017-08-01 19:18:42 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.

https://access.redhat.com/errata/RHBA-2017:2083