Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ci/prow-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -271,13 +271,13 @@ main () {
cosa_build
kola_test_metal
;;
"rhcos-90-build-test-qemu")
"rhcos-92-build-test-qemu"|"rhcos-90-build-test-qemu")
setup_user
cosa_init "rhel-coreos-9"
cosa_build
kola_test_qemu
;;
"rhcos-90-build-test-metal" )
"rhcos-92-build-test-metal"|"rhcos-90-build-test-metal")
setup_user
cosa_init "rhel-coreos-9"
cosa_build
Expand Down
4 changes: 4 additions & 0 deletions common-el9.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
include:
- fedora-coreos-config/manifests/shared-el9.yaml

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

postprocess:
# Collection of workarounds specific to EL9 variants
- |
Expand Down
11 changes: 11 additions & 0 deletions copr:copr.fedorainfracloud.org:amoralej:openvswitch-s390x.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# See https://lists.centos.org/pipermail/centos-devel/2023-January/142752.html
[copr:copr.fedorainfracloud.org:amoralej:openvswitch-s390x]
name=Copr repo for openvswitch-s390x owned by amoralej
baseurl=https://download.copr.fedorainfracloud.org/results/amoralej/openvswitch-s390x/centos-stream-9-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/amoralej/openvswitch-s390x/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1
63 changes: 63 additions & 0 deletions extensions-rhel-9.2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# 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
- sig-virtualization

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
repos:
- nfv
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
- sig-virtualization
packages:
- kata-containers
2 changes: 1 addition & 1 deletion extensions-rhel-coreos-9.yaml
17 changes: 17 additions & 0 deletions image-rhel-9.2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 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
2 changes: 1 addition & 1 deletion image-rhel-coreos-9.yaml
15 changes: 12 additions & 3 deletions kola-denylist.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,18 @@
# Broken tests for EL9 under investigation
- pattern: ext.config.shared.podman.rootless-systemd
tracker: https://bugzilla.redhat.com/show_bug.cgi?id=2123246
osversion:
- c9s
- rhel-9.0

# We're using some COPR stuff intentionally
- pattern: ext.config.shared.content-origins
tracker: ''

# Temporary while we're using C9S
- pattern: ext.config.version.rhel-matches-rhcos-build
tracker: ''

# This test is broken
- pattern: ext.config.shared.networking.default-network-behavior-change
tracker: ''

# Temporary to unblock COSA CI
- pattern: ext.config.shared.clhm.network-device-info
Expand Down
19 changes: 4 additions & 15 deletions manifest-c9s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,17 @@ include:

# Starting from here, everything should be specific to SCOS

# SCOS specific overlays
ostree-layers:
- overlay/07c9s

# CentOS Stream 9 repos + internal repos for now
repos:
- baseos
- appstream
# For NFV & Virtualization SIG GPG keys
- extras-common
- sig-nfv
# Include RHCOS 9 repo for oc, hyperkube, cri-o, conmon-rs
# OKD SCOS builds of cri-o & cri-tools
- okd-copr
# Include RHCOS 9 repo for oc, hyperkube and conmon-rs
- rhel-9.0-server-ose-4.13
# Use this repo to build SCOS with OKD SCOS packages
# - okd-copr

# We include hours/minutes to avoid version number reuse
automatic-version-prefix: "413.9.<date:%Y%m%d%H%M>"
Expand Down Expand Up @@ -138,14 +134,7 @@ repo-packages:
- nss-altfiles
# Use the new containers/toolbox
- toolbox
- repo: rhel-9.0-server-ose-4.13
- repo: okd-copr
packages:
- conmon-rs
- cri-o
- cri-tools
- openshift-clients
- openshift-hyperkube
# - repo: okd-copr
# packages:
# - cri-o
# - cri-tools
157 changes: 157 additions & 0 deletions manifest-rhel-9.2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# Manifest for RHCOS based on RHEL 9.2 (C9S for now)

rojig:
license: MIT
name: rhcos
summary: OpenShift 4

variables:
osversion: "rhel-9.2"

# 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.2

# See "Notes about repositories" in `docs/development.md`
repos:
- baseos
- appstream
# For NFV & Virtualization SIG GPG keys
- extras-common
- sig-nfv
# Include RHCOS 9.0 repo for oc, hyperkube, cri-o, conmon-rs
- rhel-9.0-server-ose-4.13
# Uncomment and switch to the following once ready
# - rhel-9.2-baseos
# - rhel-9.2-appstream
# - rhel-9.2-fast-datapath
# - rhel-9.2-server-ose-4.13

arch-include:
s390x:
# Temporary repo for openvswitch on s390x
Copy link
Member

Choose a reason for hiding this comment

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

I think only shipping a particular package on a particular architecture is going to trip up ART's consistentency checks; we should use the same content across all arches.

Copy link
Member Author

@travier travier Jan 30, 2023

Choose a reason for hiding this comment

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

It should be the same package that is included in all other arches but just a build for this arch. From #1126

# See: https://lists.centos.org/pipermail/centos-devel/2023-January/142752.html
- openvswitch-s390x.yaml

# We include hours/minutes to avoid version number reuse
automatic-version-prefix: "413.92.<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"

postprocess:
- |
#!/usr/bin/env bash
set -xeo pipefail

# Tweak /usr/lib/os-release
Copy link
Member

Choose a reason for hiding this comment

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

(Not a new problem but we should factor this out into a common include)

grep -v "OSTREE_VERSION" /etc/os-release > /usr/lib/os-release.rhel
OCP_RELEASE="4.13"
(
. /etc/os-release
cat > /usr/lib/os-release <<EOF
NAME="${NAME} CoreOS"
ID="rhcos"
ID_LIKE="rhel fedora"
VERSION="${OSTREE_VERSION}"
VERSION_ID="${OCP_RELEASE}"
VARIANT="CoreOS"
VARIANT_ID=coreos
PLATFORM_ID="${PLATFORM_ID}"
PRETTY_NAME="${NAME} CoreOS ${OSTREE_VERSION} (Plow)"
ANSI_COLOR="${ANSI_COLOR}"
CPE_NAME="${CPE_NAME%baseos}coreos"
HOME_URL="${HOME_URL}"
DOCUMENTATION_URL="https://docs.openshift.com/container-platform/${OCP_RELEASE}/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="OpenShift Container Platform"
REDHAT_BUGZILLA_PRODUCT_VERSION="${OCP_RELEASE}"
REDHAT_SUPPORT_PRODUCT="OpenShift Container Platform"
REDHAT_SUPPORT_PRODUCT_VERSION="${OCP_RELEASE}"
OPENSHIFT_VERSION="${OCP_RELEASE}"
RHEL_VERSION="${VERSION_ID}"
OSTREE_VERSION="${OSTREE_VERSION}"
EOF
)
rm -f /etc/os-release
ln -s ../usr/lib/os-release /etc/os-release

# Tweak /etc/system-release, /etc/system-release-cpe & /etc/redhat-release
(
. /etc/os-release
cat > /usr/lib/system-release-cpe <<EOF
${CPE_NAME}
EOF
cat > /usr/lib/system-release <<EOF
${NAME} release ${VERSION_ID}
EOF
rm -f /etc/system-release-cpe /etc/system-release /etc/redhat-release
ln -s /usr/lib/system-release-cpe /etc/system-release-cpe
ln -s /usr/lib/system-release /etc/system-release
ln -s /usr/lib/system-release /etc/redhat-release
)

# Tweak /usr/lib/issue
cat > /usr/lib/issue <<EOF
\S \S{VERSION_ID}
EOF
rm -f /etc/issue /etc/issue.net
ln -s /usr/lib/issue /etc/issue
ln -s /usr/lib/issue /etc/issue.net

# Let's have a non-boring motd, just like CL (although theirs is more subdued
# nowadays compared to early versions with ASCII art). One thing we do here
# is add --- as a "separator"; the idea is that any "dynamic" information should
# be below that.
# See: https://projects.engineering.redhat.com/browse/COREOS-1029
. /etc/os-release
cat > /etc/motd <<EOF
Red Hat Enterprise Linux CoreOS $VERSION
Part of OpenShift ${OPENSHIFT_VERSION}, RHCOS is a Kubernetes native operating system
managed by the Machine Config Operator (\`clusteroperator/machine-config\`).

WARNING: Direct SSH access to machines is not recommended; instead,
make configuration changes via \`machineconfig\` objects:
https://docs.openshift.com/container-platform/${OPENSHIFT_VERSION}/architecture/architecture-rhcos.html

---
EOF

# 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
- centos-release
# TODO: Uncomment when ready
# - redhat-release
# GPG keys for NFV & Virtualization SIGs
- centos-release-virt-common
- centos-release-nfv-common

# Packages pinned to specific repos in RHCOS 9
repo-packages:
# We always want the kernel from BaseOS
# - repo: rhel-9.0-baseos
- repo: baseos
packages:
- kernel
# - repo: rhel-9.0-appstream
- repo: appstream
packages:
# We want the one shipping in RHEL, not the equivalently versioned one in RHAOS
- nss-altfiles
# Use the new containers/toolbox
- toolbox
- repo: rhel-9.0-server-ose-4.13
packages:
- conmon-rs
- cri-o
- cri-tools
- openshift-clients
- openshift-hyperkube
2 changes: 1 addition & 1 deletion manifest-rhel-coreos-9.yaml
2 changes: 2 additions & 0 deletions openvswitch-s390x.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
repos:
- copr:copr.fedorainfracloud.org:amoralej:openvswitch-s390x
6 changes: 2 additions & 4 deletions tests/kola/version/rhel-major-version
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,8 @@ esac
for pkg in $(rpm -qa); do
name="$(rpm -q --queryformat='%{NAME}' "${pkg}")"
# See https://bugzilla.redhat.com/show_bug.cgi?id=2115815
if [[ "${variant}" == "scos" ]]; then
if [[ "${name}" == "shim-x64" ]] || [[ "${name}" == "shim-aa64" ]]; then
continue
fi
if [[ "${name}" == "shim-x64" ]] || [[ "${name}" == "shim-aa64" ]]; then
continue
fi
# Weirdly, querying the libgcc package on RHEL 8 returns the result twice
# so let's read only the first answer
Expand Down