Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

manifests/9.2: Use RHEL 9.2 repos & cleanups #1204

Merged
merged 14 commits into from
Mar 21, 2023
Merged
7 changes: 0 additions & 7 deletions centos-virt.yaml

This file was deleted.

10 changes: 5 additions & 5 deletions ci/prow-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -83,16 +83,16 @@ prepare_repos() {
# Fetch the repos corresponding to the release we are building
case "${rhelver}" in
92)
# 92 doesn't exist in release controller right now
if [[ "${rhelver}" == "92" ]]; then rhelver=90; fi
curl --fail -L "http://base-${ocpver_mut}-rhel${rhelver}.ocp.svc.cluster.local" -o "src/config/ocp.repo"
cat src/config/ocp.repo
# Work around podman not being built in 4.14
curl --fail -L "http://base-4-13-rhel${rhelver}.ocp.svc.cluster.local" -o "src/config/ocp-prev.repo"
cat src/config/ocp{,-prev}.repo
;;
*)
# Assume C9S/SCOS if the version does not match known values for RHEL
# Temporary workaround until we have all packages for SCOS
curl --fail -L "http://base-${ocpver_mut}-rhel90.ocp.svc.cluster.local" -o "src/config/tmp.repo"
awk '/rhel-9.0-server-ose-4.13/,/^$/' "src/config/tmp.repo" > "src/config/ocp90.repo"
curl --fail -L "http://base-${ocpver_mut}-rhel92.ocp.svc.cluster.local" -o "src/config/tmp.repo"
awk '/rhel-9.2-server-ose-4.14/,/^$/' "src/config/tmp.repo" > "src/config/ocp90.repo"
cat src/config/ocp90.repo
rm "src/config/tmp.repo"
;;
Expand Down
52 changes: 0 additions & 52 deletions common-el9.yaml
Original file line number Diff line number Diff line change
@@ -1,52 +0,0 @@
# Manifest shared between CentOS Stream 9 and RHEL 9 variants

include:
- fedora-coreos-config/manifests/shared-el9.yaml

# EL9 specific overlays
ostree-layers:
- overlay/07el9

postprocess:
# Collection of workarounds specific to EL9 variants
- |
#!/usr/bin/env bash
set -xeo pipefail

# FIXME: Why is this only broken here? NM isn't removing the link?
sed -i '/etc.resolv/d' /usr/lib/tmpfiles.d/etc.conf

# crio should stop hardcoding things in their config file!
# We are apparently somehow pulling in a conmon override in RHCOS
# that contains /usr/libexec/crio/conmon - WHY?
# sed -i '/conmon.*=/d' /etc/crio/crio.conf
# Oh right but the MCO overrides that too so...
mkdir -p /usr/libexec/crio
ln -sr /usr/bin/conmon /usr/libexec/crio/conmon

# Enable tmp-on-tmpfs by default because we don't want to have things leak
# across reboots, it increases alignment with FCOS, and also fixes the
# Live ISO. First, verify that RHEL is still disabling.
grep -q '# RHEL-only: Disable /tmp on tmpfs' /usr/lib/systemd/system/basic.target
echo '# RHCOS-only: we follow the Fedora/upstream default' >> /usr/lib/systemd/system/basic.target
echo 'Wants=tmp.mount' >> /usr/lib/systemd/system/basic.target
- |
#!/usr/bin/env bash
set -xeo pipefail
# See https://issues.redhat.com/browse/LOG-3117
# Something changed between rhel8 and rhel9 to not generate this by default
# but we have containers that expect it to be mounted so for now let's continue
# generating it.
ln -sr /usr/share/zoneinfo/UTC /etc/localtime
- |
#!/usr/bin/env bash
set -xeuo pipefail
# Backport https://github.com/dracutdevs/dracut/commit/25a92885a9519701cc480298c2b082e2e2bf5ebe
s=/usr/lib/dracut/modules.d/95nvmf/nvmf-autoconnect.sh
if test -f "$s"; then
chmod a+x "$s"
fi

# Packages that are only for SCOS & RHCOS 9
packages:
- openvswitch3.1
40 changes: 40 additions & 0 deletions common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ include:
- fedora-coreos-config/manifests/system-configuration.yaml
- fedora-coreos-config/manifests/user-experience.yaml
- fedora-coreos-config/manifests/shared-workarounds.yaml
- fedora-coreos-config/manifests/shared-el9.yaml
# RHCOS owned packages
- rhcos-packages.yaml

Expand All @@ -14,6 +15,7 @@ ostree-layers:
- overlay/01fcos
- overlay/02fcos-nouveau
- overlay/05rhcos
- overlay/07el9
- overlay/06gcp-routes
- overlay/15rhcos-networkmanager-dispatcher
- overlay/15rhcos-tuned-bits
Expand Down Expand Up @@ -165,6 +167,43 @@ postprocess:
done
done
done
- |
#!/usr/bin/env bash
set -xeo pipefail
# FIXME: Why is this only broken here? NM isn't removing the link?
sed -i '/etc.resolv/d' /usr/lib/tmpfiles.d/etc.conf
# crio should stop hardcoding things in their config file!
# We are apparently somehow pulling in a conmon override in RHCOS
# that contains /usr/libexec/crio/conmon - WHY?
# sed -i '/conmon.*=/d' /etc/crio/crio.conf
# Oh right but the MCO overrides that too so...
mkdir -p /usr/libexec/crio
ln -sr /usr/bin/conmon /usr/libexec/crio/conmon
# Enable tmp-on-tmpfs by default because we don't want to have things leak
# across reboots, it increases alignment with FCOS, and also fixes the
# Live ISO. First, verify that RHEL is still disabling.
grep -q '# RHEL-only: Disable /tmp on tmpfs' /usr/lib/systemd/system/basic.target
echo '# RHCOS-only: we follow the Fedora/upstream default' >> /usr/lib/systemd/system/basic.target
echo 'Wants=tmp.mount' >> /usr/lib/systemd/system/basic.target
- |
#!/usr/bin/env bash
set -xeo pipefail
# See https://issues.redhat.com/browse/LOG-3117
# Something changed between rhel8 and rhel9 to not generate this by default
# but we have containers that expect it to be mounted so for now let's continue
# generating it.
ln -sr /usr/share/zoneinfo/UTC /etc/localtime
- |
#!/usr/bin/env bash
set -xeuo pipefail
# Backport https://github.com/dracutdevs/dracut/commit/25a92885a9519701cc480298c2b082e2e2bf5ebe
s=/usr/lib/dracut/modules.d/95nvmf/nvmf-autoconnect.sh
if test -f "$s"; then
chmod a+x "$s"
fi
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can remove workaround for nvmf-autoconnect.sh, as the issue does not exist on 9.2

[cloud-user@citest-1 ~]$ rpm -q dracut
dracut-057-21.git20230214.el9.x86_64
[cloud-user@citest-1 ~]$ ll /usr/lib/dracut/modules.d/95nvmf/nvmf-autoconnect.sh
-rwxr-xr-x. 1 root root 140 Jun 19  2022 /usr/lib/dracut/modules.d/95nvmf/nvmf-autoconnect.sh
[cloud-user@citest-1 ~]$ cat /etc/os-release 
...
REDHAT_SUPPORT_PRODUCT_VERSION="9.2 Beta"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm yes...though this is in the FCOS config, so fixing that would require a cycle there...let's just keep this on our list of things to clean up later.

remove-files:
# We don't ship man(1) or info(1)
Expand Down Expand Up @@ -229,6 +268,7 @@ packages:
- nfs-utils
- dnsmasq
- NetworkManager-ovs
- openvswitch3.1
# needed for rpm-ostree today
- polkit
# Extra runtime
Expand Down
62 changes: 0 additions & 62 deletions extensions-rhel-8.6.yaml

This file was deleted.

59 changes: 0 additions & 59 deletions extensions-rhel-9.0.yaml

This file was deleted.

5 changes: 2 additions & 3 deletions extensions-rhel-9.2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ extensions:
architectures:
- x86_64
repos:
- nfv
- rhel-9.2-nfv
packages:
- kernel-rt-core
- kernel-rt-kvm
Expand All @@ -53,7 +53,6 @@ extensions:
architectures:
- x86_64
repos:
# - rhel-9.0-appstream
- sig-virtualization
- rhel-9.2-appstream
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I couldn't find kata-containers in the rhel-9.2-appstream repo

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, no kata-containers in rhel, only c9s.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C9S is RHEL (9). Having a SIG doesn't mean it's "in C9S", only associated with it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I meant C9S SIG, you are right.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

packages:
- kata-containers
1 change: 0 additions & 1 deletion extensions-rhel-coreos-8.yaml

This file was deleted.

18 changes: 0 additions & 18 deletions image-rhel-8.6.yaml

This file was deleted.

17 changes: 0 additions & 17 deletions image-rhel-9.0.yaml

This file was deleted.

1 change: 0 additions & 1 deletion image-rhel-coreos-8.yaml

This file was deleted.

16 changes: 11 additions & 5 deletions manifest-c9s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ variables:
# common to RHEL 9 & C9S variants
include:
- common.yaml
- common-el9.yaml

# Starting from here, everything should be specific to SCOS

Expand All @@ -27,14 +26,14 @@ repos:
- okd-copr
- podman-next-copr
# Include RHCOS 9 repo for oc, hyperkube and conmon-rs
- rhel-9.0-server-ose-4.13
- rhel-9.2-server-ose-4.14

# We include hours/minutes to avoid version number reuse
automatic-version-prefix: "413.9.<date:%Y%m%d%H%M>"
automatic-version-prefix: "414.9.<date:%Y%m%d%H%M>"
# This ensures we're semver-compatible which OpenShift wants
automatic-version-suffix: "-"
# Keep this is sync with the version in postprocess
mutate-os-release: "4.13"
mutate-os-release: "4.14"

postprocess:
- |
Expand All @@ -43,7 +42,7 @@ postprocess:
# Tweak /usr/lib/os-release
grep -v "OSTREE_VERSION" /etc/os-release > /usr/lib/os-release.stream
OCP_RELEASE="4.13"
OCP_RELEASE="4.14"
(
. /etc/os-release
cat > /usr/lib/os-release <<EOF
Expand Down Expand Up @@ -112,6 +111,13 @@ postprocess:
---
EOF
- |
#!/usr/bin/env bash
set -xeo pipefail
# We need to work in disconnected environments by default, and default-enabled
# repos will be attempted to be fetched by rpm-ostree when doing node-local
# kernel overrides today for e.g. kernel-rt.
for x in /etc/yum.repos.d/*.repo; do sed -i -e s,enabled=1,enabled=0, $x; done
# Packages that are only in SCOS and not in RHCOS or that have special
# constraints that do not apply to RHCOS
Expand Down
Loading