From ae04c56c321fb11e6c8c3167cccab2aa0a47dce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Hozza?= Date: Tue, 18 Oct 2022 17:45:10 +0200 Subject: [PATCH] distro/rhel9: adjust RHSM-related config on EC2 9.1+ images MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The EC2 images starting with 9.1 should: - not configure RHSM using osbuild - install `redhat-cloud-client-configuration` package which ships the RHSM configuration. Regenerate affected image manifests. Related to COMPOSER-1805 Signed-off-by: Tomáš Hozza --- internal/distro/rhel9/distro.go | 10 ++++ internal/distro/rhel9/package_sets.go | 18 +++++- .../manifests/rhel_91-aarch64-ec2-boot.json | 55 ++++++++++++++----- .../manifests/rhel_91-x86_64-ec2-boot.json | 55 ++++++++++++++----- .../manifests/rhel_91-x86_64-ec2_ha-boot.json | 55 ++++++++++++++----- .../rhel_91-x86_64-ec2_sap-boot.json | 34 +++++++----- 6 files changed, 172 insertions(+), 55 deletions(-) diff --git a/internal/distro/rhel9/distro.go b/internal/distro/rhel9/distro.go index 6ff443ea3..2730e933f 100644 --- a/internal/distro/rhel9/distro.go +++ b/internal/distro/rhel9/distro.go @@ -1048,6 +1048,16 @@ func newDistro(distroName string) distro.Distro { }, } + // The RHSM configuration should not be applied since 9.1, but it is instead + // done by installing the redhat-cloud-client-configuration package. + // See COMPOSER-1805 for more information. + rhel91PlusEc2ImageConfigOverride := &distro.ImageConfig{ + RHSMConfig: map[distro.RHSMSubscriptionStatus]*osbuild.RHSMStageOptions{}, + } + if !common.VersionLessThan(rd.osVersion, "9.1") { + defaultEc2ImageConfig = rhel91PlusEc2ImageConfigOverride.InheritFrom(defaultEc2ImageConfig) + } + // default EC2 images config (x86_64) defaultEc2ImageConfigX86_64 := &distro.ImageConfig{ DracutConf: append(defaultEc2ImageConfig.DracutConf, diff --git a/internal/distro/rhel9/package_sets.go b/internal/distro/rhel9/package_sets.go index 4a2ad3d1c..d133bcf73 100644 --- a/internal/distro/rhel9/package_sets.go +++ b/internal/distro/rhel9/package_sets.go @@ -5,6 +5,7 @@ package rhel9 import ( "fmt" + "github.com/osbuild/osbuild-composer/internal/common" "github.com/osbuild/osbuild-composer/internal/distro" "github.com/osbuild/osbuild-composer/internal/rpmmd" ) @@ -549,6 +550,7 @@ func openstackCommonPackageSet(t *imageType) rpmmd.PackageSet { return ps } +// common package set for RHEL (BYOS/RHUI) and CentOS Stream images func ec2CommonPackageSet(t *imageType) rpmmd.PackageSet { return rpmmd.PackageSet{ Include: []string{ @@ -585,9 +587,19 @@ func ec2CommonPackageSet(t *imageType) rpmmd.PackageSet { }.Append(bootPackageSet(t)).Append(coreOsCommonPackageSet(t)).Append(distroSpecificPackageSet(t)) } +// common rhel ec2 RHUI image package set +func rhelEc2CommonPackageSet(t *imageType) rpmmd.PackageSet { + ps := ec2CommonPackageSet(t) + // Include "redhat-cloud-client-configuration" on 9.1+ (COMPOSER-1805) + if !common.VersionLessThan(t.arch.distro.osVersion, "9.1") { + ps.Include = append(ps.Include, "redhat-cloud-client-configuration") + } + return ps +} + // rhel-ec2 image package set func rhelEc2PackageSet(t *imageType) rpmmd.PackageSet { - ec2PackageSet := ec2CommonPackageSet(t) + ec2PackageSet := rhelEc2CommonPackageSet(t) ec2PackageSet = ec2PackageSet.Append(rpmmd.PackageSet{ Include: []string{ "rh-amazon-rhui-client", @@ -601,7 +613,7 @@ func rhelEc2PackageSet(t *imageType) rpmmd.PackageSet { // rhel-ha-ec2 image package set func rhelEc2HaPackageSet(t *imageType) rpmmd.PackageSet { - ec2HaPackageSet := ec2CommonPackageSet(t) + ec2HaPackageSet := rhelEc2CommonPackageSet(t) ec2HaPackageSet = ec2HaPackageSet.Append(rpmmd.PackageSet{ Include: []string{ "fence-agents-all", @@ -618,7 +630,7 @@ func rhelEc2HaPackageSet(t *imageType) rpmmd.PackageSet { // rhel-sap-ec2 image package set func rhelEc2SapPackageSet(t *imageType) rpmmd.PackageSet { - ec2SapPackageSet := ec2CommonPackageSet(t) + ec2SapPackageSet := rhelEc2CommonPackageSet(t) ec2SapPackageSet = ec2SapPackageSet.Append(rpmmd.PackageSet{ Include: []string{ // RHBZ#2076763 diff --git a/test/data/manifests/rhel_91-aarch64-ec2-boot.json b/test/data/manifests/rhel_91-aarch64-ec2-boot.json index 7318c0307..39791592d 100644 --- a/test/data/manifests/rhel_91-aarch64-ec2-boot.json +++ b/test/data/manifests/rhel_91-aarch64-ec2-boot.json @@ -5068,6 +5068,22 @@ } } }, + { + "id": "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8", + "options": { + "metadata": { + "rpm.check_gpg": true + } + } + }, + { + "id": "sha256:b4bbff6fdd5fc3f429c8a55cf80d80c5848f07dec045a431b89dd22e7db16618", + "options": { + "metadata": { + "rpm.check_gpg": true + } + } + }, { "id": "sha256:1292d5d283f1948249149b773a284ae215a12ae296284ffb8a021eb6957882da", "options": { @@ -5215,19 +5231,6 @@ } } }, - { - "type": "org.osbuild.rhsm", - "options": { - "subscription-manager": { - "rhsm": { - "manage_repos": false - }, - "rhsmcertd": { - "auto_registration": true - } - } - } - }, { "type": "org.osbuild.systemd-logind", "options": { @@ -6434,6 +6437,9 @@ "sha256:b4a44692245a733692b5b0e049393cc49a61f0036848306d11edbda7e6c405fe": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/libsss_nss_idmap-2.7.3-4.el9.aarch64.rpm" }, + "sha256:b4bbff6fdd5fc3f429c8a55cf80d80c5848f07dec045a431b89dd22e7db16618": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/rhc-0.2.1-9.el9.aarch64.rpm" + }, "sha256:b4d62576a7d648f1872365fc1678b05446ca132611a308bf99a6bed72c2d50b6": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/crypto-policies-scripts-20220815-1.git0fbe86f.el9.noarch.rpm" }, @@ -6542,6 +6548,9 @@ "sha256:ccd85efa3679cb8c15deadb009f1257b39d108efe759810d8b91fd3aece94edd": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/device-mapper-event-1.02.185-3.el9.aarch64.rpm" }, + "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/redhat-cloud-client-configuration-1-10.el9.noarch.rpm" + }, "sha256:cd6462c66489eed11b8d9f1acf70a38a1a2629a969a31d0f511eca148783dcdd": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-baseos-n9.1-20221015/Packages/libpcap-1.10.0-4.el9.aarch64.rpm" }, @@ -13083,6 +13092,26 @@ "checksum": "sha256:6d854c991181c69bf0c08d075ecf15e404d17611bddf66e0b7c749abe543aafa", "check_gpg": true }, + { + "name": "redhat-cloud-client-configuration", + "epoch": 0, + "version": "1", + "release": "10.el9", + "arch": "noarch", + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/redhat-cloud-client-configuration-1-10.el9.noarch.rpm", + "checksum": "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8", + "check_gpg": true + }, + { + "name": "rhc", + "epoch": 1, + "version": "0.2.1", + "release": "9.el9", + "arch": "aarch64", + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-aarch64-appstream-n9.1-20221015/Packages/rhc-0.2.1-9.el9.aarch64.rpm", + "checksum": "sha256:b4bbff6fdd5fc3f429c8a55cf80d80c5848f07dec045a431b89dd22e7db16618", + "check_gpg": true + }, { "name": "rpm-plugin-systemd-inhibit", "epoch": 0, diff --git a/test/data/manifests/rhel_91-x86_64-ec2-boot.json b/test/data/manifests/rhel_91-x86_64-ec2-boot.json index ae3859c3f..63ff0d00d 100644 --- a/test/data/manifests/rhel_91-x86_64-ec2-boot.json +++ b/test/data/manifests/rhel_91-x86_64-ec2-boot.json @@ -4918,6 +4918,22 @@ } } }, + { + "id": "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8", + "options": { + "metadata": { + "rpm.check_gpg": true + } + } + }, + { + "id": "sha256:c3a2d41fb291f8f6160d0a80840aee0f96d6f7ef5445ad1d2bdccd4e41f19e93", + "options": { + "metadata": { + "rpm.check_gpg": true + } + } + }, { "id": "sha256:786c9df5502ba5a461deb554da6ad56f4b5ad3e80e99808fd983a2b7502a5bb3", "options": { @@ -5049,19 +5065,6 @@ } } }, - { - "type": "org.osbuild.rhsm", - "options": { - "subscription-manager": { - "rhsm": { - "manage_repos": false - }, - "rhsmcertd": { - "auto_registration": true - } - } - } - }, { "type": "org.osbuild.systemd-logind", "options": { @@ -6357,6 +6360,9 @@ "sha256:c2292d29245c4b9f57eaef472b719261f53bad10594cf5778533d73710b3d316": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/shadow-utils-4.9-5.el9.x86_64.rpm" }, + "sha256:c3a2d41fb291f8f6160d0a80840aee0f96d6f7ef5445ad1d2bdccd4e41f19e93": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/rhc-0.2.1-9.el9.x86_64.rpm" + }, "sha256:c491f49444112b0ceaaeac310a646a85a78e041cbf110c7cb465bd5783274160": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/kbd-2.4.0-8.el9.x86_64.rpm" }, @@ -6393,6 +6399,9 @@ "sha256:cc320422d1ed3c73821e5cb0dfd2002b88d3d53998958ac437de99423099881d": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/cloud-init-22.1-5.el9.noarch.rpm" }, + "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-cloud-client-configuration-1-10.el9.noarch.rpm" + }, "sha256:cd8f32a588f83b75183a94e40f895ec9640bfba4ba1768f1e86b57c18cec3e47": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/elfutils-default-yama-scope-0.187-5.el9.noarch.rpm" }, @@ -12669,6 +12678,26 @@ "checksum": "sha256:6d854c991181c69bf0c08d075ecf15e404d17611bddf66e0b7c749abe543aafa", "check_gpg": true }, + { + "name": "redhat-cloud-client-configuration", + "epoch": 0, + "version": "1", + "release": "10.el9", + "arch": "noarch", + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-cloud-client-configuration-1-10.el9.noarch.rpm", + "checksum": "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8", + "check_gpg": true + }, + { + "name": "rhc", + "epoch": 1, + "version": "0.2.1", + "release": "9.el9", + "arch": "x86_64", + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/rhc-0.2.1-9.el9.x86_64.rpm", + "checksum": "sha256:c3a2d41fb291f8f6160d0a80840aee0f96d6f7ef5445ad1d2bdccd4e41f19e93", + "check_gpg": true + }, { "name": "rpm-plugin-systemd-inhibit", "epoch": 0, diff --git a/test/data/manifests/rhel_91-x86_64-ec2_ha-boot.json b/test/data/manifests/rhel_91-x86_64-ec2_ha-boot.json index 6583e5a6a..8f725a369 100644 --- a/test/data/manifests/rhel_91-x86_64-ec2_ha-boot.json +++ b/test/data/manifests/rhel_91-x86_64-ec2_ha-boot.json @@ -5793,6 +5793,14 @@ } } }, + { + "id": "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8", + "options": { + "metadata": { + "rpm.check_gpg": true + } + } + }, { "id": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", "options": { @@ -5801,6 +5809,14 @@ } } }, + { + "id": "sha256:c3a2d41fb291f8f6160d0a80840aee0f96d6f7ef5445ad1d2bdccd4e41f19e93", + "options": { + "metadata": { + "rpm.check_gpg": true + } + } + }, { "id": "sha256:786c9df5502ba5a461deb554da6ad56f4b5ad3e80e99808fd983a2b7502a5bb3", "options": { @@ -6493,19 +6509,6 @@ } } }, - { - "type": "org.osbuild.rhsm", - "options": { - "subscription-manager": { - "rhsm": { - "manage_repos": false - }, - "rhsmcertd": { - "auto_registration": true - } - } - } - }, { "type": "org.osbuild.systemd-logind", "options": { @@ -8218,6 +8221,9 @@ "sha256:c3713e0ffb283367dfe1741477f140ec1d6b6d38158e1bb5294d485f12f30630": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/perl-SelectSaver-1.02-479.el9.noarch.rpm" }, + "sha256:c3a2d41fb291f8f6160d0a80840aee0f96d6f7ef5445ad1d2bdccd4e41f19e93": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/rhc-0.2.1-9.el9.x86_64.rpm" + }, "sha256:c406715a8a7e8a87df8d022bfdb4eef1e87881d7af6be2b3f794f722caab4f5a": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/pkgconf-1.7.3-9.el9.x86_64.rpm" }, @@ -8266,6 +8272,9 @@ "sha256:cc320422d1ed3c73821e5cb0dfd2002b88d3d53998958ac437de99423099881d": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/cloud-init-22.1-5.el9.noarch.rpm" }, + "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-cloud-client-configuration-1-10.el9.noarch.rpm" + }, "sha256:cd8f32a588f83b75183a94e40f895ec9640bfba4ba1768f1e86b57c18cec3e47": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/elfutils-default-yama-scope-0.187-5.el9.noarch.rpm" }, @@ -15712,6 +15721,16 @@ "checksum": "sha256:6d854c991181c69bf0c08d075ecf15e404d17611bddf66e0b7c749abe543aafa", "check_gpg": true }, + { + "name": "redhat-cloud-client-configuration", + "epoch": 0, + "version": "1", + "release": "10.el9", + "arch": "noarch", + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-cloud-client-configuration-1-10.el9.noarch.rpm", + "checksum": "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8", + "check_gpg": true + }, { "name": "redhat-logos", "epoch": 0, @@ -15722,6 +15741,16 @@ "checksum": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", "check_gpg": true }, + { + "name": "rhc", + "epoch": 1, + "version": "0.2.1", + "release": "9.el9", + "arch": "x86_64", + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/rhc-0.2.1-9.el9.x86_64.rpm", + "checksum": "sha256:c3a2d41fb291f8f6160d0a80840aee0f96d6f7ef5445ad1d2bdccd4e41f19e93", + "check_gpg": true + }, { "name": "rpm-plugin-systemd-inhibit", "epoch": 0, diff --git a/test/data/manifests/rhel_91-x86_64-ec2_sap-boot.json b/test/data/manifests/rhel_91-x86_64-ec2_sap-boot.json index c8ea72295..a617e3202 100644 --- a/test/data/manifests/rhel_91-x86_64-ec2_sap-boot.json +++ b/test/data/manifests/rhel_91-x86_64-ec2_sap-boot.json @@ -8509,6 +8509,14 @@ } } }, + { + "id": "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8", + "options": { + "metadata": { + "rpm.check_gpg": true + } + } + }, { "id": "sha256:5a43c616c3f06fbba7d45ea4cdd87ca58cc46102908e089a14604de5d55a0393", "options": { @@ -9091,19 +9099,6 @@ } } }, - { - "type": "org.osbuild.rhsm", - "options": { - "subscription-manager": { - "rhsm": { - "manage_repos": false - }, - "rhsmcertd": { - "auto_registration": true - } - } - } - }, { "type": "org.osbuild.systemd-logind", "options": { @@ -11803,6 +11798,9 @@ "sha256:cd2a8f0d86950b068c1a0890271006417f95750cff340ef0bafb45dceb510425": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-baseos-n9.1-20221015/Packages/cockpit-276.1-1.el9.x86_64.rpm" }, + "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8": { + "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-cloud-client-configuration-1-10.el9.noarch.rpm" + }, "sha256:cd42bf6dcc07424fa146b4cc6d30fbb0400199c0a599e31df1ee61e956649b3b": { "url": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/libXv-1.0.11-16.el9.x86_64.rpm" }, @@ -22760,6 +22758,16 @@ "checksum": "sha256:132cf073ac655f8fcf6a22d0161578cb1a8a252002b2e11adeb0c84d7900ce4c", "check_gpg": true }, + { + "name": "redhat-cloud-client-configuration", + "epoch": 0, + "version": "1", + "release": "10.el9", + "arch": "noarch", + "remote_location": "https://rpmrepo.osbuild.org/v2/mirror/rhvpn/el9/el9-x86_64-appstream-n9.1-20221015/Packages/redhat-cloud-client-configuration-1-10.el9.noarch.rpm", + "checksum": "sha256:cd3d87f6fcc9a53ace91784a1443e4cc6ecc6d5f16d55482ed2b86f0f4e223e8", + "check_gpg": true + }, { "name": "redhat-logos", "epoch": 0,