diff --git a/.gitignore b/.gitignore index b4d89b587..3bf5c6d47 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /*.repo /content_sets.yaml +/manifest.yaml +/extensions.yaml diff --git a/c9s.yaml b/c9s.yaml new file mode 100644 index 000000000..e6641463f --- /dev/null +++ b/c9s.yaml @@ -0,0 +1,142 @@ +# Manifest for CentOS Stream CoreOS (SCOS) + +rojig: + license: MIT + name: scos + summary: OKD 4 + +variables: + distro: "scos" + version: "9" + +# Include manifests common to all RHEL and CentOS Stream versions +include: + - common.yaml + +# Starting from here, everything should be specific to SCOS + +# CentOS Stream 9 repos + internal repos for now +repos: + - baseos + - appstream + - openvswitch + # Temporarily inlcude internal repo for cri-o, oc & hyperkube + - rhel-8-server-ose + +# We include hours/minutes to avoid version number reuse +automatic-version-prefix: "412.91." +# 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.12" + +postprocess: + - | + #!/usr/bin/env bash + set -xeo pipefail + + # Tweak /usr/lib/os-release + grep -v "OSTREE_VERSION" /etc/os-release > /usr/lib/os-release.stream + OCP_RELEASE="4.12" + ( + . /etc/os-release + cat > /usr/lib/os-release < /usr/lib/system-release-cpe < /usr/lib/system-release < /usr/lib/issue < /etc/motd <> /etc/crio/crio.conf < "src/config/c9s.repo" + # Temporary workaround until we have all packages for SCOS + curl -L "http://base-${ocpver_mut}-rhel86.ocp.svc.cluster.local" -o "src/config/tmp.repo" + awk '/rhel-8-server-ose/,/^$/' "src/config/tmp.repo" > "src/config/ocp.repo" + echo "includepkgs=cri-o,cri-tools,openshift-clients,openshift-hyperkube" >> "src/config/ocp.repo" + rm "src/config/tmp.repo" fi # Fetch packages @@ -171,20 +182,48 @@ main () { cosa_build ;; "rhcos-cosa-prow-pr-ci" | "rhcos-86-build-test-qemu") - RHELVER="rhel-8.6" + OSVER="rhel-8.6" setup_user cosa_init cosa_build kola_test_qemu ;; "rhcos-86-build-test-metal") - RHELVER="rhel-8.6" + OSVER="rhel-8.6" + setup_user + cosa_init + cosa_build + kola_test_metal + ;; + "rhcos-90-build-test-qemu") + OSVER="rhel-9.0" + setup_user + cosa_init + cosa_build + kola_test_qemu + ;; + "rhcos-90-build-test-metal" ) + OSVER="rhel-9.0" + setup_user + cosa_init + cosa_build + kola_test_metal + ;; + "scos-9-build-test-qemu") + OSVER="c9s" + setup_user + cosa_init + cosa_build + kola_test_qemu + ;; + "scos-9-build-test-metal" ) + OSVER="c9s" setup_user cosa_init cosa_build kola_test_metal ;; - "rhcos-90-build-test-qemu" | "rhcos-90-build-test-metal" | "scos-9-build-test-qemu" | "scos-9-build-test-metal") + "explicitely-disabled-test") echo "Disabled tests" exit 0 ;; diff --git a/extensions-c9s.yaml b/extensions-c9s.yaml new file mode 100644 index 000000000..bc841d11c --- /dev/null +++ b/extensions-c9s.yaml @@ -0,0 +1,62 @@ +# 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: + - 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 + modules: + enable: + - virt:rhel + repos: + - appstream + packages: + - kata-containers diff --git a/extensions-rhel-9.0.yaml b/extensions-rhel-9.0.yaml new file mode 100644 index 000000000..f3e241d8a --- /dev/null +++ b/extensions-rhel-9.0.yaml @@ -0,0 +1,62 @@ +# 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-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 + modules: + enable: + - virt:rhel + repos: + - rhel-9-appstream + packages: + - kata-containers diff --git a/extensions.yaml b/extensions.yaml deleted file mode 120000 index 051d254e5..000000000 --- a/extensions.yaml +++ /dev/null @@ -1 +0,0 @@ -extensions-rhel-8.6.yaml \ No newline at end of file diff --git a/manifest.yaml b/manifest.yaml deleted file mode 120000 index e3f5abc13..000000000 --- a/manifest.yaml +++ /dev/null @@ -1 +0,0 @@ -rhel-8.6.yaml \ No newline at end of file diff --git a/repos/c9s.repo b/repos/c9s.repo new file mode 100644 index 000000000..0433a5ce4 --- /dev/null +++ b/repos/c9s.repo @@ -0,0 +1,39 @@ +[baseos] +name=CentOS Stream 9 - BaseOS +baseurl=http://mirror.stream.centos.org/9-stream/BaseOS/$basearch/os +gpgcheck=1 +repo_gpgcheck=0 +enabled=1 +gpgkey=file:///tmp/RPM-GPG-KEY-centosofficial + +[appstream] +name=CentOS Stream 9 - AppStream +baseurl=http://mirror.stream.centos.org/9-stream/AppStream/$basearch/os +gpgcheck=1 +repo_gpgcheck=0 +enabled=1 +gpgkey=file:///tmp/RPM-GPG-KEY-centosofficial + +[nfv] +name=CentOS Stream 9 - NFV +baseurl=http://mirror.stream.centos.org/9-stream/NFV/$basearch/os +gpgcheck=1 +repo_gpgcheck=0 +enabled=1 +gpgkey=file:///tmp/RPM-GPG-KEY-centosofficial + +[rt] +name=CentOS Stream 9 - RT +baseurl=http://mirror.stream.centos.org/9-stream/RT/$basearch/os +gpgcheck=1 +repo_gpgcheck=0 +enabled=1 +gpgkey=file:///tmp/RPM-GPG-KEY-centosofficial + +[openvswitch] +name=CentOS Stream 9 OpenvSwitch +baseurl=http://mirror.stream.centos.org/SIGs/9-stream/nfv/x86_64/openvswitch-2/ +gpgcheck=0 +repo_gpgcheck=0 +enabled=1 +# gpgkey=file:///tmp/RPM-GPG-KEY-centosofficial diff --git a/rhel-9.0.yaml b/rhel-9.0.yaml new file mode 100644 index 000000000..43f0b77f4 --- /dev/null +++ b/rhel-9.0.yaml @@ -0,0 +1,161 @@ +# Manifest for RHCOS based on RHEL 9.0 + +rojig: + license: MIT + name: rhcos + summary: OpenShift 4 + +variables: + distro: "rhel" + version: "9.0" + +# Include manifests common to all RHEL and CentOS Stream versions +include: + - common.yaml + +# Starting from here, everything should be specific to RHCOS based on RHEL 9.0 + +# See README.md +# and https://github.com/openshift/release/blob/master/core-services/release-controller/README.md#rpm-mirrors +repos: + - rhel-9-baseos + - rhel-9-appstream + - rhel-9-fast-datapath + # Temporarily disabled until available + # - rhel-9-server-ose + - rhel-8-server-ose + +# We include hours/minutes to avoid version number reuse +automatic-version-prefix: "412.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.12" + +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.12" + ( + . /etc/os-release + cat > /usr/lib/os-release < /usr/lib/system-release-cpe < /usr/lib/system-release < /usr/lib/issue < /etc/motd <> /etc/crio/crio.conf <