Bug 1251527
| Summary: | When registering, if SLA for all products is not found, user is taken to incorrect dialog | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Sean Toner <stoner> | ||||||
| Component: | subscription-manager | Assignee: | candlepin-bugs | ||||||
| Status: | CLOSED ERRATA | QA Contact: | John Sefler <jsefler> | ||||||
| Severity: | unspecified | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | 7.2 | CC: | crog, pbokoc, qianzhan, skallesh | ||||||
| Target Milestone: | rc | Keywords: | Regression | ||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||
| Doc Text: |
Previously, when automatically attaching a subscription using subscription-manager-gui, the main auto-attach window did not close if attachment failed and the user clicked "OK" in the error dialog. The window could stay open indefinitely, preventing any further use until the application was restarted. This update resolves the issue and the application remains usable if automatic attachment fails.
|
Story Points: | --- | ||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2015-11-19 11:50:38 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: | 1246123, 1246125 | ||||||||
| Attachments: |
|
||||||||
|
Description
Sean Toner
2015-08-07 15:07:21 UTC
Created attachment 1060395 [details]
Shows registration ending up going to wrong dialog
Note that in the prior gtk2 version of subscription-manager-gui, when the dialog that says "No service level will cover all installed products" is raised (shown in register-1.png attachment), the multi-step registration dialog disappears thereby avoiding the troubled workflow (shown in register-2.png and register-3.png attachment) *** Bug 1257494 has been marked as a duplicate of this bug. *** 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 1069717 [details]
No Service-levels will cover all the installed products
Marking verified as user is shown an eror message if SLA for all products is not found while registering
[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 |