Bug 1255805
Summary: | GUI : when supplied with invalid credentials register process should fail and exit | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Shwetha Kallesh <skallesh> | ||||||
Component: | subscription-manager | Assignee: | candlepin-bugs | ||||||
Status: | CLOSED ERRATA | QA Contact: | John Sefler <jsefler> | ||||||
Severity: | unspecified | Docs Contact: | Lenka Špačková <lkuprova> | ||||||
Priority: | unspecified | ||||||||
Version: | 7.2 | CC: | crog, jmolet | ||||||
Target Milestone: | rc | ||||||||
Target Release: | --- | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Known Issue | |||||||
Doc Text: |
Cause: When registering a system in subscription-manager-gui, if the registration fails, the main registration window does not close when the user clicks "OK" on the error dialog.
Consequence: The main registration window is left open, in a state where it cannot possibly complete the task successfully.
Workaround (if any): Click the "cancel" button on the main registration window if an error occurs during the process.
Result:
|
Story Points: | --- | ||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2015-11-19 11:50:47 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: | 1246125 | ||||||||
Attachments: |
|
commit 88b405ff9aff2965a4682a587dff79395306ded0 Author: Adrian Likins <alikins> Date: Fri Jul 31 15:46:10 2015 -0400 884288: Better registergui for initial-setup Also fixes: 1248546, 1257179, 1250451, 1251527, 1255805 Implement RegisterWidget flow with proceed and finished signals Make SubManBaseWidget also a GObject.GObject. So that sub classes of it can use gobject signals and properties. Add 'proceed' signal to RegisterWidget, and a handler that will move it to the next screen. To drive the widget, another widget that provides cancel/register buttons makes them emit the 'proceed' signal on registerWidget. RegisterWidget also emits a 'finished' signal when registration is done. The parent widget needs to deal with that. The default RegisterDialog just hides the register window. Try making RegisterInfo a GObject with properties Connect RegisterInfo's 'notify::username' and password signals to callback that updates the cp_provider Start splitting error handling up and using signals ie, register error, register failure, attach error, attach failure raise signals so they can get different handlers, depending on the dialog that holds the register widget. add RegisterDialog handlers for attach/register error and failure Registration state (as used in global STATE) is now a property on the registration widget, and the labels/titles that need to be updated when it changes are hooked to the notify signal on RegisterWidget's 'register_state' property. Ditto for RegisterWidget's 'details-label-txt', ie, the txt for the label under the progress bar ('Finding suitable service levels', etc). There is now a 'stay-on-screen' signal raise from applies or async callbacks to indicate to stay on the current screen, replacing the previous use of sending the widget to the 'DONT_CHANGE' screen. Stop using handle_gui_exception for non-exceptions Passing None as the 'exception' eventually causes the last exception handled in the main context to get logged as an exception, and also prevents the dialog from displaying the message, and generally confusing the event loop. Also update SelectSLAScreen to use a tuple of (sla_name, sla_map) in its model for the set of radio buttons, to avoid referncing the now removed self._sla_data_map Prevent gui from disabling act keys to prod. Split handle_gui_exception msg formatting into methods Start emitting error signals from RegisterWidget with msgs rhsm_gui can use initial-setup spoke's set_error(msg) to show errors and failures. Screen and NoGuiScreen, RegisterWidget, and RegisterDialog all know of 'register-error' signal. Screens can emit it, where RegisterWidget catches it, logs it, stops emission of that signal. (Either the screens or RegisterWidget could provide a class closure do_register_error that that would see the signal first, and that can be used to move to approriate screen to fix the error). RegisterWidget then emits RegisterWidget's 'register-error' signal, that RegisterDialog is connected to. RegisterDialog._on_register_error will call RegisterDialogs handle_register_error or handle_register_exception Any errors that need to present a dialog or other info now need to emit a 'register-error' with the args of (msg, exc_info). exc_info can be None. Add register dialog/widget glade for rhel6 RegisterWidget then emits RegisterWidget's 'register-error' signal, that RegisterDialog is connected to. RegisterDialog._on_register_error will call RegisterDialogs handle_register_error or handle_register_exception Any errors that need to present a dialog or other info now need to emit a 'register-error' with the args of (msg, exc_info). exc_info can be None. Add register dialog/widget glade for rhel6 Update the rhel6 fb module to new registergui api Use signal based error handling instead of the multiple levels of overrided methods. In the process also remove the RHEL5 firstboot support and the firstboot_base.py module it required. The custom screens that were included in rhsm_login were just to alter the UI flow as firstboot needed (and really, for the way this module doesn't fit the normal firstboot module or moduleSet approach). Ditch the rhel5 firstboot compat stuff as well. Fix 'slow' progress bars in register gui. The timeout used to pulse the progress bar was getting added to the main loop twice, causing odd progress bar behavior. Created attachment 1069696 [details]
Register with invalid credentials
Marking verified as user is allowed to enter the correct credentials
[root@dhcp35-24 ~]# subscription-manager version
server type: Red Hat Subscription Management
subscription management server: 2.0.6-1
subscription management rules: 5.16
subscription-manager: 1.15.9-8.el7
python-rhsm: 1.15.4-4.el7
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://rhn.redhat.com/errata/RHBA-2015-2122.html |
Created attachment 1065629 [details] Registeration with redhat subscription management is done Description of problem: When supplied with invalid credentials register process fails and a dialog pops saying " Invalid credentials " but when you click ok on the dialog you are shown a message saying Register with RHSM is done which is misleading Version-Release number of selected component (if applicable): [root@dhcp35-166 ~]# subscription-manager version server type: Red Hat Subscription Management subscription management server: 0.9.51.4-1 subscription management rules: 5.15 subscription-manager: 1.15.9-6.el7 python-rhsm: 1.15.4-2.el7 How reproducible: Steps to Reproduce: 1.subscription-manager-gui -----> register ----> enter server details -----> supply invalid credentials Actual results: a dialog pops saying " Invalid credentials " but when you click ok on the dialog you are shown a message saying Register with RHSM is done which is misleading PS : attachment for the message Expected results: a dialog should pop up saying " Invalid credentials " but when you click ok ,either you should be allowed to correct the credentials entered or should just exit Additional info: