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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ supported:

- `rhel-9.6`: RHEL 9.6-based CoreOS; without OpenShift components.
- `ocp-rhel-9.6`: RHEL 9.6-based CoreOS; including OpenShift components.
- `c9s`: CentOS Stream-based CoreOS, without OKD components.
- `c9s`/`c10s`: CentOS Stream-based CoreOS, without OKD components.

In the future, the `ocp-*` variants will be removed. Instead, OpenShift
components will be layered by deriving from the `rhel-9.X`/`c9s` images.
Expand Down
11 changes: 6 additions & 5 deletions build-node-image.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,17 @@ if [ "${OPENSHIFT_CI}" != 0 ]; then
/run/src/ci/get-ocp-repo.sh /etc/yum.repos.d/ocp.repo
fi

# add all the repos from the src repo into `/etc/yum.repos.d` so dnf sees them
cat /run/src/*.repo >> /etc/yum.repos.d/git.repo

source /etc/os-release

# XXX: For SCOS, only allow certain packages to come from ART; everything else
# should come from CentOS. We should eventually sever this.
if [ $ID = centos ]; then
# this says: "if the line starts with [.*], turn off printing. if the line starts with [our-repo], turn it on."
awk "/\[.*\]/{p=0} /\[rhel-9.6-server-ose-4.19\]/{p=1} p" /etc/yum.repos.d/*.repo > /etc/yum.repos.d/okd.repo.tmp
sed -i -e 's,rhel-9.6-server-ose-4.19,rhel-9.6-server-ose-4.19-okd,' /etc/yum.repos.d/okd.repo.tmp
sed -i -e 's,\[rhel-9.6-server-ose-4.19\],\[rhel-9.6-server-ose-4.19-okd\],' /etc/yum.repos.d/okd.repo.tmp
echo 'includepkgs=openshift-*,ose-aws-ecr-*,ose-azure-acr-*,ose-gcp-gcr-*' >> /etc/yum.repos.d/okd.repo.tmp
mv /etc/yum.repos.d/okd.repo{.tmp,}
fi
Expand All @@ -34,10 +37,8 @@ mkdir -p /var/opt
rpm-ostree experimental compose treefile-apply \
--var id=$ID /run/src/packages-openshift.yaml

# cleanup the repo file we injected
if [ "${OPENSHIFT_CI}" != 0 ]; then
rm /etc/yum.repos.d/ocp.repo
fi
# cleanup any repo files we injected
rm -f /etc/yum.repos.d/{ocp,git,okd}.repo

find /usr -name '*.pyc.bak' -exec sh -c 'mv $1 ${1%.bak}' _ {} \;
ostree container commit
36 changes: 36 additions & 0 deletions c10s-mirror.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# These are the official c10s repos. They are slower to update, but contain older
# versions of packages, which is useful when pinning for lack of a "coreos-pool"
# equivalent. When no pinning is needed you may find the compose repo URLs
# defined in c10s.repo are quicker to get new content.

[c10s-baseos-mirror]
name=CentOS Stream 10 - BaseOS
baseurl=https://mirror.stream.centos.org/10-stream/BaseOS/$basearch/os
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial-SHA256

[c10s-appstream-mirror]
name=CentOS Stream 10 - AppStream
baseurl=https://mirror.stream.centos.org/10-stream/AppStream/$basearch/os
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial-SHA256

[c10s-nfv-mirror]
name=CentOS Stream 10 - NFV
baseurl=https://mirror.stream.centos.org/10-stream/NFV/$basearch/os
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial-SHA256

[c10s-rt-mirror]
name=CentOS Stream 10 - RT
baseurl=https://mirror.stream.centos.org/10-stream/RT/$basearch/os
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial-SHA256
77 changes: 77 additions & 0 deletions c10s.repo
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# These are compose repo URLs that represent the latest composes in
# CentOS Stream 10. Sometimes these repos get content a little faster
# than the mirror repos defined in c10s-mirror.repo, but they won't
# have multiple versions of packages, which make them not ideal when
# needing to pin on older package versions.

[c10s-baseos]
name=CentOS Stream 10 - BaseOS
baseurl=https://composes.stream.centos.org/stream-10/production/latest-CentOS-Stream/compose/BaseOS/$basearch/os
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial-SHA256

[c10s-appstream]
name=CentOS Stream 10 - AppStream
baseurl=https://composes.stream.centos.org/stream-10/production/latest-CentOS-Stream/compose/AppStream/$basearch/os
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial-SHA256

[c10s-nfv]
name=CentOS Stream 10 - NFV
baseurl=https://composes.stream.centos.org/stream-10/production/latest-CentOS-Stream/compose/NFV/$basearch/os
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial-SHA256

[c10s-rt]
name=CentOS Stream 10 - RT
baseurl=https://composes.stream.centos.org/stream-10/production/latest-CentOS-Stream/compose/RT/$basearch/os
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial-SHA256

# Note: We can't find a composes.stream.centos.org URL for this repo
# so we use the mirror.stream.centos.org URL here.
[c10s-extras-common]
name=CentOS Stream 10 - Extras packages
baseurl=https://mirror.stream.centos.org/SIGs/10-stream/extras/$basearch/extras-common
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512

# Note: We can't find a composes.stream.centos.org URL for this repo
# so we use the mirror.stream.centos.org URL here.
[c10s-sig-nfv]
name=CentOS Stream 10 - SIG NFV
baseurl=https://mirror.stream.centos.org/SIGs/10-stream/nfv/$basearch/openvswitch-2/
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV

# Note: We can't find a composes.stream.centos.org URL for this repo
# so we use the mirror.stream.centos.org URL here.
[c10s-sig-virtualization]
name=CentOS Stream 10 - SIG Virtualization
baseurl=https://mirror.stream.centos.org/SIGs/10-stream/virt/$basearch/kata-containers/
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization

# Note: We can't find a composes.stream.centos.org URL for this repo
# so we use the mirror.stream.centos.org URL here.
[c10s-sig-cloud-okd]
name=CentOS Stream 10 - SIG Cloud OKD 4.19
baseurl=https://mirror.stream.centos.org/SIGs/10-stream/cloud/$basearch/okd-4.19/
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud
30 changes: 19 additions & 11 deletions c9s.repo
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,6 @@ repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

[c9s-extras-common]
name=CentOS Stream 9 - Extras packages
# Note: the hardcoded x86_64 is not a mistake. Extras just has noarch RPMs that
# contain GPG keys and repo files but for some reason only the x86_64 repo has
# them...
baseurl=https://mirror.stream.centos.org/SIGs/9-stream/extras/x86_64/extras-common
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512

[c9s-nfv]
name=CentOS Stream 9 - NFV
baseurl=https://composes.stream.centos.org/production/latest-CentOS-Stream/compose/NFV/$basearch/os
Expand All @@ -47,6 +36,21 @@ repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

# Note: the hardcoded x86_64 is not a mistake. Extras just has noarch RPMs that
# contain GPG keys and repo files but for some reason only the x86_64 repo has
# them... Drop hardcoded arch once https://pagure.io/centos-infra/issue/1635 is fixed
# Note: We can't find a composes.stream.centos.org URL for this repo
# so we use the mirror.stream.centos.org URL here.
[c9s-extras-common]
name=CentOS Stream 9 - Extras packages
baseurl=https://mirror.stream.centos.org/SIGs/9-stream/extras/x86_64/extras-common
gpgcheck=1
repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512

# Note: We can't find a composes.stream.centos.org URL for this repo
# so we use the mirror.stream.centos.org URL here.
[c9s-sig-nfv]
name=CentOS Stream 9 - SIG NFV
baseurl=https://mirror.stream.centos.org/SIGs/9-stream/nfv/$basearch/openvswitch-2/
Expand All @@ -55,6 +59,8 @@ repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-NFV

# Note: We can't find a composes.stream.centos.org URL for this repo
# so we use the mirror.stream.centos.org URL here.
[c9s-sig-virtualization]
name=CentOS Stream 9 - SIG Virtualization
baseurl=https://mirror.stream.centos.org/SIGs/9-stream/virt/$basearch/kata-containers/
Expand All @@ -63,6 +69,8 @@ repo_gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Virtualization

# Note: We can't find a composes.stream.centos.org URL for this repo
# so we use the mirror.stream.centos.org URL here.
[c9s-sig-cloud-okd]
name=CentOS Stream 9 - SIG Cloud OKD 4.19
baseurl=https://mirror.stream.centos.org/SIGs/9-stream/cloud/$basearch/okd-4.19/
Expand Down
44 changes: 10 additions & 34 deletions ci/prow-entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -82,16 +82,14 @@ cosa_build_extensions() {

# Build QEMU image and run all kola tests
kola_test_qemu() {
cosa buildextend-qemu
cosa osbuild qemu
cosa kola run --parallel 2 --output-dir ${ARTIFACT_DIR:-/tmp}/kola --rerun --allow-rerun-success tags=needs-internet "$@"
}

# Build metal, metal4k & live images and run kola tests
kola_test_metal() {
# Build metal + installer now so we can test them
cosa buildextend-metal
cosa buildextend-metal4k
cosa buildextend-live
cosa osbuild metal metal4k live

# Compress the metal and metal4k images now so we're testing
# installs with the image format we ship
Expand All @@ -101,34 +99,6 @@ kola_test_metal() {
kola testiso -S --output-dir ${ARTIFACT_DIR:-/tmp}/kola-testiso --denylist-test iso-offline-install-iscsi* --denylist-test pxe-offline-install.rootfs-appended.bios
}

# Ensure that we can create all platform images for COSA CI
cosa_buildextend_all() {
cosa buildextend-aliyun
cosa buildextend-aws
cosa buildextend-azure
cosa buildextend-azurestack
cosa buildextend-dasd
cosa buildextend-gcp
cosa buildextend-ibmcloud
cosa buildextend-kubevirt
cosa buildextend-live
cosa buildextend-metal
cosa buildextend-metal4k
cosa buildextend-nutanix
cosa buildextend-openstack
cosa buildextend-powervs
cosa buildextend-vmware

# Will be done in another step
# cosa buildextend-qemu

# Currently not available for RHCOS
# cosa buildextend-digitalocean
# cosa buildextend-exoscale
# cosa buildextend-virtualbox
# cosa buildextend-vultr
}

# Basic syntaxt validation for manifests
validate() {
# Create a temporary copy
Expand Down Expand Up @@ -312,10 +282,16 @@ main() {
kola_test_metal
;;
"scos-10-build-test-qemu")
exit 0
setup_user
cosa_init "c10s"
Comment thread
jlebon marked this conversation as resolved.
cosa_build
kola_test_qemu --tag '!openshift'
;;
"scos-10-build-test-metal")
exit 0
setup_user
cosa_init "c10s"
cosa_build
kola_test_metal
;;
"rhcos-10-build-test-qemu")
exit 0
Expand Down
19 changes: 9 additions & 10 deletions common.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,18 @@ conditional-include:
- if: basearch != "s390x"
# And remove some cruft from grub2
include: fedora-coreos-config/manifests/grub2-removals.yaml
- if: osversion == "c9s"
include: manifest-el9-shared.yaml
- if: osversion == "rhel-9.6"
include: manifest-el9-shared.yaml
# Packages specific to el9
- if: osversion == "c9s"
include: fedora-coreos-config/manifests/shared-el9.yaml
include:
- fedora-coreos-config/manifests/shared-el9.yaml
- manifest-el9-shared.yaml
- if: osversion == "rhel-9.6"
include: fedora-coreos-config/manifests/shared-el9.yaml
include:
- fedora-coreos-config/manifests/shared-el9.yaml
- manifest-el9-shared.yaml
- if: osversion == "c10s"
include:
- fedora-coreos-config/manifests/shared-el10.yaml
- if: inherit_tier_x == true
include: fedora-coreos-config/manifests/tier-x.yaml
- if: inherit_tier_x == false
Expand Down Expand Up @@ -222,7 +225,6 @@ packages:
# Bootloader updater
- bootupd
# Containers
- containernetworking-plugins
- container-selinux
# Needed for newer rpm-ostree
- "'skopeo >= 2:1.7.0'"
Expand Down Expand Up @@ -253,9 +255,6 @@ packages:
- qemu-guest-agent
# passwd was obsoleted by shadow-utils in F40+, but still needed here
- passwd
# Gluster - Used for Openshift e2e gluster testcases
# Reverts https://gitlab.cee.redhat.com/coreos/redhat-coreos/merge_requests/367 and add it for all arches
- glusterfs-fuse
# Needed for kernel-devel extension: https://bugzilla.redhat.com/show_bug.cgi?id=1885408
# x86_64 and s390x have these packages installed as dependencies of other packages, ppc64le does not
# FIXME: once the below BZs have been resolved to remove perl dependencies, this can be done in the extensions script
Expand Down
Loading