Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

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-managerAssignee: candlepin-bugs
Status: CLOSED ERRATA QA Contact: John Sefler <jsefler>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.2CC: crog, pbokoc, qianzhan, skallesh
Target Milestone: rcKeywords: 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 Flags
Shows registration ending up going to wrong dialog
none
No Service-levels will cover all the installed products none

Description Sean Toner 2015-08-07 15:07:21 UTC
Description of problem:
=======================

When registering, if a SLA is not found for all products, an information dialog box pops up, informing the user to manually attach.  However, after clicking OK, the next dialog presented shows the subscriptions for a particular SLA which is not populated.  The only buttons available are Cancel and Next.  If the user clicks Next, an error dialog shows up saying the list is None.

Sometimes, it seems that the GUI will also lock up, and I need to kill -9 the process to end it.  This does not always seem to happen though.


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

[root@rhel7-2-test-stoner ~]# rpm -qa | grep subscription
subscription-manager-migration-1.15.9-4.git.0.9336266.el7.x86_64
subscription-manager-plugin-ostree-1.15.9-4.git.0.9336266.el7.x86_64
subscription-manager-gui-1.15.9-4.git.0.9336266.el7.x86_64
subscription-manager-1.15.9-4.git.0.9336266.el7.x86_64
subscription-manager-initial-setup-addon-1.15.9-4.git.0.9336266.el7.x86_64
subscription-manager-plugin-container-1.15.9-4.git.0.9336266.el7.x86_64
subscription-manager-migration-data-2.0.22-1.git.0.4260892.el7.noarch


How reproducible:
=================

Always (if not all products can be covered by same SLA)

Steps to Reproduce:
===================

1. System -> Register
2. Fill in subscription server
3. Fill in user and password
4. Click Next
5. Click OK on dialog that says "No service level will cover all installed producs
6. Click Attach on dialog that says registration is done
7. Observe next dialog


Actual results:
===============

See screenshots


Expected results:
=================

do not be taken to dialog to select subscriptions.  As the warning indicates, user will need to manually attach.


Additional info:

Comment 1 Sean Toner 2015-08-07 15:09:14 UTC
Created attachment 1060395 [details]
Shows registration ending up going to wrong dialog

Comment 3 John Sefler 2015-08-07 17:17:39 UTC
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)

Comment 5 Chris "Ceiu" Rog 2015-09-01 19:16:53 UTC
*** Bug 1257494 has been marked as a duplicate of this bug. ***

Comment 6 Chris "Ceiu" Rog 2015-09-02 17:44:49 UTC
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.

Comment 8 Shwetha Kallesh 2015-09-03 09:34:47 UTC
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

Comment 9 errata-xmlrpc 2015-11-19 11:50:38 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://rhn.redhat.com/errata/RHBA-2015-2122.html