I don't think this covers us for removing products for which the guest already has pools available. We filtered the pool list for the host, but what we'd actually be interested in there is filtering it for the guest. The host won't see a sub-pool with virt_only + requires_host because it was taken out on line 491. 

We need the list of all pools in the org, and I think we may need to filter on the pre-entitlement rules for the guest in question, then look for virt_only pools in there and remove any products they provide.