Red Hat Bugzilla – Bug 785170
Possible duplicate and unneeded entitlement regenerations on import
Last modified: 2016-04-25 20:54:15 EDT
On a manifest import, there are two causes of entitlement regens:
- ProductImporter detecting changes will regenerate any entitlements that use the
- Importer calls refreshPools.
ProductImporter and refreshPools can very easily regenerate the same entitlements.
In addition, with the new environment/content changes, ProductImporter might regenerate an entitlement that doesn't even have content that was altered.
IMO, We should teach ProductImporter to: Iterate over all imported products. If the product's toplevel information or attributes have changed, determine all entitlements that will need to be regenerated, and keep this as a set.
For any products other products, if a product's content set is modified or deleted, add all entitlements that use that content set to the set of entitlements that need to be regenerated. Pass this set back up to importer.
refreshPools now needs some way to pass up all entitlements that it would regenerate, and instead of regenerating them, return them to Importer.
Importer can now merge these two lists, and now regenerate each entitlement once and only once.
Lastly, ProductImporter should be copying modified attributes onto all pools that reference that product (across all orgs).
Ignore that last bit about copying modified attributes. that's a different issue, so I opened a new bug for it: https://bugzilla.redhat.com/show_bug.cgi?id=800145
Please provide the verification steps to complete the testing. thanks
This bug is verified through our unit test suite. Unfortunately, there is no real way to test this by hand.
Closing out verified bugs from 1.2. Somehow the errata tool missed them.