I’m struggling with a concept and fear I’m misunderstanding something core.
We provision and configure hosts with ansible in AWS and use Foreman/Katello mostly for the repo content management and lifecycles. I’m looking to define a subscription for “core” repos that all my CentOS hosts will need. I would attach hosts using an activation key at provision time. Seems to work fine, I get the repos in redhat.repo as expected.
Then I want to attach other ad-hoc subscriptions/product and their repos for specific functional roles. I’ve created a product for Webtatic PHP, configured the repos, synced. All good. I can do subscription-manager list --all --available and get a full list.
When I do subscription-manager attach --pool=(value from list) it reports all good. But then no additional repos are added to redhat.repo? Tried subscription-manager refresh and no different.
What the heck am I missing? Should this work or am I missing a core concept?
I did some more experimenting and it answered some questions but created others.
The key issues is Content Views. The host is assigned to a CV and that CV/version did not have the “ad-hoc” product’s repos. What was unclear is that Content Views are a complete filter on what will be “seen” by a host. Product subscriptions are an expression of what the host wants, but CV’s will rule what the host actually gets.
But then… How do you manage the progression of one Product separately from others? Say I want to update the PHP product and it’s repos, but not the core OS stuff? If I publish a new version, it’s going to advance everything in the CV to the most recent versions.
You can piece together composite content views which can contain several content views. But still, a client can only see what’s published content view and the lifecycle environment of the ccv is independent from the environment of the content views.