Bug 676371 - Compliance Assistant closes when you're not done
Compliance Assistant closes when you're not done
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: subscription-manager (Show other bugs)
6.1
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Chris Duryee
J.C. Molet
:
Depends On:
Blocks: 568421
  Show dependency treegraph
 
Reported: 2011-02-09 11:35 EST by J.C. Molet
Modified: 2011-05-19 09:39 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-05-19 09:39:39 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
in compliance? (525.89 KB, image/png)
2011-02-18 10:38 EST, J.C. Molet
no flags Details
in compliance? 2 (465.33 KB, image/png)
2011-02-18 10:39 EST, J.C. Molet
no flags Details
in compliance? 3 (476.04 KB, image/png)
2011-02-18 10:40 EST, J.C. Molet
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2011:0611 normal SHIPPED_LIVE new package: subscription-manager 2011-05-18 13:56:21 EDT

  None (edit)
Description J.C. Molet 2011-02-09 11:35:54 EST
Description of problem:
The compliance assistant window closes every time something is subscribed to, even though you may still have to subscribe to more things to become compliant.

Version-Release number of selected component (if applicable):
subscription-manager-firstboot-0.95.1-1.git.6.ad035f4.el6.x86_64
python-rhsm-0.95.3-1.git.0.4d0ef8e.el6.noarch
subscription-manager-gnome-0.95.1-1.git.6.ad035f4.el6.x86_64
subscription-manager-0.95.1-1.git.6.ad035f4.el6.x86_64

How reproducible:
always

Steps to Reproduce:
1. Install rhsm versions above ^^ with all their deps on a rhel6 machine.
2. Configure rhsm.conf to point to your stand alone candlepin instance
3. Copy all of the product certs on the stand-alone server to your /etc/pki/product/
4. Start up subscription-manager-gui and register your system.
5. As you aren't in compliance for the products in your products directory, click the 'Become Compliant' button.
6. You will have multiple products not in compliance, and will require multiple subscriptions to resolve this.  Check all the products, and subscribe to one.
  
Actual results:
The compliance assistant window closes at this point, even though you still have products not in compliance.  You will have to click 'Become Compliant' again and again until you get all of the proper subscriptions subscribed to, one at a time.

Expected results:
You subscribe to the subscription and the window is refreshed.  The refreshed window will only show the remaining products that are not in compliance.
Comment 2 Chris Duryee 2011-02-10 15:23:15 EST
fixed in master 0.96.2+, 7e2d849
Comment 3 Chris Duryee 2011-02-10 15:30:30 EST
fixed in RHEL6 branch 0.95.2+, f6056bd
Comment 6 J.C. Molet 2011-02-18 10:37:19 EST
Tested working as of version:
subscription-manager-0.95.1-1.git.15.c75e560.el6.x86_64
subscription-manager-gnome-0.95.1-1.git.15.c75e560.el6.x86_64
subscription-manager-firstboot-0.95.1-1.git.15.c75e560.el6.x86_64
python-rhsm-0.95.3-1.git.0.4d0ef8e.el6.noarch

This works at first, and the list is reduced as your products become in compliance. I tested this with products that did and did not have matching subscriptions.  The list would whittle away until only the products that did not have available subscriptions were left.  This works as expected.

I then tested another case:
 - I deleted the products that did not have subscriptions (and therefore could never be in compliance) out of the /etc/pki/products folder to simulate these things not being installed.  
 - This left me a set that could theoretically place me in 100% compliance.  
 - I re-registered.
 - I opened the compliance assistant.
 - I checked all the boxes and one by one subscribed to products to become in compliance.

After the last one I expected the list of non-compliant products to either be blank, or the compliance assistant to close.  This did not happen.

- What happened then was the entire list of all my products repopulated itself (see first following screenshot)
- I was able to subscribe to some of these again and it was marked as a future subscription (see second screenshot)
- It returned subscriptions that I was not able to subscribe to at all (see third screenshot)
Comment 7 J.C. Molet 2011-02-18 10:38:26 EST
Created attachment 479544 [details]
in compliance?

This is what happens after all products are in compliance.
Comment 8 J.C. Molet 2011-02-18 10:39:26 EST
Created attachment 479545 [details]
in compliance? 2

Some subscriptions are able to be subscribed to as "future entitlements"
Comment 9 J.C. Molet 2011-02-18 10:40:20 EST
Created attachment 479546 [details]
in compliance? 3

Some subscriptions you already are subscribed to.
Comment 10 Devan Goodwin 2011-03-04 10:05:56 EST
Screenshots 1 and 2 look right, the compliance assistant is re-calculating the default date based on when you'll next be non-compliant as soon as you open it. In a sense you can never be compliant forever so the assistant should always be openable, it's just a matter of what date it tries to start getting you compliant.

Screenshot 3 looks bad, I believe this is related to the fix above though, what happens is you hit Subscribe, but now that we keep the assistant open there is no graphical indication that it worked, everything just looks the same. This is very easy to mistake, you think you must have failed to hit the button and press it again, and now you get an error because your original attempt was successful, and now you're trying to bind to the same pool again.

In the original fix, after we subscribe a call was added to check for date change, which would trigger a refresh of the screen if the date has changed. In our case however the date has not changed, but we still need to refresh the screen as our compliance state has changed on the date in question, and we no longer want to see the subscription we just bound to.

Proposed fix is to just call refresh_screen after bind. Will check in with Chris and make sure this is ok.
Comment 11 Devan Goodwin 2011-03-04 11:15:35 EST
Fixed in master: 70d7ce00e32f94674e8ce6c14bb16b30d63341d1 (should appear in subscription-manager-0.96.2)

Ported to RHEL6: 4ec14b7619b913d30c9442610445ceae1333d201 (should appear in subscription-manager-0.95.4)
Comment 13 J.C. Molet 2011-03-08 16:33:10 EST
This works now in:


subscription-manager-0.95.4-1.git.0.1fb5ee4.el6.x86_64
python-rhsm-0.95.4-1.git.0.1189f1a.el6.noarch
subscription-manager-gnome-0.95.4-1.git.0.1fb5ee4.el6.x86_64
subscription-manager-firstboot-0.95.4-1.git.0.1fb5ee4.el6.x86_64


Subscription manager stays open and displays valid products and subscriptions until the candlepin server no longer has anything new to show me.  Marking VERIFIED.
Comment 14 errata-xmlrpc 2011-05-19 09:39:39 EDT
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2011-0611.html

Note You need to log in before you can comment on or make changes to this bug.