Bug 967160 - subpools generated from a consumed "person" subscription display as available but with wrong information
Summary: subpools generated from a consumed "person" subscription display as available...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Candlepin
Classification: Community
Component: candlepin
Version: 0.9
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: candlepin-bugs
QA Contact: Katello QA List
URL:
Whiteboard:
Depends On:
Blocks: rhsm-rhel510
TreeView+ depends on / blocked
 
Reported: 2013-05-25 04:35 UTC by John Sefler
Modified: 2015-05-14 14:54 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-06-12 15:17:03 UTC
Embargoed:


Attachments (Terms of Use)

Description John Sefler 2013-05-25 04:35:16 UTC
Description of problem:
Using an onpremise candlepin with the TESTDATA imported, the "personal" subpool scenario has an issue that I believe has been wrong since the begining of time.  Below, I'm going to walk through the steps of consuming a personal subscription which in turn generates a subpool that can be consumed by a system registered by the same username.  At the end of the scenario I'll go back and point out the issue that I believe needs a fix.  

Version-Release number of selected component (if applicable):
[root@jsefler-5 ~]# subscription-manager version
server type: Red Hat Subscription Management
subscription management server: 0.8.7-1
subscription-manager: 1.8.8-1.git.0.2ca28df.el5
python-rhsm: 1.8.11-1.git.1.7236cc2.el5

[root@jsefler-f14-candlepin candlepin]# git show-ref | head -1
41d15a6617c4009760a6d3f07dc1d896e07215bc refs/heads/master



How reproducible:


Steps to Reproduce:
1. Register as a "person" consumer and list the available personal subscription

[root@jsefler-5 ~]# subscription-manager register --type=person --username=testuser1 --org=admin
Password: 
The system has been registered with ID: 4f5afbfd-3016-47d4-8483-d590bdb78c1a 
[root@jsefler-5 ~]# subscription-manager list --available
+-------------------------------------------+
    Available Subscriptions
+-------------------------------------------+
Subscription Name: Awesome OS Developer Edition
SKU:               AWESOMEOS09XYU34
Pool ID:           8a90f8df3ecc8c99013ecc8e101b0426
Quantity:          10
Service Level:     
Service Type:      
Multi-Entitlement: No
Ends:              05/21/2014
System Type:       Physical



2. Subscribe to the personal subscription and show it in the list of consumed entitlements

[root@jsefler-5 ~]# subscription-manager subscribe --pool=8a90f8df3ecc8c99013ecc8e101b0426
Successfully attached a subscription for: Awesome OS Developer Edition
[root@jsefler-5 ~]# subscription-manager list --consumed
+-------------------------------------------+
   Consumed Subscriptions
+-------------------------------------------+
Subscription Name: Awesome OS Developer Edition
Provides:          
SKU:               AWESOMEOS09XYU34
Contract:          31
Account:           12331131231
Serial Number:     2954669274505110798
Pool ID:           8a90f8df3ecc8c99013ecc8e101b0426
Active:            True
Quantity Used:     1
Service Level:     
Service Type:      
Status Details:    
Starts:            05/21/2013
Ends:              05/21/2014



3. Now from a clean "system", register with the same credentials and list the newly available subpool generated from the consumed "person" subscription in the prior step.

[root@jsefler-5 ~]# subscription-manager clean
All local data removed
[root@jsefler-5 ~]# subscription-manager register --type=system --username=testuser1 --org=admin
Password: 
The system has been registered with ID: 436a5153-c966-464b-8593-5108d9d56564 
[root@jsefler-5 ~]# subscription-manager list --available
+-------------------------------------------+
    Available Subscriptions
+-------------------------------------------+
Subscription Name: Awesome OS Developer Basic
SKU:               1144
Pool ID:           8a90f8df3ecc8c99013ed9d3b09031f1
Quantity:          Unlimited
Service Level:     
Service Type:      
Multi-Entitlement: No
Ends:              05/21/2014
System Type:       Physical



4. Attach an entitlement from the subpool and list the consumed entitlement

[root@jsefler-5 ~]# subscription-manager attach --pool=8a90f8df3ecc8c99013ed9d3b09031f1
Successfully attached a subscription for: Awesome OS Developer Basic
[root@jsefler-5 ~]# subscription-manager list --consumed
+-------------------------------------------+
   Consumed Subscriptions
+-------------------------------------------+
Subscription Name: Awesome OS Developer Edition
Provides:          Awesome OS Developer Basic
SKU:               AWESOMEOS09XYU34
Contract:          31
Account:           12331131231
Serial Number:     2319280115923889306
Pool ID:           8a90f8df3ecc8c99013ed9d3b09031f1
Active:            True
Quantity Used:     1
Service Level:     
Service Type:      
Status Details:    
Starts:            05/21/2013
Ends:              05/21/2014



5. Verify that the installed product provided by the consumed subpool shows a "Subscribed" status

[root@jsefler-5 ~]# subscription-manager list --installed
+-------------------------------------------+
    Installed Product Status
+-------------------------------------------+
Product Name:   Awesome OS Developer Basic
Product ID:     1144
Version:        1.0
Arch:           ALL
Status:         Subscribed
Status Details: 
Starts:         05/21/2013
Ends:           05/21/2014




Here's the issue...
All of the steps above appear to complete successfully, however the information listed for the available subpool in step 3 appears wrong.  The Subscription Name and the SKU appears to report values from the provided product.  I believe their values should have been "Awesome OS Developer Edition" and "AWESOMEOS09XYU34" respectively.

+-------------------------------------------+
    Available Subscriptions
+-------------------------------------------+
Subscription Name: Awesome OS Developer Basic
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
                   EXPECTED: Awesome OS Developer Edition
SKU:               1144
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
                   EXPECTED: AWESOMEOS09XYU34
Pool ID:           8a90f8df3ecc8c99013ed9d3b09031f1
Quantity:          Unlimited
Service Level:     
Service Type:      
Multi-Entitlement: No
Ends:              05/21/2014
System Type:       Physical



Additional info to help troubleshoot:

1. Here's the JSON for the available "person" subscription pool
[root@jsefler-5 ~]# curl --stderr /dev/null -k -u admin:admin https://jsefler-f14-candlepin.usersys.redhat.com:8443/candlepin/pools/8a90f8df3ecc8c99013ecc8e101b0426 | python -msimplejson/tool{
    "accountNumber": "12331131231", 
    "activeSubscription": true, 
    "attributes": [], 
    "calculatedAttributes": {}, 
    "consumed": 1, 
    "contractNumber": "31", 
    "created": "2013-05-22T14:04:22.427+0000", 
    "endDate": "2014-05-22T00:00:00.000+0000", 
    "exported": 0, 
    "href": "/pools/8a90f8df3ecc8c99013ecc8e101b0426", 
    "id": "8a90f8df3ecc8c99013ecc8e101b0426", 
    "orderNumber": "order-8675309", 
    "owner": {
        "displayName": "Admin Owner", 
        "href": "/owners/admin", 
        "id": "8a90f8df3ecc8c99013ecc8cbc1d0002", 
        "key": "admin"
    }, 
    "productAttributes": [
        {
            "created": "2013-05-22T14:04:22.428+0000", 
            "id": "8a90f8df3ecc8c99013ecc8e101c0427", 
            "name": "enabled_consumer_types", 
            "productId": "AWESOMEOS09XYU34", 
            "updated": "2013-05-22T14:04:22.428+0000", 
            "value": "person"
        }, 
        {
            "created": "2013-05-22T14:04:22.428+0000", 
            "id": "8a90f8df3ecc8c99013ecc8e101c0428", 
            "name": "user_license_product", 
            "productId": "AWESOMEOS09XYU34", 
            "updated": "2013-05-22T14:04:22.428+0000", 
            "value": "1144"
        }, 
        {
            "created": "2013-05-22T14:04:22.428+0000", 
            "id": "8a90f8df3ecc8c99013ecc8e101c0429", 
            "name": "type", 
            "productId": "AWESOMEOS09XYU34", 
            "updated": "2013-05-22T14:04:22.428+0000", 
            "value": "MKT"
        }, 
        {
            "created": "2013-05-22T14:04:22.428+0000", 
            "id": "8a90f8df3ecc8c99013ecc8e101c042a", 
            "name": "requires_consumer_type", 
            "productId": "AWESOMEOS09XYU34", 
            "updated": "2013-05-22T14:04:22.428+0000", 
            "value": "person"
        }, 
        {
            "created": "2013-05-22T14:04:22.428+0000", 
            "id": "8a90f8df3ecc8c99013ecc8e101c042b", 
            "name": "arch", 
            "productId": "AWESOMEOS09XYU34", 
            "updated": "2013-05-22T14:04:22.428+0000", 
            "value": "ALL"
        }, 
        {
            "created": "2013-05-22T14:04:22.428+0000", 
            "id": "8a90f8df3ecc8c99013ecc8e101c042c", 
            "name": "version", 
            "productId": "AWESOMEOS09XYU34", 
            "updated": "2013-05-22T14:04:22.428+0000", 
            "value": "1.0"
        }, 
        {
            "created": "2013-05-22T14:04:22.428+0000", 
            "id": "8a90f8df3ecc8c99013ecc8e101c042d", 
            "name": "user_license", 
            "productId": "AWESOMEOS09XYU34", 
            "updated": "2013-05-22T14:04:22.428+0000", 
            "value": "unlimited"
        }, 
        {
            "created": "2013-05-22T14:04:22.428+0000", 
            "id": "8a90f8df3ecc8c99013ecc8e101c042e", 
            "name": "variant", 
            "productId": "AWESOMEOS09XYU34", 
            "updated": "2013-05-22T14:04:22.428+0000", 
            "value": "ALL"
        }
    ], 
    "productId": "AWESOMEOS09XYU34", 
    "productName": "Awesome OS Developer Edition", 
    "providedProducts": [], 
    "quantity": 10, 
    "restrictedToUsername": null, 
    "sourceEntitlement": null, 
    "startDate": "2013-05-22T00:00:00.000+0000", 
    "subscriptionId": "8a90f8df3ecc8c99013ecc8d36ba00e0", 
    "subscriptionSubKey": "master", 
    "updated": "2013-05-25T03:55:29.296+0000"
}


3. Here's the JSON for the available "system" subscription subpool
[root@jsefler-5 ~]# curl --stderr /dev/null -k -u admin:admin https://jsefler-f14-candlepin.usersys.redhat.com:8443/candlepin/pools/8a90f8df3ecc8c99013ed9d3b09031f1 | python -msimplejson/tool{
    "accountNumber": "12331131231", 
    "activeSubscription": true, 
    "attributes": [
        {
            "created": "2013-05-25T03:55:29.296+0000", 
            "id": "8a90f8df3ecc8c99013ed9d3b09031f2", 
            "name": "requires_consumer_type", 
            "updated": "2013-05-25T03:55:29.296+0000", 
            "value": "system"
        }
    ], 
    "calculatedAttributes": {}, 
    "consumed": 1, 
    "contractNumber": "31", 
    "created": "2013-05-25T03:55:29.296+0000", 
    "endDate": "2014-05-22T00:00:00.000+0000", 
    "exported": 0, 
    "href": "/pools/8a90f8df3ecc8c99013ed9d3b09031f1", 
    "id": "8a90f8df3ecc8c99013ed9d3b09031f1", 
    "orderNumber": "order-8675309", 
    "owner": {
        "displayName": "Admin Owner", 
        "href": "/owners/admin", 
        "id": "8a90f8df3ecc8c99013ecc8cbc1d0002", 
        "key": "admin"
    }, 
    "productAttributes": [], 
    "productId": "1144",                         <========= SEEMS WRONG
    "productName": "Awesome OS Developer Basic", <========= SEEMS WRONG
    "providedProducts": [],                      <========= SEEMS WRONG
    "quantity": -1, 
    "restrictedToUsername": "testuser1", 
    "sourceEntitlement": {
        "href": "/entitlements/8a90f8df3ecc8c99013ed9d3b08f31f0", 
        "id": "8a90f8df3ecc8c99013ed9d3b08f31f0"
    }, 
    "startDate": "2013-05-22T00:00:00.000+0000", 
    "subscriptionId": null, 
    "subscriptionSubKey": null, 
    "updated": "2013-05-25T03:59:58.411+0000"
}

Comment 1 Devan Goodwin 2013-06-12 15:17:03 UTC
I think we're going to yank support of this as it has been shut down in hosted. It's also horribly broken. :) Closing for now.


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