Description of problem: The client code which checks for partially compliant (yellow) status is broken currently. How reproducible: It is difficult to reproduce due to discrepancies between the test data we use, and the way data will eventually look. Effectively you need the following scenario: Installed product ID: 100 Stacked Entitlement Cert: - entitlement cert provides multiple products - consumer must have more sockets than their entitlement provides - product 100 is not the first one to appear in the certificate. (if you view it using openssl x509 -text -in. I think this is numerical so essentially the entitlement must provide other products with a lower ID than 100) Actual results: Product 100 shows up as fully compliant, even though the GUI tells us we have one product which needs more entitlements in the top left corner. (there's no way to see which one is out of compliance) Expected results: Product 100 should show up as partially compliant. (yellow) Additional info: The problem lies in the cert_sorter module due to several bad assumptions. When we store a product ID in the partially_valid_products dict, we're using the *first* product in the *last* entitlement cert we looked at when checking the stack. Firstly using the first product in the cert means we skip all other products in the cert, and we could have one or more of those installed. If the first product isn't installed, it gets added to the partially_valid_products dict, but when we check our installed products for their status we see that they're *not* in this dict and display that they are fully compliant. Secondly the use of the *last* entitlement cert we encountered when checking the stack is also not correct. Instead we should: - Focus on checking installed product IDs, not anything coming out of an ent cert. If that product is only provided by a partial stack, then that product should be added to partially_valid_products. All products in the ent certs should be examined, but only in the context of looking for an installed product ID. - Also track a dict of partial stacks, regardless of installed product status. (as these are also considered non-compliance) If by chance your installed product is the first one in the entitlement cert (often the case with out test data), yellow detection will work ok. This however is extremely unlikely in real world scenarios.
*** Bug 743710 has been marked as a duplicate of this bug. ***
*** Bug 739671 has been marked as a duplicate of this bug. ***
Should be fixed as of subscription-manager.git: f70e59b81c7bf29a2408cd6ca4df2461770f43b1 Will appear in subscription-manager-0.98.3.
Verification for duplicate bug 739671 is here... https://bugzilla.redhat.com/show_bug.cgi?id=739671#c4
This is very difficult to replicate exactly, in essence this was a big rewrite of portions of the stacking code fixing all kinds of yellow bugs. However the specific issue to test here could be reproduced by: - modify the test_data.json, setup the stacking mkt product to provide *2* eng products, redeploy candlepin. - on your client system, drop the product cert for one of those eng products, and subscribe to the subscription you modified above. (but make sure you do not get all the entitlements you need, you must leave it in yellow state) - that product should display as yellow. - now remove it's product cert, drop the other one, and reload subman, the new product should show also as yellow. Alternatively, this scenario is almost guaranteed to happen with real Red Hat data, so if you have any scenarios to test stacking right now, you could partially subscribe, and make sure the product cert you have installed does not match the first provided product in your entitlement cert. If not, and you are seeing yellow, the bug is fixed.
Verifying Version.... [root@jsefler-onprem-5server ~]# rpm -q subscription-managersubscription-manager-0.98.8-1.git.0.c756d75.el5_7 STARTING POINT - A 14 SOCKET SYSTEM WITH ONE TESTDATA PRODUCT (37068) INSTALLED... [root@jsefler-onprem-5server ~]# subscription-manager facts --list | grep cpu_socket cpu.cpu_socket(s): 14 lscpu.cpu_socket(s): 14 [root@jsefler-onprem-5server ~]# ls /etc/pki/product 37068.pem CREATE A MARKETING PRODUCT THAT IS MULTI-ENTITABLE AND STACKABLE THAT COVERS 2 SOCKETS... [root@jsefler-onprem-5server ~]# curl --insecure --user admin:admin --request POST --data '{"id":"multi-stackable","name":"Multi-Stackable with many provided products","attributes":[{"name":"sockets","value":"2"},{"name":"arch","value":"ALL"},{"name":"type","value":"MKT"},{"name":"multi-entitlement","value":"yes"},{"name":"stacking_id","value":"123"}],"multiplier":1}' --header 'accept: application/json' --header 'content-type: application/json' https://jsefler-f14-5candlepin.usersys.redhat.com:8443/candlepin/products | python -m simplejson/tool % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 850 0 850 0 0 5772 0 --:--:-- --:--:-- --:--:-- 0 { "attributes": [ { "created": "2011-12-13T21:35:52.494+0000", "name": "stacking_id", "updated": "2011-12-13T21:35:52.494+0000", "value": "123" }, { "created": "2011-12-13T21:35:52.494+0000", "name": "arch", "updated": "2011-12-13T21:35:52.494+0000", "value": "ALL" }, { "created": "2011-12-13T21:35:52.494+0000", "name": "sockets", "updated": "2011-12-13T21:35:52.494+0000", "value": "2" }, { "created": "2011-12-13T21:35:52.494+0000", "name": "type", "updated": "2011-12-13T21:35:52.494+0000", "value": "MKT" }, { "created": "2011-12-13T21:35:52.494+0000", "name": "multi-entitlement", "updated": "2011-12-13T21:35:52.494+0000", "value": "yes" } ], "created": "2011-12-13T21:35:52.494+0000", "dependentProductIds": [], "href": "/products/multi-stackable", "id": "multi-stackable", "multiplier": 1, "name": "Multi-Stackable with many provided products", "productContent": [], "updated": "2011-12-13T21:35:52.494+0000" } CREATE A SUBSCRIPTION FOR THE MARKETING PRODUCT THAT PROVIDES MANY PRODUCTS... [root@jsefler-onprem-5server ~]# curl --insecure --user admin:admin --request POST --data '{"product":{"id":"multi-stackable"},"startDate":"Mon, 5 Dec 2011 22:41:49 -0500","accountNumber":345,"quantity":20,"endDate":"Wed, 21 Dec 2011 22:41:49 -0500","contractNumber":123,"providedProducts":[{"id":"37065"},{"id":"37067"},{"id":"37068"},{"id":"37069"},{"id":"37070"}]}' --header 'accept: application/json' --header 'content-type: application/json' https://jsefler-f14-5candlepin.usersys.redhat.com:8443/candlepin/owners/admin/subscriptions | python -m simplejson/tool % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 5765 0 5765 0 0 58871 0 --:--:-- --:--:-- --:--:-- 5629k { "accountNumber": "345", "certificate": null, "contractNumber": "123", "created": "2011-12-13T21:36:19.690+0000", "endDate": "2011-12-22T03:41:49.000+0000", "id": "8a90f8573434f3970134395aceea02e4", "modified": null, "owner": { "displayName": "Admin Owner", "href": "/owners/admin", "id": "8a90f8573434f397013434f3d4040007", "key": "admin" }, "product": { "attributes": [ { "created": "2011-12-13T21:35:52.494+0000", "name": "stacking_id", "updated": "2011-12-13T21:35:52.494+0000", "value": "123" }, { "created": "2011-12-13T21:35:52.494+0000", "name": "arch", "updated": "2011-12-13T21:35:52.494+0000", "value": "ALL" }, { "created": "2011-12-13T21:35:52.494+0000", "name": "sockets", "updated": "2011-12-13T21:35:52.494+0000", "value": "2" }, { "created": "2011-12-13T21:35:52.494+0000", "name": "type", "updated": "2011-12-13T21:35:52.494+0000", "value": "MKT" }, { "created": "2011-12-13T21:35:52.494+0000", "name": "multi-entitlement", "updated": "2011-12-13T21:35:52.494+0000", "value": "yes" } ], "created": "2011-12-13T21:35:52.494+0000", "dependentProductIds": [], "href": "/products/multi-stackable", "id": "multi-stackable", "multiplier": 1, "name": "Multi-Stackable with many provided products", "productContent": [], "updated": "2011-12-13T21:35:52.494+0000" }, "providedProducts": [ { "attributes": [ { "created": "2011-12-13T03:45:18.925+0000", "name": "version", "updated": "2011-12-13T03:45:18.925+0000", "value": "1.0" }, { "created": "2011-12-13T03:45:18.925+0000", "name": "variant", "updated": "2011-12-13T03:45:18.925+0000", "value": "ALL" }, { "created": "2011-12-13T03:45:18.925+0000", "name": "sockets", "updated": "2011-12-13T03:45:18.925+0000", "value": "2" }, { "created": "2011-12-13T03:45:18.925+0000", "name": "arch", "updated": "2011-12-13T03:45:18.925+0000", "value": "ALL" }, { "created": "2011-12-13T03:45:18.925+0000", "name": "type", "updated": "2011-12-13T03:45:18.925+0000", "value": "SVC" } ], "created": "2011-12-13T01:05:27.933+0000", "dependentProductIds": [], "href": "/products/37065", "id": "37065", "multiplier": 1, "name": "Clustering Bits", "productContent": [], "updated": "2011-12-13T01:05:27.933+0000" }, { "attributes": [ { "created": "2011-12-13T03:45:18.973+0000", "name": "version", "updated": "2011-12-13T03:45:18.973+0000", "value": "1.0" }, { "created": "2011-12-13T03:45:18.973+0000", "name": "variant", "updated": "2011-12-13T03:45:18.973+0000", "value": "ALL" }, { "created": "2011-12-13T03:45:18.973+0000", "name": "sockets", "updated": "2011-12-13T03:45:18.973+0000", "value": "2" }, { "created": "2011-12-13T03:45:18.973+0000", "name": "arch", "updated": "2011-12-13T03:45:18.973+0000", "value": "ALL" }, { "created": "2011-12-13T03:45:18.973+0000", "name": "type", "updated": "2011-12-13T03:45:18.973+0000", "value": "SVC" }, { "created": "2011-12-13T03:45:18.973+0000", "name": "warning_period", "updated": "2011-12-13T03:45:18.973+0000", "value": "30" } ], "created": "2011-12-13T01:05:30.724+0000", "dependentProductIds": [], "href": "/products/37070", "id": "37070", "multiplier": 1, "name": "Load Balancing Bits", "productContent": [], "updated": "2011-12-13T01:05:30.724+0000" }, { "attributes": [ { "created": "2011-12-13T03:45:18.978+0000", "name": "version", "updated": "2011-12-13T03:45:18.978+0000", "value": "1.0" }, { "created": "2011-12-13T03:45:18.979+0000", "name": "variant", "updated": "2011-12-13T03:45:18.979+0000", "value": "ALL" }, { "created": "2011-12-13T03:45:18.979+0000", "name": "sockets", "updated": "2011-12-13T03:45:18.979+0000", "value": "2" }, { "created": "2011-12-13T03:45:18.979+0000", "name": "arch", "updated": "2011-12-13T03:45:18.979+0000", "value": "ALL" }, { "created": "2011-12-13T03:45:18.979+0000", "name": "type", "updated": "2011-12-13T03:45:18.979+0000", "value": "SVC" }, { "created": "2011-12-13T03:45:18.979+0000", "name": "warning_period", "updated": "2011-12-13T03:45:18.979+0000", "value": "30" } ], "created": "2011-12-13T01:05:33.568+0000", "dependentProductIds": [], "href": "/products/37068", "id": "37068", "multiplier": 1, "name": "Large File Support Bits", "productContent": [], "updated": "2011-12-13T01:05:33.568+0000" }, { "attributes": [ { "created": "2011-12-13T03:45:18.984+0000", "name": "version", "updated": "2011-12-13T03:45:18.984+0000", "value": "1.0" }, { "created": "2011-12-13T03:45:18.984+0000", "name": "variant", "updated": "2011-12-13T03:45:18.984+0000", "value": "ALL" }, { "created": "2011-12-13T03:45:18.984+0000", "name": "sockets", "updated": "2011-12-13T03:45:18.984+0000", "value": "2" }, { "created": "2011-12-13T03:45:18.984+0000", "name": "arch", "updated": "2011-12-13T03:45:18.984+0000", "value": "ALL" }, { "created": "2011-12-13T03:45:18.984+0000", "name": "type", "updated": "2011-12-13T03:45:18.984+0000", "value": "SVC" }, { "created": "2011-12-13T03:45:18.984+0000", "name": "warning_period", "updated": "2011-12-13T03:45:18.984+0000", "value": "30" } ], "created": "2011-12-13T01:05:32.974+0000", "dependentProductIds": [], "href": "/products/37067", "id": "37067", "multiplier": 1, "name": "Shared Storage Bits", "productContent": [], "updated": "2011-12-13T01:05:32.974+0000" }, { "attributes": [ { "created": "2011-12-13T03:45:18.989+0000", "name": "version", "updated": "2011-12-13T03:45:18.989+0000", "value": "1.0" }, { "created": "2011-12-13T03:45:18.989+0000", "name": "variant", "updated": "2011-12-13T03:45:18.989+0000", "value": "ALL" }, { "created": "2011-12-13T03:45:18.989+0000", "name": "sockets", "updated": "2011-12-13T03:45:18.989+0000", "value": "2" }, { "created": "2011-12-13T03:45:18.989+0000", "name": "arch", "updated": "2011-12-13T03:45:18.989+0000", "value": "ALL" }, { "created": "2011-12-13T03:45:18.990+0000", "name": "type", "updated": "2011-12-13T03:45:18.990+0000", "value": "SVC" }, { "created": "2011-12-13T03:45:18.990+0000", "name": "warning_period", "updated": "2011-12-13T03:45:18.990+0000", "value": "30" } ], "created": "2011-12-13T01:05:33.968+0000", "dependentProductIds": [], "href": "/products/37069", "id": "37069", "multiplier": 1, "name": "Management Bits", "productContent": [], "updated": "2011-12-13T01:05:33.968+0000" } ], "quantity": 20, "startDate": "2011-12-06T03:41:49.000+0000", "updated": "2011-12-13T21:36:19.690+0000", "upstreamPoolId": null } REFRESH POOLS SO THAT THE SUBSCRIPTION WILL BE AVAILABLE... [root@jsefler-onprem-5server ~]# curl --insecure --user admin:admin --request PUT https://jsefler-f14-5candlepin.usersys.redhat.com:8443/candlepin/owners/admin/subscriptions {"id":"refresh_pools_5f85dae8-cb86-439d-99bd-4291e4a26496","state":"CREATED","result":null,"targetType":"owner","startTime":null,"group":"async group","principalName":"admin","targetId":"admin","finishTime":null,"statusPath":"/jobs/refresh_pools_5f85dae8-cb86-439d-99bd-4291e4a26496","updated":"2011-12-13T21:36:33.373+0000","created":"2011-12-13T21:36:33.373+0000"}[root@jsefler-onprem-5server ~]# [root@jsefler-onprem-5server ~]# curl --insecure --user admin:admin --request PUT https://jsefler-f14-5candlepin.usersys.redhat.com:8443/candlepin/owners/admin/subscriptions | python -m simplejson/tool % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 366 0 366 0 0 2149 0 --:--:-- --:--:-- --:--:-- 0 { "created": "2011-12-13T21:36:55.935+0000", "finishTime": null, "group": "async group", "id": "refresh_pools_7aaa1f2d-9995-4e9d-b972-c1c4e80479aa", "principalName": "admin", "result": null, "startTime": null, "state": "CREATED", "statusPath": "/jobs/refresh_pools_7aaa1f2d-9995-4e9d-b972-c1c4e80479aa", "targetId": "admin", "targetType": "owner", "updated": "2011-12-13T21:36:55.935+0000" } DEMONSTRATING THAT THE SYSTEM IS NOT COMPLIANT BEFORE SUBSCRIBES ARE ATTEMPTED... [root@jsefler-onprem-5server ~]# subscription-manager list --installed +-------------------------------------------+ Installed Product Status +-------------------------------------------+ ProductName: Large File Support Bits Version: 1.0 Arch: ALL Status: Not Subscribed Starts: None Expires: None [root@jsefler-onprem-5server ~]# subscription-manager facts --list | grep entitlements system.entitlements_valid: invalid REGISTER AND LIST THE MULTI-STACKABLE SUBSCRIPTION TO GET THE POOL-ID... [root@jsefler-onprem-5server ~]# subscription-manager register --username testuser1 --password password --org admin The system has been registered with id: 96d3318c-b591-4639-8ae0-c24a6949045e [root@jsefler-onprem-5server ~]# subscription-manager list --avail | grep multi-stackable -A4 -B1 ProductName: Multi-Stackable with many provided products ProductId: multi-stackable PoolId: 8a90f8573434f3970134395b05ff02e5 Quantity: 20 Multi-Entitlement: Yes Expires: 12/21/2011 SUBSCRIBE WITH AN INSUFFICIENT QUANTITY... [root@jsefler-onprem-5server ~]# subscription-manager subscribe --pool 8a90f8573434f3970134395b05ff02e5 --quantity 2 Successfully consumed a subscription from the pool with id 8a90f8573434f3970134395b05ff02e5 DEMONSTRATE THAT WE ARE NOW PARTIALLY COMPLIANT... [root@jsefler-onprem-5server ~]# subscription-manager list --installed +-------------------------------------------+ Installed Product Status +-------------------------------------------+ ProductName: Large File Support Bits Version: 1.0 Arch: ALL Status: Partially Subscribed Starts: 12/05/2011 Expires: 12/21/2011 [root@jsefler-onprem-5server ~]# subscription-manager facts --list | grep entitlements system.entitlements_valid: partial SHOW THAT OUR INSTALLED PRODUCT (37068) IS NOT THE *FIRST* NOR *LAST* PRODUCT IN THE GRANTED ENTITLEMENT CERT AS DICTATED IN COMMENT 0.... [root@jsefler-onprem-5server ~]# openssl x509 -text -in /etc/pki/entitlement/1820421991079413230.pem Certificate: Data: Version: 3 (0x2) Serial Number: 19:43:70:27:e7:99:05:ee Signature Algorithm: sha1WithRSAEncryption Issuer: CN=jsefler-f14-5candlepin.usersys.redhat.com, C=US, L=Raleigh Validity Not Before: Dec 6 03:41:49 2011 GMT Not After : Dec 22 03:41:49 2011 GMT Subject: CN=8a90f8573434f3970134395e861602f6 Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (2048 bit) Modulus (2048 bit): 00:cb:f2:41:81:d3:2b:9c:84:d3:80:d6:54:fb:bc: eb:49:88:64:6b:f2:4c:77:dc:51:87:33:a7:d5:1e: 03:ea:74:5f:3e:eb:aa:45:49:a9:f3:97:a3:65:68: a7:6f:46:4f:cc:56:78:70:d1:6d:e5:37:e8:11:33: 94:bf:e6:52:ed:78:de:c5:3d:7b:4f:2e:a7:6d:e0: 53:85 Exponent: 65537 (0x10001) X509v3 extensions: Netscape Cert Type: SSL Client, S/MIME X509v3 Key Usage: Digital Signature, Key Encipherment, Data Encipherment X509v3 Authority Key Identifier: keyid:0A:88:48:7B:CD:F4:0E:D2:D4:19:72:C1:12:DD:3F:09:2B:AE:7C:9E DirName:/CN=jsefler-f14-5candlepin.usersys.redhat.com/C=US/L=Raleigh serial:C9:6E:22:5C:F5:E1:CD:64 X509v3 Subject Key Identifier: 11:03:52:D9:04:FA:78:59:1F:52:AE:0E:4A:D8:00:49:29:E5:33:F7 X509v3 Extended Key Usage: TLS Web Client Authentication 1.3.6.1.4.1.2312.9.1.37065.1: ..Clustering Bits 1.3.6.1.4.1.2312.9.1.37065.3: ..ALL 1.3.6.1.4.1.2312.9.1.37065.2: ..1.0 1.3.6.1.4.1.2312.9.1.37070.1: ..Load Balancing Bits 1.3.6.1.4.1.2312.9.1.37070.3: ..ALL 1.3.6.1.4.1.2312.9.1.37070.2: ..1.0 1.3.6.1.4.1.2312.9.1.37068.1: <==== RIGHT IN THE MIDDLE ..Large File Support Bits 1.3.6.1.4.1.2312.9.1.37068.3: ..ALL 1.3.6.1.4.1.2312.9.1.37068.2: ..1.0 1.3.6.1.4.1.2312.9.1.37067.1: ..Shared Storage Bits 1.3.6.1.4.1.2312.9.1.37067.3: ..ALL 1.3.6.1.4.1.2312.9.1.37067.2: ..1.0 1.3.6.1.4.1.2312.9.1.37069.1: ..Management Bits 1.3.6.1.4.1.2312.9.1.37069.3: ..ALL 1.3.6.1.4.1.2312.9.1.37069.2: ..1.0 1.3.6.1.4.1.2312.9.4.1: .+Multi-Stackable with many provided products 1.3.6.1.4.1.2312.9.4.2: . 8a90f8573434f3970134395aceea02e4 1.3.6.1.4.1.2312.9.4.3: ..multi-stackable 1.3.6.1.4.1.2312.9.4.5: ..20 1.3.6.1.4.1.2312.9.4.9: ..2 1.3.6.1.4.1.2312.9.4.6: ..2011-12-06T03:41:49Z 1.3.6.1.4.1.2312.9.4.7: ..2011-12-22T03:41:49Z 1.3.6.1.4.1.2312.9.4.12: ..0 1.3.6.1.4.1.2312.9.4.10: ..123 1.3.6.1.4.1.2312.9.4.13: ..345 1.3.6.1.4.1.2312.9.4.14: ..0 1.3.6.1.4.1.2312.9.4.17: ..123 1.3.6.1.4.1.2312.9.4.11: ..2 1.3.6.1.4.1.2312.9.5.1: .$96d3318c-b591-4639-8ae0-c24a6949045e Signature Algorithm: sha1WithRSAEncryption 48:a3:11:bc:e6:74:da:c9:fd:7e:5a:0b:ff:47:49:37:1e:6a: 84:c3:dd:3c:7e:8b:c0:08:83:9b:14:85:9a:22:d1:5c:5c:51: a0:c8:20:86:b4:28:7b:01:ed:38:ca:e6:ea:87:1a:08:0a:dd: c4:8e:62:c8:24:4f:3d:45:79:40:65:a9:bc:a9:f4:97:ac:5c: f8:86:8c:f2:71:38:5b:97:8d:65:31:a5:b3:64:65:53:39:28: 2f:05:22:43:83:2a:e9:05:47:0e:55:47:41:74:76:d2:1a:c7: d8:b1:b1:82:c5:a0:8b:1d:7e:43:7f:27:fd:dd:f3:fe:fe:21: 95:94 -----BEGIN CERTIFICATE----- MIIGxDCCBi2gAwIBAgIIGUNwJ+eZBe4wDQYJKoZIhvcNAQEFBQAwUzEyMDAGA1UE AwwpanNlZmxlci1mMTQtNWNhbmRsZXBpbi51c2Vyc3lzLnJlZGhhdC5jb20xCzAJ BgNVBAYTAlVTMRAwDgYDVQQHDAdSYWxlaWdoMB4XDTExMTIwNjAzNDE0OVoXDTEx +IaM8nE4W5eNZTGls2RlUzkoLwUiQ4Mq6QVHDlVHQXR20hrH2LGxgsWgix1+Q38n /d3z/v4hlZQ= -----END CERTIFICATE----- LET'S MULTI SUBSCRIBE TO GET 2 MORE SOCKETS OF COVERAGE AND ASSERT WE ARE STILL PARTIALLY COMPLIANT... [root@jsefler-onprem-5server ~]# subscription-manager subscribe --pool 8a90f8573434f3970134395b05ff02e5 --quantity 3 Successfully consumed a subscription from the pool with id 8a90f8573434f3970134395b05ff02e5 [root@jsefler-onprem-5server ~]# subscription-manager list --installed +-------------------------------------------+ Installed Product Status +-------------------------------------------+ ProductName: Large File Support Bits Version: 1.0 Arch: ALL Status: Partially Subscribed Starts: 12/05/2011 Expires: 12/21/2011 [root@jsefler-onprem-5server ~]# subscription-manager facts --list | grep entitlements system.entitlements_valid: partial LET'S DROP IN SOME MORE PRODUCTS AND VERIFY THAT THE COMPLIANCE REMAINS PARTIAL [root@jsefler-onprem-5server ~]# cp /tmp/product/37070.pem /etc/pki/product/ [root@jsefler-onprem-5server ~]# subscription-manager list --installed +-------------------------------------------+ Installed Product Status +-------------------------------------------+ ProductName: Large File Support Bits Version: 1.0 Arch: ALL Status: Partially Subscribed Starts: 12/05/2011 Expires: 12/21/2011 ProductName: Load Balancing Bits Version: 1.0 Arch: ALL Status: Partially Subscribed Starts: 12/05/2011 Expires: 12/21/2011 [root@jsefler-onprem-5server ~]# subscription-manager facts --list | grep entitlements system.entitlements_valid: partial [root@jsefler-onprem-5server ~]# ^^^ STILL PARTIALLY SUBSCRIBED THAT'S GOOD, LET'S DROP IN SOME MORE PROVIDED PRODUCTS... [root@jsefler-onprem-5server ~]# cp /tmp/product/37067.pem /etc/pki/product/ [root@jsefler-onprem-5server ~]# cp /tmp/product/37069.pem /etc/pki/product/ [root@jsefler-onprem-5server ~]# subscription-manager list --installed +-------------------------------------------+ Installed Product Status +-------------------------------------------+ ProductName: Shared Storage Bits Version: 1.0 Arch: ALL Status: Partially Subscribed Starts: 12/05/2011 Expires: 12/21/2011 ProductName: Management Bits Version: 1.0 Arch: ALL Status: Partially Subscribed Starts: 12/05/2011 Expires: 12/21/2011 ProductName: Large File Support Bits Version: 1.0 Arch: ALL Status: Partially Subscribed Starts: 12/05/2011 Expires: 12/21/2011 ProductName: Load Balancing Bits Version: 1.0 Arch: ALL Status: Partially Subscribed Starts: 12/05/2011 Expires: 12/21/2011 [root@jsefler-onprem-5server ~]# subscription-manager facts --list | grep entitlements system.entitlements_valid: partial [root@jsefler-onprem-5server ~]# ^^^ STILL PARTIALLY COMPLIANT ON ALL PRODUCTS. THIS IS GOOD. LET'S COMPLETE SUBSCRIBING SO AS TO SATISFY ALL THE SOCKETS... [root@jsefler-onprem-5server ~]# subscription-manager subscribe --pool 8a90f8573434f3970134395b05ff02e5 --quantity 2 Successfully consumed a subscription from the pool with id 8a90f8573434f3970134395b05ff02e5 [root@jsefler-onprem-5server ~]# subscription-manager list --installed +-------------------------------------------+ Installed Product Status +-------------------------------------------+ ProductName: Shared Storage Bits Version: 1.0 Arch: ALL Status: Subscribed Starts: 12/05/2011 Expires: 12/21/2011 ProductName: Management Bits Version: 1.0 Arch: ALL Status: Subscribed Starts: 12/05/2011 Expires: 12/21/2011 ProductName: Large File Support Bits Version: 1.0 Arch: ALL Status: Subscribed Starts: 12/05/2011 Expires: 12/21/2011 ProductName: Load Balancing Bits Version: 1.0 Arch: ALL Status: Subscribed Starts: 12/05/2011 Expires: 12/21/2011 [root@jsefler-onprem-5server ~]# subscription-manager facts --list | grep entitlements system.entitlements_valid: valid [root@jsefler-onprem-5server ~]# WE ARE NOW FULLY COMPLIANT AFTER INCREMENTALLY ADDING ENTITLEMENTS FROM A MULTI_ENTITABLE STACKABLE SUBSCRIPTION THAT PROVIDED MANY PRODUCTS THAT WERE AND WERE NOT INSTALLED ALONG THE WAY.... Note: WHILE STEPPING THROUGH THE VERIFICATION ABOVE, I WAS ALSO MONITORING THE red/yellow/green ICONS IN THE GUI. ALL WAS PERFECT. Moving to VERIFIED
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: No description necessary
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. http://rhn.redhat.com/errata/RHBA-2012-0154.html