[sat-e-492] Allow adding releasever to custom repos
Description of problem:
Red Hat products that are imported via manifest have an associated architecture and OS release version. This helps ensure that we don't, for example, get a repo for RHEL7 enabled on a RHEL8 host that's consuming content. We have no equivalent for custom products, and that's the aim of the RFE - to be able to specify those values. The working theory is that we can use candlepin to do that, just like it already does for RH products.
Relevant Candlepin API (create Product): https://www.candlepinproject.org/swagger/?url=candlepin/swagger-2.9.17.json#!/owners/createProduct
If a CV exists, with both RHEL6 and RHEL7 base repos in it, a system connected to the CV will only 'see' the repos that match the version of RHEL installed on the system.
For custom products, this does not work.
This is especially cumbersome in container environments.
My customer, for example, has Atomic Host nodes connected to the Default Library View (to get access to new RPMs as soon as we release new container images).
In that Default Org View are also EPEL6 and EPEL7. RHEL6 containers nicely only 'see' and enable the RHEL6 base repos, but they have both EPEL6 and EPEL7 enabled. Same goes for RHEL7 containers, but the other way around.
This is cumbersome.
As I discussed with Rich Jerrido, it would be useful if we could inject some specific tags into the custom product and product certificate that makes sure that on RHEL6 containers (or VMs) only EPEL6 is enabled, and on RHEL7 containers (or VMs) only EPEL7 is enabled, even though both are available from the same CV.
Hope this makes sense :)
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Add both RHEL6 and RHEL7 base repos, EPEL6 and EPEL7. Sync all.
2. Connect new system to Default Org View
3. Spin up RHEL6 or RHEL7 container
Container sees only appropriate RHEL6 or RHEL7 content, but both EPEL6 and EPEL7.
Container sees only appropriate RHEL6 or RHEL7 content, and only appropriate EPEL6 or EPEL7.
#1 Updated by Thomas McKay almost 4 years ago
- Assignee changed from Eric Helms to Thomas McKay
- Category changed from Subscriptions to Repositories
- Subject changed from allow adding required-tags to custom products to allow adding required-tags to custom products
The solution for this is to allow the "required tags" for a repository to be set in candlepin. This functionality already exists in candlepin so need only expose it in katello.
1. simple text field (with hint of "rhel-6,rhel-7")
2. editable text field with drop down checkbox choices
3. editable text field with drop down checkbox choices where choices are populated from known existing tags
% rct cat-cert /etc/pki/entitlements/FOO.pem Content: Type: yum Name: Red Hat Developer Toolset RHB RPMs for Red Hat Enterprise Linux 6 Workstation Label: rhel-workstation-dts-6-rhb-rpms Vendor: Red Hat URL: /content/rhb/rhel/workstation/6/6Workstation/$basearch/devtoolset/os GPG: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta Enabled: False Expires: 86400 Required Tags: rhel-6-workstation Arches: x86_64, x86
To see the tags 'installed' on the client:
% rct cat-cert /etc/pki/product/FOO.pem Product: ID: 69 Name: Red Hat Enterprise Linux Server Version: 7.5 Arch: x86_64 Tags: rhel-7,rhel-7-server Brand Type: Brand Name: