diff --git a/centos-virt.yaml b/centos-virt.yaml deleted file mode 100644 index eabf7735..00000000 --- a/centos-virt.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# In RHEL, there is only one production key. -# In CentOS, we need a separate package for the separate keys. -# Now, we can't just include this *unconditionally* since it -# doesn't exist for s390x. -packages: - # GPG keys for NFV & Virtualization SIGs - - centos-release-virt-common diff --git a/ci/prow-entrypoint.sh b/ci/prow-entrypoint.sh index e252f3f1..22e19283 100755 --- a/ci/prow-entrypoint.sh +++ b/ci/prow-entrypoint.sh @@ -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" ;; diff --git a/common-el9.yaml b/common-el9.yaml index fbf21259..e69de29b 100644 --- a/common-el9.yaml +++ b/common-el9.yaml @@ -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 diff --git a/common.yaml b/common.yaml index 0f2f90be..1936ce60 100644 --- a/common.yaml +++ b/common.yaml @@ -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 @@ -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 @@ -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 remove-files: # We don't ship man(1) or info(1) @@ -229,6 +268,7 @@ packages: - nfs-utils - dnsmasq - NetworkManager-ovs + - openvswitch3.1 # needed for rpm-ostree today - polkit # Extra runtime diff --git a/extensions-rhel-8.6.yaml b/extensions-rhel-8.6.yaml deleted file mode 100644 index 9f67bfcf..00000000 --- a/extensions-rhel-8.6.yaml +++ /dev/null @@ -1,62 +0,0 @@ -# RPMs as operating system extensions, distinct from the base ostree commit/image -# https://github.com/openshift/enhancements/blob/master/enhancements/rhcos/extensions.md -# and https://github.com/coreos/fedora-coreos-tracker/issues/401 - -repos: - - rhel-8.6-server-ose-4.13 - -extensions: - # https://github.com/coreos/fedora-coreos-tracker/issues/326 - usbguard: - packages: - - usbguard - kerberos: - packages: - - krb5-workstation - - libkadm5 - # https://github.com/kmods-via-containers/kmods-via-containers/issues/3 - # https://gitlab.cee.redhat.com/coreos/redhat-coreos/merge_requests/866 - # These are currently overlaid onto the host so that they can be bind-mounted - # into build containers... in the future they should be a `development` - # extension: https://github.com/openshift/machine-config-operator/pull/2143. - kernel-devel: - packages: - - kernel-devel - - kernel-headers - match-base-evr: kernel - # These are already in the base, so they're not OS extensions, but they're - # useful to have in RPM form to install in kmod build containers. - kernel: - kind: development - packages: - - kernel - - kernel-core - - kernel-modules - - kernel-modules-extra - match-base-evr: kernel - # GRPA-2822 - # https://github.com/openshift/machine-config-operator/pull/1330 - # https://github.com/openshift/enhancements/blob/master/enhancements/support-for-realtime-kernel.md - kernel-rt: - architectures: - - x86_64 - packages: - - kernel-rt-core - - kernel-rt-kvm - - kernel-rt-modules - - kernel-rt-modules-extra - - kernel-rt-devel - # https://github.com/openshift/machine-config-operator/pull/2456 - # https://github.com/openshift/enhancements/blob/master/enhancements/sandboxed-containers/sandboxed-containers-tech-preview.md - # GRPA-3123 - # - kata-containers (RHAOS) - sandboxed-containers: - architectures: - - x86_64 - modules: - enable: - - virt:rhel - repos: - - rhel-8.6-appstream - packages: - - kata-containers diff --git a/extensions-rhel-9.0.yaml b/extensions-rhel-9.0.yaml deleted file mode 100644 index edf88850..00000000 --- a/extensions-rhel-9.0.yaml +++ /dev/null @@ -1,59 +0,0 @@ -# RPMs as operating system extensions, distinct from the base ostree commit/image -# https://github.com/openshift/enhancements/blob/master/enhancements/rhcos/extensions.md -# and https://github.com/coreos/fedora-coreos-tracker/issues/401 - -repos: - - rhel-9.0-nfv - -extensions: - # https://github.com/coreos/fedora-coreos-tracker/issues/326 - usbguard: - packages: - - usbguard - kerberos: - packages: - - krb5-workstation - - libkadm5 - # https://github.com/kmods-via-containers/kmods-via-containers/issues/3 - # https://gitlab.cee.redhat.com/coreos/redhat-coreos/merge_requests/866 - # These are currently overlaid onto the host so that they can be bind-mounted - # into build containers... in the future they should be a `development` - # extension: https://github.com/openshift/machine-config-operator/pull/2143. - kernel-devel: - packages: - - kernel-devel - - kernel-headers - match-base-evr: kernel - # These are already in the base, so they're not OS extensions, but they're - # useful to have in RPM form to install in kmod build containers. - kernel: - kind: development - packages: - - kernel - - kernel-core - - kernel-modules - - kernel-modules-extra - match-base-evr: kernel - # GRPA-2822 - # https://github.com/openshift/machine-config-operator/pull/1330 - # https://github.com/openshift/enhancements/blob/master/enhancements/support-for-realtime-kernel.md - kernel-rt: - architectures: - - x86_64 - packages: - - kernel-rt-core - - kernel-rt-kvm - - kernel-rt-modules - - kernel-rt-modules-extra - - kernel-rt-devel - # https://github.com/openshift/machine-config-operator/pull/2456 - # https://github.com/openshift/enhancements/blob/master/enhancements/sandboxed-containers/sandboxed-containers-tech-preview.md - # GRPA-3123 - # - kata-containers (RHAOS) - sandboxed-containers: - architectures: - - x86_64 - repos: - - rhel-9.0-appstream - packages: - - kata-containers diff --git a/extensions-rhel-9.2.yaml b/extensions-rhel-9.2.yaml index a0987b1d..78278989 100644 --- a/extensions-rhel-9.2.yaml +++ b/extensions-rhel-9.2.yaml @@ -38,7 +38,7 @@ extensions: architectures: - x86_64 repos: - - nfv + - rhel-9.2-nfv packages: - kernel-rt-core - kernel-rt-kvm @@ -53,7 +53,6 @@ extensions: architectures: - x86_64 repos: - # - rhel-9.0-appstream - - sig-virtualization + - rhel-9.2-appstream packages: - kata-containers diff --git a/extensions-rhel-coreos-8.yaml b/extensions-rhel-coreos-8.yaml deleted file mode 120000 index 051d254e..00000000 --- a/extensions-rhel-coreos-8.yaml +++ /dev/null @@ -1 +0,0 @@ -extensions-rhel-8.6.yaml \ No newline at end of file diff --git a/image-rhel-8.6.yaml b/image-rhel-8.6.yaml deleted file mode 100644 index d01b5fc8..00000000 --- a/image-rhel-8.6.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# See https://github.com/coreos/coreos-assembler/pull/298 -size: 16 - -# https://bugzilla.redhat.com/show_bug.cgi?id=1812276 -squashfs-compression: gzip - -# Disable networking by default on firstboot. We can drop this once cosa stops -# defaulting to `ip=dhcp,dhcp6 rd.neednet=1` when it doesn't see this key. -ignition-network-kcmdline: [] - -# vmware-secure-boot changes the EFI secure boot option. -# set false here due to https://bugzilla.redhat.com/show_bug.cgi?id=2106055 -vmware-secure-boot: false - -vmware-os-type: rhel8_64Guest -# VMware hardware versions: https://kb.vmware.com/s/article/1003746 -# Supported VMware versions: https://lifecycle.vmware.com/ -vmware-hw-version: 15 diff --git a/image-rhel-9.0.yaml b/image-rhel-9.0.yaml deleted file mode 100644 index 17c8d9cc..00000000 --- a/image-rhel-9.0.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# See https://github.com/coreos/coreos-assembler/pull/298 -size: 16 - -# Disable networking by default on firstboot. We can drop this once cosa stops -# defaulting to `ip=dhcp,dhcp6 rd.neednet=1` when it doesn't see this key. -ignition-network-kcmdline: [] - -# vmware-secure-boot changes the EFI secure boot option. -# set false here due to https://bugzilla.redhat.com/show_bug.cgi?id=2106055 -vmware-secure-boot: false - -# rhel9_64Guest requires hardware version 18 and vSphere 7.0U3 -# https://kb.vmware.com/s/article/88157 -vmware-os-type: rhel8_64Guest -# VMware hardware versions: https://kb.vmware.com/s/article/1003746 -# Supported VMware versions: https://lifecycle.vmware.com/ -vmware-hw-version: 15 diff --git a/image-rhel-coreos-8.yaml b/image-rhel-coreos-8.yaml deleted file mode 120000 index d7d2edf9..00000000 --- a/image-rhel-coreos-8.yaml +++ /dev/null @@ -1 +0,0 @@ -image-rhel-8.6.yaml \ No newline at end of file diff --git a/manifest-c9s.yaml b/manifest-c9s.yaml index cb85131a..5a096ebe 100644 --- a/manifest-c9s.yaml +++ b/manifest-c9s.yaml @@ -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 @@ -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." +automatic-version-prefix: "414.9." # 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: - | @@ -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 <" -# 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" - -postprocess: - - | - #!/usr/bin/env bash - set -xeo pipefail - - # Tweak /usr/lib/os-release - grep -v "OSTREE_VERSION" /etc/os-release > /usr/lib/os-release.rhel - OCP_RELEASE="4.13" - ( - . /etc/os-release - cat > /usr/lib/os-release < /usr/lib/system-release-cpe < /usr/lib/system-release < /usr/lib/issue < /etc/motd <> /usr/lib/systemd/system/basic.target - echo 'Wants=tmp.mount' >> /usr/lib/systemd/system/basic.target - # Stop shipping a baked initiator name in the image; this should be generated - # at runtime. We have a service which does this - # (coreos-generate-iscsi-initiatorname.service) until it's done properly - # upstream (see https://bugzilla.redhat.com/show_bug.cgi?id=1493296). - - | - #!/usr/bin/env bash - set -xeuo pipefail - - # NB: we don't use -f here so we break when this is no longer needed - rm -v /etc/iscsi/initiatorname.iscsi - -# Packages that are only in RHCOS and not in SCOS or that have special -# constraints that do not apply to SCOS -packages: - # We include the generic release package and tweak the os-release info in a - # post-proces script - - redhat-release - # RHEL7 compatibility - - compat-openssl10 - # SCOS package name does not include a version number - - openvswitch2.17 - # https://github.com/openshift/os/issues/1036 - - libsemanage-2.9-8.el8 - -# Packages pinned to specific repos in RHCOS -repo-packages: - # we want the one shipping in RHEL, not the equivalently versioned one in RHAOS - - repo: rhel-8.6-appstream - packages: - - nss-altfiles - - repo: rhel-8.6-server-ose-4.13 - packages: - # Starting with 4.11, we are working with the Containers team to build - # certain container-tools RPMs in the RHAOS branches for RHCOS + RHEL - # worker nodes. - - conmon - - container-selinux - - containernetworking-plugins - - containers-common - - criu - - crun - - fuse-overlayfs - - podman - - runc - - skopeo - - slirp4netns - - toolbox - -modules: - enable: - # qemu-guest-agent - - virt:rhel diff --git a/manifest-rhel-9.0.yaml b/manifest-rhel-9.0.yaml deleted file mode 100644 index f9ae8178..00000000 --- a/manifest-rhel-9.0.yaml +++ /dev/null @@ -1,135 +0,0 @@ -# Manifest for RHCOS based on RHEL 9.0 - -rojig: - license: MIT - name: rhcos - summary: OpenShift 4 - -variables: - osversion: "rhel-9.0" - -# Include manifests common to all RHEL and CentOS Stream versions and manifest -# common to RHEL 9 & C9S variants -include: - - common.yaml - - common-el9.yaml - -# Starting from here, everything should be specific to RHCOS based on RHEL 9.0 - -# See "Notes about repositories" in `docs/development.md` -repos: - - rhel-9.0-baseos - - rhel-9.0-appstream - - rhel-9.0-fast-datapath - - rhel-9.0-server-ose-4.13 - -# We include hours/minutes to avoid version number reuse -automatic-version-prefix: "413.90." -# 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" - -postprocess: - - | - #!/usr/bin/env bash - set -xeo pipefail - - # Tweak /usr/lib/os-release - grep -v "OSTREE_VERSION" /etc/os-release > /usr/lib/os-release.rhel - OCP_RELEASE="4.13" - ( - . /etc/os-release - cat > /usr/lib/os-release < /usr/lib/system-release-cpe < /usr/lib/system-release < /usr/lib/issue < /etc/motd <" +automatic-version-prefix: "414.92." # 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: - | @@ -46,7 +37,7 @@ postprocess: # Tweak /usr/lib/os-release grep -v "OSTREE_VERSION" /etc/os-release > /usr/lib/os-release.rhel - OCP_RELEASE="4.13" + OCP_RELEASE="4.14" ( . /etc/os-release cat > /usr/lib/os-release <