From b2550d5ccb4c2888152fed62927331713b22208b Mon Sep 17 00:00:00 2001 From: Ricardo Maraschini Date: Tue, 20 Aug 2024 15:56:28 +0200 Subject: [PATCH] feat: add support for amazon linux 2023 (#5336) * feat: add support for amazon linux 2023 adds support for amazon linux 2023. one thing is different in comparison with other operating system's, we do not install containerd.io package, we go with the default containerd provided by amazon. * chore: adding amazon 2023 to testgrid * chore: disable docker tests on amazon 2023 --- .gitignore | 1 + Makefile | 15 +++ addons/collectd/v5/install.sh | 2 +- addons/containerd/1.3.7/host-preflight.yaml | 3 + addons/containerd/1.3.9/host-preflight.yaml | 3 + addons/containerd/1.4.10/host-preflight.yaml | 3 + addons/containerd/1.4.11/host-preflight.yaml | 3 + addons/containerd/1.4.12/host-preflight.yaml | 3 + addons/containerd/1.4.13/host-preflight.yaml | 3 + addons/containerd/1.4.3/host-preflight.yaml | 3 + addons/containerd/1.4.4/host-preflight.yaml | 3 + addons/containerd/1.4.6/host-preflight.yaml | 3 + addons/containerd/1.4.8/host-preflight.yaml | 3 + addons/containerd/1.4.9/host-preflight.yaml | 3 + addons/containerd/1.5.10/host-preflight.yaml | 3 + addons/containerd/1.5.10/install.sh | 45 ++++++-- addons/containerd/1.5.11/host-preflight.yaml | 3 + addons/containerd/1.5.11/install.sh | 45 ++++++-- addons/containerd/1.6.10/host-preflight.yaml | 3 + addons/containerd/1.6.10/install.sh | 45 ++++++-- addons/containerd/1.6.11/host-preflight.yaml | 3 + addons/containerd/1.6.11/install.sh | 45 ++++++-- addons/containerd/1.6.12/host-preflight.yaml | 3 + addons/containerd/1.6.12/install.sh | 45 ++++++-- addons/containerd/1.6.13/host-preflight.yaml | 3 + addons/containerd/1.6.13/install.sh | 45 ++++++-- addons/containerd/1.6.14/host-preflight.yaml | 3 + addons/containerd/1.6.14/install.sh | 45 ++++++-- addons/containerd/1.6.15/host-preflight.yaml | 3 + addons/containerd/1.6.15/install.sh | 45 ++++++-- addons/containerd/1.6.16/host-preflight.yaml | 3 + addons/containerd/1.6.16/install.sh | 45 ++++++-- addons/containerd/1.6.18/host-preflight.yaml | 3 + addons/containerd/1.6.18/install.sh | 45 ++++++-- addons/containerd/1.6.19/host-preflight.yaml | 3 + addons/containerd/1.6.19/install.sh | 45 ++++++-- addons/containerd/1.6.20/host-preflight.yaml | 3 + addons/containerd/1.6.20/install.sh | 45 ++++++-- addons/containerd/1.6.21/host-preflight.yaml | 3 + addons/containerd/1.6.21/install.sh | 45 ++++++-- addons/containerd/1.6.22/host-preflight.yaml | 3 + addons/containerd/1.6.22/install.sh | 45 ++++++-- addons/containerd/1.6.24/host-preflight.yaml | 3 + addons/containerd/1.6.24/install.sh | 45 ++++++-- addons/containerd/1.6.25/host-preflight.yaml | 3 + addons/containerd/1.6.25/install.sh | 45 ++++++-- addons/containerd/1.6.26/host-preflight.yaml | 3 + addons/containerd/1.6.26/install.sh | 45 ++++++-- addons/containerd/1.6.27/host-preflight.yaml | 3 + addons/containerd/1.6.27/install.sh | 45 ++++++-- addons/containerd/1.6.28/host-preflight.yaml | 3 + addons/containerd/1.6.28/install.sh | 45 ++++++-- addons/containerd/1.6.31/host-preflight.yaml | 3 + addons/containerd/1.6.31/install.sh | 45 ++++++-- addons/containerd/1.6.32/host-preflight.yaml | 3 + addons/containerd/1.6.32/install.sh | 45 ++++++-- addons/containerd/1.6.33/host-preflight.yaml | 3 + addons/containerd/1.6.33/install.sh | 45 ++++++-- addons/containerd/1.6.4/host-preflight.yaml | 3 + addons/containerd/1.6.4/install.sh | 45 ++++++-- addons/containerd/1.6.6/host-preflight.yaml | 3 + addons/containerd/1.6.6/install.sh | 45 ++++++-- addons/containerd/1.6.7/host-preflight.yaml | 3 + addons/containerd/1.6.7/install.sh | 45 ++++++-- addons/containerd/1.6.8/host-preflight.yaml | 3 + addons/containerd/1.6.8/install.sh | 45 ++++++-- addons/containerd/1.6.9/host-preflight.yaml | 3 + addons/containerd/1.6.9/install.sh | 45 ++++++-- addons/containerd/template/base/install.sh | 45 ++++++-- addons/containerd/template/script.sh | 57 +++++----- .../template/testgrid/k8s-ctrd.yaml | 2 + .../flannel/template/testgrid/k8s-ctrd.yaml | 2 + addons/longhorn/1.1.0/install.sh | 4 +- addons/longhorn/1.1.1/install.sh | 4 +- addons/longhorn/1.1.2/install.sh | 4 +- .../template/testgrid/k8s-docker-localpv.yaml | 1 + addons/rook/1.0.4-14.2.21/install.sh | 2 +- addons/rook/1.0.4/install.sh | 2 +- addons/rook/1.10.11/install.sh | 2 +- addons/rook/1.10.6/install.sh | 2 +- addons/rook/1.10.8/install.sh | 2 +- addons/rook/1.11.2/install.sh | 2 +- addons/rook/1.11.3/install.sh | 2 +- addons/rook/1.11.4/install.sh | 2 +- addons/rook/1.11.5/install.sh | 2 +- addons/rook/1.11.6/install.sh | 2 +- addons/rook/1.11.7/install.sh | 2 +- addons/rook/1.11.8/install.sh | 2 +- addons/rook/1.12.0/install.sh | 2 +- addons/rook/1.12.1/install.sh | 2 +- addons/rook/1.12.2/install.sh | 2 +- addons/rook/1.12.3/install.sh | 2 +- addons/rook/1.12.4/install.sh | 2 +- addons/rook/1.12.5/install.sh | 2 +- addons/rook/1.12.6/install.sh | 2 +- addons/rook/1.12.7/install.sh | 2 +- addons/rook/1.12.8/install.sh | 2 +- addons/rook/1.4.3/install.sh | 2 +- addons/rook/1.4.9/install.sh | 2 +- addons/rook/1.5.10/install.sh | 2 +- addons/rook/1.5.11/install.sh | 2 +- addons/rook/1.5.12/install.sh | 2 +- addons/rook/1.5.9/install.sh | 2 +- addons/rook/1.6.11/install.sh | 2 +- addons/rook/1.7.11/install.sh | 2 +- addons/rook/1.8.10/install.sh | 2 +- addons/rook/1.9.12/install.sh | 2 +- addons/rook/template/base/install.sh | 2 +- addons/velero/1.10.1/install.sh | 2 +- addons/velero/1.10.2/install.sh | 2 +- addons/velero/1.11.0/install.sh | 2 +- addons/velero/1.11.1/install.sh | 2 +- addons/velero/1.12.0/install.sh | 2 +- addons/velero/1.12.1/install.sh | 2 +- addons/velero/1.12.2/install.sh | 2 +- addons/velero/1.12.3/install.sh | 2 +- addons/velero/1.13.1/install.sh | 2 +- addons/velero/1.13.2/install.sh | 2 +- addons/velero/1.14.0/install.sh | 2 +- addons/velero/1.5.1/install.sh | 2 +- addons/velero/1.5.3/install.sh | 2 +- addons/velero/1.5.4/install.sh | 2 +- addons/velero/1.6.0/install.sh | 2 +- addons/velero/1.6.1/install.sh | 2 +- addons/velero/1.6.2/install.sh | 2 +- addons/velero/1.7.1/install.sh | 2 +- addons/velero/1.8.1/install.sh | 2 +- addons/velero/1.9.0/install.sh | 2 +- addons/velero/1.9.1/install.sh | 2 +- addons/velero/1.9.2/install.sh | 2 +- addons/velero/1.9.3/install.sh | 2 +- addons/velero/1.9.4/install.sh | 2 +- addons/velero/1.9.5/install.sh | 2 +- addons/velero/template/base/install.tmpl.sh | 2 +- bin/containertools/Dockerfile.amazon2023 | 16 +++ bin/containertools/builddeps.sh | 10 ++ bin/save-manifest-assets.sh | 104 ++++++++++++++++++ bundles/k8s-amazon2023/Dockerfile | 26 +++++ .../containertools/builddeps.sh | 24 ++++ .../containertools/createrepo.sh | 7 ++ .../containertools/yumdownloader.sh | 12 ++ bundles/k8s-amazon2023/kubernetes.repo | 7 ++ scripts/common/common.sh | 10 +- scripts/common/discover.sh | 3 +- scripts/common/host-packages.sh | 63 +++++++++-- scripts/common/kubernetes.sh | 6 +- scripts/common/longhorn.sh | 4 +- scripts/common/preflights.sh | 8 +- testgrid/specs/customer-migration-specs.yaml | 6 + testgrid/specs/deploy.yaml | 1 + testgrid/specs/full.yaml | 3 + testgrid/specs/os-firstlast.yaml | 6 + testgrid/specs/os-full.yaml | 6 + testgrid/specs/os-latest.yaml | 7 +- testgrid/specs/storage-migration.yaml | 4 + 155 files changed, 1495 insertions(+), 420 deletions(-) create mode 100644 bin/containertools/Dockerfile.amazon2023 create mode 100644 bundles/k8s-amazon2023/Dockerfile create mode 100755 bundles/k8s-amazon2023/containertools/builddeps.sh create mode 100755 bundles/k8s-amazon2023/containertools/createrepo.sh create mode 100755 bundles/k8s-amazon2023/containertools/yumdownloader.sh create mode 100644 bundles/k8s-amazon2023/kubernetes.repo diff --git a/.gitignore b/.gitignore index 014b209a22..8b2314e134 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ addons/*/*/assets addons/*/*/images addons/*/*/rhel-* addons/*/*/ubuntu-* +addons/*/*/amazon-* packages/*/*/assets packages/*/*/images packages/*/*/rhel-* diff --git a/Makefile b/Makefile index 36cf633c15..6c3adb39c3 100644 --- a/Makefile +++ b/Makefile @@ -527,6 +527,21 @@ build/packages/kubernetes/%/rhel-9: find build/packages/kubernetes/$*/rhel-9 | grep kubectl | grep -v kubectl-$* | xargs rm -vf docker rm k8s-rhel9-$* +build/packages/kubernetes/%/amazon-2023: + docker build \ + --build-arg KUBERNETES_VERSION=$* \ + --build-arg KUBERNETES_MINOR_VERSION=$(shell echo $* | sed 's/\.[0-9]*$$//') \ + -t kurl/amazon-2023-k8s:$* \ + -f bundles/k8s-amazon2023/Dockerfile \ + bundles/k8s-amazon2023 + -docker rm -f k8s-amazon2023-$* 2>/dev/null + docker create --name k8s-amazon2023-$* kurl/amazon-2023-k8s:$* + mkdir -p build/packages/kubernetes/$*/amazon-2023 + docker cp k8s-amazon2023-$*:/packages/archives/. build/packages/kubernetes/$*/amazon-2023/ + find build/packages/kubernetes/$*/amazon-2023 | grep kubelet | grep -v kubelet-$* | xargs rm -vf + find build/packages/kubernetes/$*/amazon-2023 | grep kubectl | grep -v kubectl-$* | xargs rm -vf + docker rm k8s-amazon2023-$* + build/templates: build/templates/install.tmpl build/templates/join.tmpl build/templates/upgrade.tmpl build/templates/tasks.tmpl .PHONY: build/bin ## Build kurl binary diff --git a/addons/collectd/v5/install.sh b/addons/collectd/v5/install.sh index 88cbdded2e..cd60f00f36 100644 --- a/addons/collectd/v5/install.sh +++ b/addons/collectd/v5/install.sh @@ -13,7 +13,7 @@ function collectd() { ;; centos|rhel|ol|rocky|amzn) - if [ "$DIST_VERSION_MAJOR" = "8" ] || [ "$DIST_VERSION_MAJOR" = "9" ]; then + if [ "$DIST_VERSION_MAJOR" = "8" ] || [ "$DIST_VERSION_MAJOR" = "9" ] || [ "$DIST_VERSION_MAJOR" = "2023" ] ; then yum_install_host_archives "$src" collectd collectd-rrdtool collectd-disk else yum_install_host_archives "$src" collectd collectd-rrdtool diff --git a/addons/containerd/1.3.7/host-preflight.yaml b/addons/containerd/1.3.7/host-preflight.yaml index 76b50139b0..8688be7918 100644 --- a/addons/containerd/1.3.7/host-preflight.yaml +++ b/addons/containerd/1.3.7/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.3.9/host-preflight.yaml b/addons/containerd/1.3.9/host-preflight.yaml index 76b50139b0..8688be7918 100644 --- a/addons/containerd/1.3.9/host-preflight.yaml +++ b/addons/containerd/1.3.9/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.4.10/host-preflight.yaml b/addons/containerd/1.4.10/host-preflight.yaml index b5a45fee82..f4e649c810 100644 --- a/addons/containerd/1.4.10/host-preflight.yaml +++ b/addons/containerd/1.4.10/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.4.11/host-preflight.yaml b/addons/containerd/1.4.11/host-preflight.yaml index b5a45fee82..f4e649c810 100644 --- a/addons/containerd/1.4.11/host-preflight.yaml +++ b/addons/containerd/1.4.11/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.4.12/host-preflight.yaml b/addons/containerd/1.4.12/host-preflight.yaml index b5a45fee82..f4e649c810 100644 --- a/addons/containerd/1.4.12/host-preflight.yaml +++ b/addons/containerd/1.4.12/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.4.13/host-preflight.yaml b/addons/containerd/1.4.13/host-preflight.yaml index b5a45fee82..f4e649c810 100644 --- a/addons/containerd/1.4.13/host-preflight.yaml +++ b/addons/containerd/1.4.13/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.4.3/host-preflight.yaml b/addons/containerd/1.4.3/host-preflight.yaml index 76b50139b0..8688be7918 100644 --- a/addons/containerd/1.4.3/host-preflight.yaml +++ b/addons/containerd/1.4.3/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.4.4/host-preflight.yaml b/addons/containerd/1.4.4/host-preflight.yaml index 76b50139b0..8688be7918 100644 --- a/addons/containerd/1.4.4/host-preflight.yaml +++ b/addons/containerd/1.4.4/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.4.6/host-preflight.yaml b/addons/containerd/1.4.6/host-preflight.yaml index 76b50139b0..8688be7918 100644 --- a/addons/containerd/1.4.6/host-preflight.yaml +++ b/addons/containerd/1.4.6/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.4.8/host-preflight.yaml b/addons/containerd/1.4.8/host-preflight.yaml index b5a45fee82..f4e649c810 100644 --- a/addons/containerd/1.4.8/host-preflight.yaml +++ b/addons/containerd/1.4.8/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.4.9/host-preflight.yaml b/addons/containerd/1.4.9/host-preflight.yaml index b5a45fee82..f4e649c810 100644 --- a/addons/containerd/1.4.9/host-preflight.yaml +++ b/addons/containerd/1.4.9/host-preflight.yaml @@ -26,3 +26,6 @@ spec: - fail: when: "ubuntu = 22.04" message: "containerd addon does not support ubuntu 22.04" + - fail: + when: "amazon >= 2023" + message: "containerd addon does not support amazon 2023" diff --git a/addons/containerd/1.5.10/host-preflight.yaml b/addons/containerd/1.5.10/host-preflight.yaml index 5449373bb2..7ce02a1bfd 100644 --- a/addons/containerd/1.5.10/host-preflight.yaml +++ b/addons/containerd/1.5.10/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.5.10/install.sh b/addons/containerd/1.5.10/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.5.10/install.sh +++ b/addons/containerd/1.5.10/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.5.11/host-preflight.yaml b/addons/containerd/1.5.11/host-preflight.yaml index 5449373bb2..7ce02a1bfd 100644 --- a/addons/containerd/1.5.11/host-preflight.yaml +++ b/addons/containerd/1.5.11/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.5.11/install.sh b/addons/containerd/1.5.11/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.5.11/install.sh +++ b/addons/containerd/1.5.11/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.10/host-preflight.yaml b/addons/containerd/1.6.10/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.10/host-preflight.yaml +++ b/addons/containerd/1.6.10/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.10/install.sh b/addons/containerd/1.6.10/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.10/install.sh +++ b/addons/containerd/1.6.10/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.11/host-preflight.yaml b/addons/containerd/1.6.11/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.11/host-preflight.yaml +++ b/addons/containerd/1.6.11/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.11/install.sh b/addons/containerd/1.6.11/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.11/install.sh +++ b/addons/containerd/1.6.11/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.12/host-preflight.yaml b/addons/containerd/1.6.12/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.12/host-preflight.yaml +++ b/addons/containerd/1.6.12/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.12/install.sh b/addons/containerd/1.6.12/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.12/install.sh +++ b/addons/containerd/1.6.12/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.13/host-preflight.yaml b/addons/containerd/1.6.13/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.13/host-preflight.yaml +++ b/addons/containerd/1.6.13/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.13/install.sh b/addons/containerd/1.6.13/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.13/install.sh +++ b/addons/containerd/1.6.13/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.14/host-preflight.yaml b/addons/containerd/1.6.14/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.14/host-preflight.yaml +++ b/addons/containerd/1.6.14/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.14/install.sh b/addons/containerd/1.6.14/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.14/install.sh +++ b/addons/containerd/1.6.14/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.15/host-preflight.yaml b/addons/containerd/1.6.15/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.15/host-preflight.yaml +++ b/addons/containerd/1.6.15/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.15/install.sh b/addons/containerd/1.6.15/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.15/install.sh +++ b/addons/containerd/1.6.15/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.16/host-preflight.yaml b/addons/containerd/1.6.16/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.16/host-preflight.yaml +++ b/addons/containerd/1.6.16/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.16/install.sh b/addons/containerd/1.6.16/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.16/install.sh +++ b/addons/containerd/1.6.16/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.18/host-preflight.yaml b/addons/containerd/1.6.18/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.18/host-preflight.yaml +++ b/addons/containerd/1.6.18/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.18/install.sh b/addons/containerd/1.6.18/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.18/install.sh +++ b/addons/containerd/1.6.18/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.19/host-preflight.yaml b/addons/containerd/1.6.19/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.19/host-preflight.yaml +++ b/addons/containerd/1.6.19/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.19/install.sh b/addons/containerd/1.6.19/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.19/install.sh +++ b/addons/containerd/1.6.19/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.20/host-preflight.yaml b/addons/containerd/1.6.20/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.20/host-preflight.yaml +++ b/addons/containerd/1.6.20/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.20/install.sh b/addons/containerd/1.6.20/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.20/install.sh +++ b/addons/containerd/1.6.20/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.21/host-preflight.yaml b/addons/containerd/1.6.21/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.21/host-preflight.yaml +++ b/addons/containerd/1.6.21/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.21/install.sh b/addons/containerd/1.6.21/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.21/install.sh +++ b/addons/containerd/1.6.21/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.22/host-preflight.yaml b/addons/containerd/1.6.22/host-preflight.yaml index 4f53298f43..e5ccf5e47a 100644 --- a/addons/containerd/1.6.22/host-preflight.yaml +++ b/addons/containerd/1.6.22/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.22/install.sh b/addons/containerd/1.6.22/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.22/install.sh +++ b/addons/containerd/1.6.22/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.24/host-preflight.yaml b/addons/containerd/1.6.24/host-preflight.yaml index adb0c82f0e..0bab075b72 100644 --- a/addons/containerd/1.6.24/host-preflight.yaml +++ b/addons/containerd/1.6.24/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.24/install.sh b/addons/containerd/1.6.24/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.24/install.sh +++ b/addons/containerd/1.6.24/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.25/host-preflight.yaml b/addons/containerd/1.6.25/host-preflight.yaml index 35d7603c00..b2bdd656a8 100644 --- a/addons/containerd/1.6.25/host-preflight.yaml +++ b/addons/containerd/1.6.25/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.25/install.sh b/addons/containerd/1.6.25/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.25/install.sh +++ b/addons/containerd/1.6.25/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.26/host-preflight.yaml b/addons/containerd/1.6.26/host-preflight.yaml index 628a2f3623..1a92c8768e 100644 --- a/addons/containerd/1.6.26/host-preflight.yaml +++ b/addons/containerd/1.6.26/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.26/install.sh b/addons/containerd/1.6.26/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.26/install.sh +++ b/addons/containerd/1.6.26/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.27/host-preflight.yaml b/addons/containerd/1.6.27/host-preflight.yaml index d4674227e9..088d6c56ce 100644 --- a/addons/containerd/1.6.27/host-preflight.yaml +++ b/addons/containerd/1.6.27/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.27/install.sh b/addons/containerd/1.6.27/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.27/install.sh +++ b/addons/containerd/1.6.27/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.28/host-preflight.yaml b/addons/containerd/1.6.28/host-preflight.yaml index d80f889335..b200e5a5d0 100644 --- a/addons/containerd/1.6.28/host-preflight.yaml +++ b/addons/containerd/1.6.28/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.28/install.sh b/addons/containerd/1.6.28/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.28/install.sh +++ b/addons/containerd/1.6.28/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.31/host-preflight.yaml b/addons/containerd/1.6.31/host-preflight.yaml index af613f264e..13f0479c27 100644 --- a/addons/containerd/1.6.31/host-preflight.yaml +++ b/addons/containerd/1.6.31/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.31/install.sh b/addons/containerd/1.6.31/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.31/install.sh +++ b/addons/containerd/1.6.31/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.32/host-preflight.yaml b/addons/containerd/1.6.32/host-preflight.yaml index 72a0503e62..9433755880 100644 --- a/addons/containerd/1.6.32/host-preflight.yaml +++ b/addons/containerd/1.6.32/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.32/install.sh b/addons/containerd/1.6.32/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.32/install.sh +++ b/addons/containerd/1.6.32/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.33/host-preflight.yaml b/addons/containerd/1.6.33/host-preflight.yaml index 60ecb69df6..88b8f3e102 100644 --- a/addons/containerd/1.6.33/host-preflight.yaml +++ b/addons/containerd/1.6.33/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.33/install.sh b/addons/containerd/1.6.33/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.33/install.sh +++ b/addons/containerd/1.6.33/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.4/host-preflight.yaml b/addons/containerd/1.6.4/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.4/host-preflight.yaml +++ b/addons/containerd/1.6.4/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.4/install.sh b/addons/containerd/1.6.4/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.4/install.sh +++ b/addons/containerd/1.6.4/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.6/host-preflight.yaml b/addons/containerd/1.6.6/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.6/host-preflight.yaml +++ b/addons/containerd/1.6.6/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.6/install.sh b/addons/containerd/1.6.6/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.6/install.sh +++ b/addons/containerd/1.6.6/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.7/host-preflight.yaml b/addons/containerd/1.6.7/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.7/host-preflight.yaml +++ b/addons/containerd/1.6.7/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.7/install.sh b/addons/containerd/1.6.7/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.7/install.sh +++ b/addons/containerd/1.6.7/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.8/host-preflight.yaml b/addons/containerd/1.6.8/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.8/host-preflight.yaml +++ b/addons/containerd/1.6.8/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.8/install.sh b/addons/containerd/1.6.8/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.8/install.sh +++ b/addons/containerd/1.6.8/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/1.6.9/host-preflight.yaml b/addons/containerd/1.6.9/host-preflight.yaml index 3205020404..ccfc87cdec 100644 --- a/addons/containerd/1.6.9/host-preflight.yaml +++ b/addons/containerd/1.6.9/host-preflight.yaml @@ -50,3 +50,6 @@ spec: - pass: when: "ubuntu = 22.04" message: "containerd addon supports ubuntu 22.04" + - pass: + when: "amazon >= 2023" + message: "containerd addon supports amazon 2023" diff --git a/addons/containerd/1.6.9/install.sh b/addons/containerd/1.6.9/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/1.6.9/install.sh +++ b/addons/containerd/1.6.9/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/template/base/install.sh b/addons/containerd/template/base/install.sh index a0900b2fc0..930dc15333 100644 --- a/addons/containerd/template/base/install.sh +++ b/addons/containerd/template/base/install.sh @@ -26,22 +26,30 @@ function containerd_join() { } function containerd_install() { + if is_amazon_2023; then + require_amazon2023_containerd + log "Using containerd version provided by the Operating System." + if ! systemctl is-active --quiet containerd; then + systemctl start containerd + fi + fi + local src="$DIR/addons/containerd/$CONTAINERD_VERSION" if ! containerd_xfs_ftype_enabled; then bail "The filesystem mounted at /var/lib/containerd does not have ftype enabled" fi - containerd_migrate_from_docker - - containerd_install_container_selinux_if_missing - install_host_packages "$src" containerd.io - - chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc - # If the runc binary is executing the cp command will fail with "text file busy" error. - # Containerd uses runc in detached mode so any runc processes should be short-lived and exit - # as soon as the container starts - try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + if ! is_amazon_2023; then + containerd_migrate_from_docker + containerd_install_container_selinux_if_missing + install_host_packages "$src" containerd.io + chmod +x ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc + # If the runc binary is executing the cp command will fail with "text file busy" error. + # Containerd uses runc in detached mode so any runc processes should be short-lived and exit + # as soon as the container starts + try_1m_stderr cp ${DIR}/addons/containerd/${CONTAINERD_VERSION}/assets/runc $(which runc) + fi logStep "Containerd configuration" containerd_configure @@ -109,6 +117,7 @@ function containerd_install() { function containerd_host_init() { require_centos8_containerd + require_amazon2023_containerd containerd_install_libzstd_if_missing } @@ -121,7 +130,7 @@ function containerd_install_libzstd_if_missing() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package libzstd else yum_install_host_archives "$src" libzstd @@ -396,6 +405,20 @@ function containerd_kubernetes_pause_image() { fi } +# require_amazon2023_containerd makes sure the OS version of containerd is +# installed. +function require_amazon2023_containerd() { + if ! is_amazon_2023 ; then + return + fi + + if yum_is_host_package_installed containerd ; then + return + fi + + bail "Containerd is not installed, please install it using the following command: dnf install -y containerd" +} + function require_centos8_containerd() { if [ "$LSB_DIST" == "centos" ] && [ "$DIST_VERSION_MAJOR" == "8" ]; then # if this is not centos 8 Stream, require preinstallation of containerd on 1.6.31+ diff --git a/addons/containerd/template/script.sh b/addons/containerd/template/script.sh index 120ff621b3..4a428f4e23 100755 --- a/addons/containerd/template/script.sh +++ b/addons/containerd/template/script.sh @@ -95,12 +95,13 @@ EOT function add_unsupported_os_to_preflight_file() { local version=$1 local os_distro=$2 - local os_version=$3 + local operator=$3 + local os_version=$4 local file=/tmp/containerd/$version/host-preflight.yaml cat <> $file - fail: - when: "$os_distro = $os_version" + when: "$os_distro $operator $os_version" message: "containerd addon does not support $os_distro $os_version" EOT } @@ -108,12 +109,13 @@ EOT function add_supported_os_to_preflight_file() { local version=$1 local os_distro=$2 - local os_version=$3 + local operator=$3 + local os_version=$4 local file=/tmp/containerd/$version/host-preflight.yaml cat <> $file - pass: - when: "$os_distro = $os_version" + when: "$os_distro $operator $os_version" message: "containerd addon supports $os_distro $os_version" EOT } @@ -200,9 +202,9 @@ function find_common_versions() { add_override_os_to_manifest_file "$version" "${CENTOS7_VERSIONS[0]}" "rhel-7" "Dockerfile.centos7" add_override_os_to_manifest_file "$version" "${CENTOS7_VERSIONS[0]}" "rhel-7-force" "Dockerfile.centos7-force" else - add_supported_os_to_preflight_file "$version" "centos" "7" - add_supported_os_to_preflight_file "$version" "rhel" "7" - add_supported_os_to_preflight_file "$version" "ol" "7" + add_supported_os_to_preflight_file "$version" "centos" "=" "7" + add_supported_os_to_preflight_file "$version" "rhel" "=" "7" + add_supported_os_to_preflight_file "$version" "ol" "=" "7" add_supported_os_to_manifest_file "$version" "rhel-7" "Dockerfile.centos7" add_supported_os_to_manifest_file "$version" "rhel-7-force" "Dockerfile.centos7-force" fi @@ -214,33 +216,33 @@ function find_common_versions() { add_override_os_to_preflight_file "$version" "${CENTOS8_VERSIONS[0]}" "ol" "8" add_override_os_to_manifest_file "$version" "${CENTOS8_VERSIONS[0]}" "rhel-8" "Dockerfile.centos8" else - add_supported_os_to_preflight_file "$version" "centos" "8" - add_supported_os_to_preflight_file "$version" "rhel" "8" - add_supported_os_to_preflight_file "$version" "ol" "8" + add_supported_os_to_preflight_file "$version" "centos" "=" "8" + add_supported_os_to_preflight_file "$version" "rhel" "=" "8" + add_supported_os_to_preflight_file "$version" "ol" "=" "8" add_supported_os_to_manifest_file "$version" "rhel-8" "Dockerfile.centos8" fi if ! contains "$version" ${RHEL9_VERSIONS[*]}; then echo "RHEL 9 lacks version $version" - add_unsupported_os_to_preflight_file "$version" "centos" "9" - add_unsupported_os_to_preflight_file "$version" "rhel" "9" - add_unsupported_os_to_preflight_file "$version" "ol" "9" - add_unsupported_os_to_preflight_file "$version" "rocky" "9" + add_unsupported_os_to_preflight_file "$version" "centos" "=" "9" + add_unsupported_os_to_preflight_file "$version" "rhel" "=" "9" + add_unsupported_os_to_preflight_file "$version" "ol" "=" "9" + add_unsupported_os_to_preflight_file "$version" "rocky" "=" "9" else - add_supported_os_to_preflight_file "$version" "centos" "9" - add_supported_os_to_preflight_file "$version" "rhel" "9" - add_supported_os_to_preflight_file "$version" "rocky" "9" + add_supported_os_to_preflight_file "$version" "centos" "=" "9" + add_supported_os_to_preflight_file "$version" "rhel" "=" "9" + add_supported_os_to_preflight_file "$version" "rocky" "=" "9" add_supported_os_to_manifest_file "$version" "rhel-9" "Dockerfile.rhel9" # exclude Oracle Linux 9 (OL 9) until we officially support it - add_unsupported_os_to_preflight_file "$version" "ol" "9" + add_unsupported_os_to_preflight_file "$version" "ol" "=" "9" fi if ! contains "$version" ${UBUNTU16_VERSIONS[*]}; then echo "Ubuntu 16 lacks version $version" - add_unsupported_os_to_preflight_file "$version" "ubuntu" "16.04" + add_unsupported_os_to_preflight_file "$version" "ubuntu" "=" "16.04" else - add_supported_os_to_preflight_file "$version" "ubuntu" "16.04" + add_supported_os_to_preflight_file "$version" "ubuntu" "=" "16.04" add_supported_os_to_manifest_file "$version" "ubuntu-16.04" "Dockerfile.ubuntu16" fi @@ -249,26 +251,31 @@ function find_common_versions() { add_override_os_to_preflight_file "$version" "${UBUNTU18_VERSIONS[0]}" "ubuntu" "18.04" add_override_os_to_manifest_file "$version" "${UBUNTU18_VERSIONS[0]}" "ubuntu-18.04" "Dockerfile.ubuntu18" else - add_supported_os_to_preflight_file "$version" "ubuntu" "18.04" + add_supported_os_to_preflight_file "$version" "ubuntu" "=" "18.04" add_supported_os_to_manifest_file "$version" "ubuntu-18.04" "Dockerfile.ubuntu18" fi if ! contains "$version" ${UBUNTU20_VERSIONS[*]}; then echo "Ubuntu 20 lacks version $version" - add_unsupported_os_to_preflight_file "$version" "ubuntu" "20.04" + add_unsupported_os_to_preflight_file "$version" "ubuntu" "=" "20.04" else - add_supported_os_to_preflight_file "$version" "ubuntu" "20.04" + add_supported_os_to_preflight_file "$version" "ubuntu" "=" "20.04" add_supported_os_to_manifest_file "$version" "ubuntu-20.04" "Dockerfile.ubuntu20" fi if ! contains "$version" ${UBUNTU22_VERSIONS[*]}; then echo "Ubuntu 22 lacks version $version" - add_unsupported_os_to_preflight_file "$version" "ubuntu" "22.04" + add_unsupported_os_to_preflight_file "$version" "ubuntu" "=" "22.04" else - add_supported_os_to_preflight_file "$version" "ubuntu" "22.04" + add_supported_os_to_preflight_file "$version" "ubuntu" "=" "22.04" add_supported_os_to_manifest_file "$version" "ubuntu-22.04" "Dockerfile.ubuntu22" fi + # for amazon 2023 we use the containerd version provided by the + # operating system. on this case we just set all found versions as + # supported. + add_supported_os_to_preflight_file "$version" "amazon" ">=" "2023" + VERSIONS+=("$version") done diff --git a/addons/containerd/template/testgrid/k8s-ctrd.yaml b/addons/containerd/template/testgrid/k8s-ctrd.yaml index 010b90da21..118197ed28 100644 --- a/addons/containerd/template/testgrid/k8s-ctrd.yaml +++ b/addons/containerd/template/testgrid/k8s-ctrd.yaml @@ -152,6 +152,7 @@ unsupportedOSIDs: - rocky-91 # docker is not supported on rhel 9 variants - rocky-9 # docker is not supported on rhel 9 variants + - amazon-2023 # docker is not supported on amazon 2023 - name: "Migrate from Docker to Containerd and Kubernetes from 1.23 to 1.25 airgap" flags: "yes" installerApiEndpoint: https://kurl.sh @@ -217,6 +218,7 @@ unsupportedOSIDs: - rocky-91 # docker is not supported on rhel 9 variants - rocky-9 # docker is not supported on rhel 9 variants + - amazon-2023 # docker is not supported on amazon 2023 - name: Upgrade Containerd from 1.4.x to __testver__ installerApiEndpoint: https://kurl.sh diff --git a/addons/flannel/template/testgrid/k8s-ctrd.yaml b/addons/flannel/template/testgrid/k8s-ctrd.yaml index b364ea243f..5b0ae85ecf 100644 --- a/addons/flannel/template/testgrid/k8s-ctrd.yaml +++ b/addons/flannel/template/testgrid/k8s-ctrd.yaml @@ -91,6 +91,7 @@ - centos-81 # docker 20.10.17 is not supported on centos 8.1. - centos-84 # docker 20.10.17 is not supported on centos 8.4. - ol-8x # docker 20.10.17 is not supported on ol 8.7. + - amazon-2023 # docker is not supported on amazon 2023 - name: "weave to flannel single node with addons and openebs" flags: "yes" cpu: 6 @@ -230,6 +231,7 @@ - centos-81 # docker 20.10.17 is not supported on centos 8.1. - centos-84 # docker 20.10.17 is not supported on centos 8.4. - ol-8x # docker 20.10.17 is not supported on ol 8.7. + - amazon-2023 # docker is not supported on amazon 2023 - name: "flannel 1.19 single node" installerSpec: kubernetes: diff --git a/addons/longhorn/1.1.0/install.sh b/addons/longhorn/1.1.0/install.sh index c7db1f7ba5..d1e1d74145 100644 --- a/addons/longhorn/1.1.0/install.sh +++ b/addons/longhorn/1.1.0/install.sh @@ -95,7 +95,7 @@ function longhorn_install_iscsi_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package iscsi-initiator-utils else yum_install_host_archives "$src" iscsi-initiator-utils @@ -123,7 +123,7 @@ function longhorn_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/longhorn/1.1.1/install.sh b/addons/longhorn/1.1.1/install.sh index 60661d8ba6..de783f20b0 100644 --- a/addons/longhorn/1.1.1/install.sh +++ b/addons/longhorn/1.1.1/install.sh @@ -105,7 +105,7 @@ function longhorn_install_iscsi_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package iscsi-initiator-utils else yum_install_host_archives "$src" iscsi-initiator-utils @@ -133,7 +133,7 @@ function longhorn_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/longhorn/1.1.2/install.sh b/addons/longhorn/1.1.2/install.sh index c08bf4b1f9..4cdffbc2f4 100644 --- a/addons/longhorn/1.1.2/install.sh +++ b/addons/longhorn/1.1.2/install.sh @@ -112,7 +112,7 @@ function longhorn_install_iscsi_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package iscsi-initiator-utils else yum_install_host_archives "$src" iscsi-initiator-utils @@ -140,7 +140,7 @@ function longhorn_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/openebs/template/testgrid/k8s-docker-localpv.yaml b/addons/openebs/template/testgrid/k8s-docker-localpv.yaml index 966ec8e801..9edd8a50fb 100644 --- a/addons/openebs/template/testgrid/k8s-docker-localpv.yaml +++ b/addons/openebs/template/testgrid/k8s-docker-localpv.yaml @@ -148,6 +148,7 @@ validate_read_write_object_store postupgrade upgradefile.txt unsupportedOSIDs: - rocky-91 # docker is not supported on rhel 9 variants + - amazon-2023 # docker is not supported on amazon 2023 - name: localpv migrate from Rook 1.0.4 with old versions flags: "yes" diff --git a/addons/rook/1.0.4-14.2.21/install.sh b/addons/rook/1.0.4-14.2.21/install.sh index a55946aece..adee3e5838 100644 --- a/addons/rook/1.0.4-14.2.21/install.sh +++ b/addons/rook/1.0.4-14.2.21/install.sh @@ -201,7 +201,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.0.4/install.sh b/addons/rook/1.0.4/install.sh index e7aa351111..acaec46554 100644 --- a/addons/rook/1.0.4/install.sh +++ b/addons/rook/1.0.4/install.sh @@ -191,7 +191,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.10.11/install.sh b/addons/rook/1.10.11/install.sh index dcdd72804a..9b88b5f978 100644 --- a/addons/rook/1.10.11/install.sh +++ b/addons/rook/1.10.11/install.sh @@ -658,7 +658,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.10.6/install.sh b/addons/rook/1.10.6/install.sh index a612510fe7..7be28a449a 100644 --- a/addons/rook/1.10.6/install.sh +++ b/addons/rook/1.10.6/install.sh @@ -657,7 +657,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.10.8/install.sh b/addons/rook/1.10.8/install.sh index 415b0b62ec..a376bfbf50 100644 --- a/addons/rook/1.10.8/install.sh +++ b/addons/rook/1.10.8/install.sh @@ -659,7 +659,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.11.2/install.sh b/addons/rook/1.11.2/install.sh index 0d326df80c..1f5da6b47f 100644 --- a/addons/rook/1.11.2/install.sh +++ b/addons/rook/1.11.2/install.sh @@ -654,7 +654,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.11.3/install.sh b/addons/rook/1.11.3/install.sh index 9b6d5f45c5..442b74b2c6 100644 --- a/addons/rook/1.11.3/install.sh +++ b/addons/rook/1.11.3/install.sh @@ -654,7 +654,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.11.4/install.sh b/addons/rook/1.11.4/install.sh index 8127629f1f..e077e18883 100644 --- a/addons/rook/1.11.4/install.sh +++ b/addons/rook/1.11.4/install.sh @@ -665,7 +665,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.11.5/install.sh b/addons/rook/1.11.5/install.sh index 5517566bee..e7a6093996 100644 --- a/addons/rook/1.11.5/install.sh +++ b/addons/rook/1.11.5/install.sh @@ -674,7 +674,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.11.6/install.sh b/addons/rook/1.11.6/install.sh index 5517566bee..e7a6093996 100644 --- a/addons/rook/1.11.6/install.sh +++ b/addons/rook/1.11.6/install.sh @@ -674,7 +674,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.11.7/install.sh b/addons/rook/1.11.7/install.sh index c90729d153..0dbced63c3 100644 --- a/addons/rook/1.11.7/install.sh +++ b/addons/rook/1.11.7/install.sh @@ -677,7 +677,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.11.8/install.sh b/addons/rook/1.11.8/install.sh index c90729d153..0dbced63c3 100644 --- a/addons/rook/1.11.8/install.sh +++ b/addons/rook/1.11.8/install.sh @@ -677,7 +677,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.12.0/install.sh b/addons/rook/1.12.0/install.sh index 7419beb8ca..c6a9a38b7f 100644 --- a/addons/rook/1.12.0/install.sh +++ b/addons/rook/1.12.0/install.sh @@ -691,7 +691,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.12.1/install.sh b/addons/rook/1.12.1/install.sh index 7419beb8ca..c6a9a38b7f 100644 --- a/addons/rook/1.12.1/install.sh +++ b/addons/rook/1.12.1/install.sh @@ -691,7 +691,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.12.2/install.sh b/addons/rook/1.12.2/install.sh index 7419beb8ca..c6a9a38b7f 100644 --- a/addons/rook/1.12.2/install.sh +++ b/addons/rook/1.12.2/install.sh @@ -691,7 +691,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.12.3/install.sh b/addons/rook/1.12.3/install.sh index 7419beb8ca..c6a9a38b7f 100644 --- a/addons/rook/1.12.3/install.sh +++ b/addons/rook/1.12.3/install.sh @@ -691,7 +691,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.12.4/install.sh b/addons/rook/1.12.4/install.sh index 7419beb8ca..c6a9a38b7f 100644 --- a/addons/rook/1.12.4/install.sh +++ b/addons/rook/1.12.4/install.sh @@ -691,7 +691,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.12.5/install.sh b/addons/rook/1.12.5/install.sh index 7419beb8ca..c6a9a38b7f 100644 --- a/addons/rook/1.12.5/install.sh +++ b/addons/rook/1.12.5/install.sh @@ -691,7 +691,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.12.6/install.sh b/addons/rook/1.12.6/install.sh index 7419beb8ca..c6a9a38b7f 100644 --- a/addons/rook/1.12.6/install.sh +++ b/addons/rook/1.12.6/install.sh @@ -691,7 +691,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.12.7/install.sh b/addons/rook/1.12.7/install.sh index 7419beb8ca..c6a9a38b7f 100644 --- a/addons/rook/1.12.7/install.sh +++ b/addons/rook/1.12.7/install.sh @@ -691,7 +691,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.12.8/install.sh b/addons/rook/1.12.8/install.sh index 7419beb8ca..c6a9a38b7f 100644 --- a/addons/rook/1.12.8/install.sh +++ b/addons/rook/1.12.8/install.sh @@ -691,7 +691,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.4.3/install.sh b/addons/rook/1.4.3/install.sh index 09414b104a..1d88a7363e 100644 --- a/addons/rook/1.4.3/install.sh +++ b/addons/rook/1.4.3/install.sh @@ -228,7 +228,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.4.9/install.sh b/addons/rook/1.4.9/install.sh index 51dcb1cfbf..d4684a13dd 100644 --- a/addons/rook/1.4.9/install.sh +++ b/addons/rook/1.4.9/install.sh @@ -379,7 +379,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.5.10/install.sh b/addons/rook/1.5.10/install.sh index ebb71c559c..9a286ee1ad 100644 --- a/addons/rook/1.5.10/install.sh +++ b/addons/rook/1.5.10/install.sh @@ -373,7 +373,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.5.11/install.sh b/addons/rook/1.5.11/install.sh index 32796f1c16..6ee973ee10 100644 --- a/addons/rook/1.5.11/install.sh +++ b/addons/rook/1.5.11/install.sh @@ -379,7 +379,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.5.12/install.sh b/addons/rook/1.5.12/install.sh index 316bd4e756..4eaa3be50d 100644 --- a/addons/rook/1.5.12/install.sh +++ b/addons/rook/1.5.12/install.sh @@ -395,7 +395,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.5.9/install.sh b/addons/rook/1.5.9/install.sh index 735d504f43..5a828c74af 100644 --- a/addons/rook/1.5.9/install.sh +++ b/addons/rook/1.5.9/install.sh @@ -382,7 +382,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.6.11/install.sh b/addons/rook/1.6.11/install.sh index 8dbbf9f974..c354adc7b1 100644 --- a/addons/rook/1.6.11/install.sh +++ b/addons/rook/1.6.11/install.sh @@ -456,7 +456,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.7.11/install.sh b/addons/rook/1.7.11/install.sh index 510e5f9cc6..cc879d8205 100644 --- a/addons/rook/1.7.11/install.sh +++ b/addons/rook/1.7.11/install.sh @@ -631,7 +631,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.8.10/install.sh b/addons/rook/1.8.10/install.sh index 7b0eb4cac3..33d593359f 100644 --- a/addons/rook/1.8.10/install.sh +++ b/addons/rook/1.8.10/install.sh @@ -664,7 +664,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/1.9.12/install.sh b/addons/rook/1.9.12/install.sh index c9e0e30a25..1b9091a050 100644 --- a/addons/rook/1.9.12/install.sh +++ b/addons/rook/1.9.12/install.sh @@ -662,7 +662,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/rook/template/base/install.sh b/addons/rook/template/base/install.sh index fea7780d82..910e51cfa6 100644 --- a/addons/rook/template/base/install.sh +++ b/addons/rook/template/base/install.sh @@ -691,7 +691,7 @@ function rook_lvm2() { return fi - if is_rhel_9_variant; then + if ! host_packages_shipped ; then yum_ensure_host_package lvm2 else install_host_archives "$src" lvm2 diff --git a/addons/velero/1.10.1/install.sh b/addons/velero/1.10.1/install.sh index 4ff98e9008..fdf7c7a915 100644 --- a/addons/velero/1.10.1/install.sh +++ b/addons/velero/1.10.1/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.10.2/install.sh b/addons/velero/1.10.2/install.sh index 42568f2cf4..d18a049045 100644 --- a/addons/velero/1.10.2/install.sh +++ b/addons/velero/1.10.2/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.11.0/install.sh b/addons/velero/1.11.0/install.sh index abcf033a75..06c4eae940 100644 --- a/addons/velero/1.11.0/install.sh +++ b/addons/velero/1.11.0/install.sh @@ -102,7 +102,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.11.1/install.sh b/addons/velero/1.11.1/install.sh index a9fbbde585..d8d936620d 100644 --- a/addons/velero/1.11.1/install.sh +++ b/addons/velero/1.11.1/install.sh @@ -109,7 +109,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.12.0/install.sh b/addons/velero/1.12.0/install.sh index 2c240ce546..b278d4c242 100644 --- a/addons/velero/1.12.0/install.sh +++ b/addons/velero/1.12.0/install.sh @@ -109,7 +109,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.12.1/install.sh b/addons/velero/1.12.1/install.sh index 497c9e81a4..40ab2e7eb7 100644 --- a/addons/velero/1.12.1/install.sh +++ b/addons/velero/1.12.1/install.sh @@ -109,7 +109,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.12.2/install.sh b/addons/velero/1.12.2/install.sh index 3a7a4ff181..5c6cf5bed1 100644 --- a/addons/velero/1.12.2/install.sh +++ b/addons/velero/1.12.2/install.sh @@ -109,7 +109,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.12.3/install.sh b/addons/velero/1.12.3/install.sh index 73e12d537d..52280f3718 100644 --- a/addons/velero/1.12.3/install.sh +++ b/addons/velero/1.12.3/install.sh @@ -108,7 +108,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.13.1/install.sh b/addons/velero/1.13.1/install.sh index bd957e764c..d4908a821f 100644 --- a/addons/velero/1.13.1/install.sh +++ b/addons/velero/1.13.1/install.sh @@ -109,7 +109,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.13.2/install.sh b/addons/velero/1.13.2/install.sh index 3921b1f222..bae7a3ef7a 100644 --- a/addons/velero/1.13.2/install.sh +++ b/addons/velero/1.13.2/install.sh @@ -109,7 +109,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.14.0/install.sh b/addons/velero/1.14.0/install.sh index ecb6e60fed..a93df47cd8 100644 --- a/addons/velero/1.14.0/install.sh +++ b/addons/velero/1.14.0/install.sh @@ -109,7 +109,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.5.1/install.sh b/addons/velero/1.5.1/install.sh index 8edeb740a0..fb14dc88fe 100644 --- a/addons/velero/1.5.1/install.sh +++ b/addons/velero/1.5.1/install.sh @@ -79,7 +79,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.5.3/install.sh b/addons/velero/1.5.3/install.sh index 1a7a5dd8ef..0cf7656156 100644 --- a/addons/velero/1.5.3/install.sh +++ b/addons/velero/1.5.3/install.sh @@ -54,7 +54,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.5.4/install.sh b/addons/velero/1.5.4/install.sh index 1a7a5dd8ef..0cf7656156 100644 --- a/addons/velero/1.5.4/install.sh +++ b/addons/velero/1.5.4/install.sh @@ -54,7 +54,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.6.0/install.sh b/addons/velero/1.6.0/install.sh index 5211efea71..d165716c8d 100644 --- a/addons/velero/1.6.0/install.sh +++ b/addons/velero/1.6.0/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.6.1/install.sh b/addons/velero/1.6.1/install.sh index 5211efea71..d165716c8d 100644 --- a/addons/velero/1.6.1/install.sh +++ b/addons/velero/1.6.1/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.6.2/install.sh b/addons/velero/1.6.2/install.sh index 5211efea71..d165716c8d 100644 --- a/addons/velero/1.6.2/install.sh +++ b/addons/velero/1.6.2/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.7.1/install.sh b/addons/velero/1.7.1/install.sh index 3e7515995f..621b2284aa 100644 --- a/addons/velero/1.7.1/install.sh +++ b/addons/velero/1.7.1/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.8.1/install.sh b/addons/velero/1.8.1/install.sh index 4b803008f5..5d15c50f71 100644 --- a/addons/velero/1.8.1/install.sh +++ b/addons/velero/1.8.1/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.9.0/install.sh b/addons/velero/1.9.0/install.sh index eb47f652a0..a271c0089c 100644 --- a/addons/velero/1.9.0/install.sh +++ b/addons/velero/1.9.0/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.9.1/install.sh b/addons/velero/1.9.1/install.sh index f0c97301ae..94ab93e773 100644 --- a/addons/velero/1.9.1/install.sh +++ b/addons/velero/1.9.1/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.9.2/install.sh b/addons/velero/1.9.2/install.sh index f65e563ada..3bcda3775a 100644 --- a/addons/velero/1.9.2/install.sh +++ b/addons/velero/1.9.2/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.9.3/install.sh b/addons/velero/1.9.3/install.sh index 428bfbc02b..1e1bc52804 100644 --- a/addons/velero/1.9.3/install.sh +++ b/addons/velero/1.9.3/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.9.4/install.sh b/addons/velero/1.9.4/install.sh index 1553e91473..376a8b7399 100644 --- a/addons/velero/1.9.4/install.sh +++ b/addons/velero/1.9.4/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/1.9.5/install.sh b/addons/velero/1.9.5/install.sh index a317773373..d540f51c67 100644 --- a/addons/velero/1.9.5/install.sh +++ b/addons/velero/1.9.5/install.sh @@ -98,7 +98,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/addons/velero/template/base/install.tmpl.sh b/addons/velero/template/base/install.tmpl.sh index f7b023c0a5..da94a4d715 100644 --- a/addons/velero/template/base/install.tmpl.sh +++ b/addons/velero/template/base/install.tmpl.sh @@ -109,7 +109,7 @@ function velero_install_nfs_utils_if_missing() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/bin/containertools/Dockerfile.amazon2023 b/bin/containertools/Dockerfile.amazon2023 new file mode 100644 index 0000000000..9dc606a959 --- /dev/null +++ b/bin/containertools/Dockerfile.amazon2023 @@ -0,0 +1,16 @@ +# amazonlinux does not have the modulemd-tools package so we use rockylinux +# version instead, this is used only at build time. +FROM rockylinux:9 as builder +RUN yum install yum-utils -y +RUN yumdownloader modulemd-tools + +FROM amazonlinux:2023 +COPY --from=builder /modulemd-tools-*.noarch.rpm /modulemd-tools.rpm +RUN yum install -y /modulemd-tools.rpm + +ARG PACKAGES + +RUN echo -e "fastestmirror=1\nmax_parallel_downloads=8" >> /etc/dnf/dnf.conf +RUN yum install -y yum-utils createrepo findutils + +RUN [ -z "$PACKAGES" ] || yum install -y $PACKAGES diff --git a/bin/containertools/builddeps.sh b/bin/containertools/builddeps.sh index c3153c4131..74fb107699 100755 --- a/bin/containertools/builddeps.sh +++ b/bin/containertools/builddeps.sh @@ -17,6 +17,16 @@ available_packages="$(yum -q --disablerepo=* --enablerepo=kurl.local --releaseve depslist="$(echo "$available_packages" \ | xargs -L1 yum -q --enablerepo=kurl.local deplist --arch=x86_64 --arch=noarch --resolve --requires \ | awk 'NF{NF-=2}1' FS='-' OFS='-')" # strip last two fields + +# some packages may list both libcurl and libcurl-minimal, meaning one or the +# other. on this case we want to prefer libcurl as its scope is broader and +# there may be other packages on the system that depend on such broader scope. +depslist="$(printf '%s\n' $depslist | sed 's/libcurl-minimal/libcurl/g')" + +# some packages may list both openssl-snapsafe-libs and openssl-libs, we are +# going with openssl-libs. +depslist="$(printf '%s\n' $depslist | sed 's/openssl-snapsafe-libs/openssl-libs/g')" + for package in $available_packages ; do # remove packages that in the first level dependency provides depslist="$(echo "$depslist" | grep -v "^$package$")" diff --git a/bin/save-manifest-assets.sh b/bin/save-manifest-assets.sh index 74fc25c7cb..6384ad1c61 100755 --- a/bin/save-manifest-assets.sh +++ b/bin/save-manifest-assets.sh @@ -141,6 +141,12 @@ function build_image_rhel_9() { docker build -t "rhel-9-$(image_name_suffix)" -f bin/containertools/Dockerfile.rhel9 --build-arg PACKAGES="${packages[*]}" ./bin } +function build_image_amazon_2023() { + local packages=("$@") + + docker build -t "amazon-2023-$(image_name_suffix)" -f bin/containertools/Dockerfile.amazon2023 --build-arg PACKAGES="${packages[*]}" ./bin +} + function build_rhel_9() { local packages=("$@") local outdir="$OUT_DIR/rhel-9" @@ -159,6 +165,22 @@ function build_rhel_9() { sudo chown -R $UID "$outdir" } +function build_amazon_2023() { + local packages=("$@") + local outdir="$OUT_DIR/amazon-2023" + + mkdir -p "$outdir" + + docker rm -f "amazon-2023-$PACKAGE_NAME" 2>/dev/null || true + docker run \ + --name "amazon-2023-$PACKAGE_NAME" \ + -v "$PWD/bin/containertools":/opt/containertools \ + "amazon-2023-$(image_name_suffix)" \ + bash /opt/containertools/yumdownloader.sh "${packages[*]}" + sudo docker cp "amazon-2023-$PACKAGE_NAME":/packages/archives "$outdir" + sudo chown -R $UID "$outdir" +} + function createrepo_rhel_9() { local outdir= outdir="$(realpath "$OUT_DIR")/rhel-9" @@ -174,6 +196,71 @@ function createrepo_rhel_9() { sudo chown -R $UID "$outdir" } +function createrepo_amazon_2023() { + local outdir= + outdir="$(realpath "$OUT_DIR")/amazon-2023" + + docker rm -f "amazon-2023-createrepo-$PACKAGE_NAME" 2>/dev/null || true + docker run \ + --name "amazon-2023-createrepo-$PACKAGE_NAME" \ + -v "$outdir/archives":/packages/archives \ + -v "$PWD/bin/containertools":/opt/containertools \ + "amazon-2023-$(image_name_suffix)" \ + /opt/containertools/createrepo.sh + sudo docker cp "amazon-2023-createrepo-$PACKAGE_NAME":/packages/archives "$outdir" + sudo chown -R $UID "$outdir" +} + +function build_deps_amazon_2023() { + local packages=("$@") + + local outdir= + outdir="$(realpath "$OUT_DIR")/amazon-2023" + + mkdir -p "$outdir" + + # yum + for pkg in "${pkgs_amazon2023[@]}"; do + # remove yum9 packages + packages=( "${packages[@]/*${pkg}*}" ) + done + if [ "${#packages[@]}" -gt 0 ]; then + printf '%s\n' "${packages[@]}" >> "$outdir/Deps" + fi + + # yum9 + if [ -f "$outdir/archives/repodata/repomd.xml" ]; then + docker rm -f "amazon-2023-subdeps-$PACKAGE_NAME" 2>/dev/null || true + docker run \ + --name "amazon-2023-subdeps-$PACKAGE_NAME" \ + -v "$outdir/archives":/packages/archives \ + -v "$PWD/bin/containertools":/opt/containertools \ + "amazon-2023-$(image_name_suffix)" \ + /opt/containertools/builddeps.sh \ + >> "$outdir/Deps" + fi + + # dockerout + if [ -f "$outdir/repodata/repomd.xml" ]; then + docker rm -f "amazon-2023-subdeps-$PACKAGE_NAME" 2>/dev/null || true + docker run \ + --name "amazon-2023-subdeps-$PACKAGE_NAME" \ + -v "$outdir":/packages/archives \ + -v "$PWD/bin/containertools":/opt/containertools \ + "amazon-2023-$(image_name_suffix)" \ + /opt/containertools/builddeps.sh \ + >> "$outdir/Deps" + fi + + if [ ! -f "$outdir/Deps" ]; then + rm -rf "$outdir" + return + fi + + sort "$OUT_DIR/amazon-2023/Deps" | uniq | grep -v '^[[:space:]]*$' > "$OUT_DIR/amazon-2023/Deps.tmp" # remove duplicates and empty lines + mv "$OUT_DIR/amazon-2023/Deps.tmp" "$OUT_DIR/amazon-2023/Deps" +} + function build_deps_rhel_9() { local packages=("$@") @@ -288,7 +375,9 @@ pkgs_rhel7=() pkgs_rhel8=() pkgs_rhel9=() pkgs_ol7=() +pkgs_amazon2023=() deps_rhel9=() +deps_amazon2023=() while read -r line || [ -n "$line" ]; do if [ -z "$line" ]; then @@ -392,6 +481,7 @@ while read -r line || [ -n "$line" ]; do pkgs_rhel7+=("$package") pkgs_rhel8+=("$package") deps_rhel9+=("$package") + deps_amazon2023+=("$package") ;; yum8) @@ -409,6 +499,11 @@ while read -r line || [ -n "$line" ]; do pkgs_ol7+=("$package") ;; + yum2023) + package=$(echo "$line" | awk '{ print $2 }') + pkgs_amazon2023+=("$package") + ;; + dockerout) dstdir=$(echo "$line" | awk '{ print $2 }') dockerfile=$(echo "$line" | awk '{ print $3 }') @@ -431,6 +526,15 @@ while read -r line || [ -n "$line" ]; do esac done < "$MANIFEST_PATH" +build_image_amazon_2023 "${pkgs_amazon2023[@]}" +if [ "${#pkgs_amazon2023[@]}" -gt "0" ]; then + build_amazon_2023 "${pkgs_amazon2023[@]}" +fi +if [ "$(find "$OUT_DIR"/amazon-2023/archives/*.rpm 2>/dev/null | wc -l)" -gt 0 ]; then + createrepo_amazon_2023 +fi +build_deps_amazon_2023 "${deps_amazon2023[@]}" + if [ "${#pkgs_rhel7[@]}" -gt "0" ]; then build_rhel_7 "${pkgs_rhel7[@]}" fi diff --git a/bundles/k8s-amazon2023/Dockerfile b/bundles/k8s-amazon2023/Dockerfile new file mode 100644 index 0000000000..bb9c76a3f7 --- /dev/null +++ b/bundles/k8s-amazon2023/Dockerfile @@ -0,0 +1,26 @@ +# amazonlinux does not have the modulemd-tools package so we use rockylinux +# version instead, this is used only at build time. +FROM rockylinux:9 as builder +RUN yum install yum-utils -y +RUN yumdownloader modulemd-tools + +FROM amazonlinux:2023 +COPY --from=builder /modulemd-tools-*.noarch.rpm /modulemd-tools.rpm +RUN yum install -y /modulemd-tools.rpm + +ARG KUBERNETES_VERSION +RUN echo -e "fastestmirror=1\nmax_parallel_downloads=8" >> /etc/dnf/dnf.conf +RUN yum install -y yum-utils createrepo findutils + +COPY ./containertools /opt/containertools +COPY ./kubernetes.repo /etc/yum.repos.d/kubernetes.repo +ARG KUBERNETES_MINOR_VERSION +RUN sed -i "s/__KUBERNETES_MINOR_VERSION__/v${KUBERNETES_MINOR_VERSION}/g" /etc/yum.repos.d/kubernetes.repo +RUN mkdir -p /packages/archives +RUN /opt/containertools/yumdownloader.sh "kubelet-$KUBERNETES_VERSION kubectl-$KUBERNETES_VERSION kubernetes-cni" +RUN /opt/containertools/createrepo.sh +RUN /opt/containertools/builddeps.sh > /packages/archives/Deps \ + && sort /packages/archives/Deps | uniq | grep -v '^[[:space:]]*$' > /packages/archives/Deps.tmp \ + && mv /packages/archives/Deps.tmp /packages/archives/Deps +RUN echo "git" >> /packages/archives/Deps +CMD cp -r /packages/archives/* /out/ diff --git a/bundles/k8s-amazon2023/containertools/builddeps.sh b/bundles/k8s-amazon2023/containertools/builddeps.sh new file mode 100755 index 0000000000..c3153c4131 --- /dev/null +++ b/bundles/k8s-amazon2023/containertools/builddeps.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -e + +cat > /etc/yum.repos.d/kurl.local.repo <" + exit 1 +fi + +mkdir -p /packages/archives +#shellcheck disable=SC2086 +yumdownloader --releasever=/ --destdir=/packages/archives -y $1 diff --git a/bundles/k8s-amazon2023/kubernetes.repo b/bundles/k8s-amazon2023/kubernetes.repo new file mode 100644 index 0000000000..4427979a13 --- /dev/null +++ b/bundles/k8s-amazon2023/kubernetes.repo @@ -0,0 +1,7 @@ +[kubernetes] +name=Kubernetes +baseurl=https://pkgs.k8s.io/core:/stable:/__KUBERNETES_MINOR_VERSION__/rpm/ +enabled=1 +gpgcheck=1 +repo_gpgcheck=0 +gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.key diff --git a/scripts/common/common.sh b/scripts/common/common.sh index 5b0ec2c7fd..57b796855b 100644 --- a/scripts/common/common.sh +++ b/scripts/common/common.sh @@ -441,6 +441,12 @@ function report_install_containerd() { return 0 fi + # on amazon 2023 we are using the default containerd version that comes with the OS. + if is_amazon_2023 ; then + addon_install "containerd" "$CONTAINERD_VERSION" + return 0 + fi + # if we can't find containerd in the local filesystem then we can also install regardless # of version. if [ ! -f "/usr/bin/containerd" ]; then @@ -728,7 +734,7 @@ function install_host_dependencies_openssl() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package openssl return fi @@ -746,7 +752,7 @@ function install_host_dependencies_fio() { return fi - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then if ! yum_ensure_host_package fio ; then logWarn "Failed to install fio, continuing anyways" fi diff --git a/scripts/common/discover.sh b/scripts/common/discover.sh index 317a1fe418..6ac56229ae 100644 --- a/scripts/common/discover.sh +++ b/scripts/common/discover.sh @@ -87,7 +87,8 @@ detectLsbDist() { [ $1 -ge 6 ] && LSB_DIST=$_dist && DIST_VERSION=$_version && DIST_VERSION_MAJOR=$1 && DIST_VERSION_MINOR="${DIST_VERSION#$DIST_VERSION_MAJOR.}" && DIST_VERSION_MINOR="${DIST_VERSION_MINOR%%.*}" ;; amzn) - _error_msg="$_error_msg\nHowever detected version $_version is not one of\n 2, 2.0, 2018.03, 2017.09, 2017.03, 2016.09, 2016.03, 2015.09, 2015.03, 2014.09, 2014.03." + _error_msg="$_error_msg\nHowever detected version $_version is not one of\n 2023, 2, 2.0, 2018.03, 2017.09, 2017.03, 2016.09, 2016.03, 2015.09, 2015.03, 2014.09, 2014.03." + [ "$_version" = "2023" ] || \ [ "$_version" = "2" ] || [ "$_version" = "2.0" ] || \ [ "$_version" = "2018.03" ] || \ [ "$_version" = "2017.03" ] || [ "$_version" = "2017.09" ] || \ diff --git a/scripts/common/host-packages.sh b/scripts/common/host-packages.sh index 8364471009..7bcd2df5c2 100644 --- a/scripts/common/host-packages.sh +++ b/scripts/common/host-packages.sh @@ -47,12 +47,16 @@ function _install_host_packages() { ;; amzn) - local fullpath= - fullpath="$(realpath "${dir}")/rhel-7-force${dir_prefix}" - if test -n "$(shopt -s nullglob; echo "${fullpath}"/*.rpm)" ; then - _rpm_force_install_host_packages "$dir" "$dir_prefix" "${packages[@]}" + if is_amazon_2023; then + _yum_install_host_packages_el9 "$dir" "$dir_prefix" "${packages[@]}" else - _yum_install_host_packages "$dir" "$dir_prefix" "${packages[@]}" + local fullpath= + fullpath="$(realpath "${dir}")/rhel-7-force${dir_prefix}" + if test -n "$(shopt -s nullglob; echo "${fullpath}"/*.rpm)" ; then + _rpm_force_install_host_packages "$dir" "$dir_prefix" "${packages[@]}" + else + _yum_install_host_packages "$dir" "$dir_prefix" "${packages[@]}" + fi fi ;; @@ -149,7 +153,7 @@ function yum_install_host_archives() { local dir="$1" local dir_prefix="/archives" local packages=("${@:2}") - if [ "$DIST_VERSION_MAJOR" = "9" ]; then + if [ "$DIST_VERSION_MAJOR" = "9" ] || [ "$DIST_VERSION_MAJOR" = "2023" ]; then _yum_install_host_packages_el9 "$dir" "$dir_prefix" "${packages[@]}" else _yum_install_host_packages "$dir" "$dir_prefix" "${packages[@]}" @@ -160,7 +164,7 @@ function yum_install_host_packages() { local dir="$1" local dir_prefix="" local packages=("${@:2}") - if [ "$DIST_VERSION_MAJOR" = "9" ]; then + if [ "$DIST_VERSION_MAJOR" = "9" ] || [ "$DIST_VERSION_MAJOR" = "2023" ]; then _yum_install_host_packages_el9 "$dir" "$dir_prefix" "${packages[@]}" else _yum_install_host_packages "$dir" "$dir_prefix" "${packages[@]}" @@ -309,6 +313,8 @@ function _yum_get_host_packages_path() { if [ "$DIST_VERSION_MAJOR" = "9" ]; then echo "$(realpath "${dir}")/rhel-9${dir_prefix}" + elif [ "$DIST_VERSION_MAJOR" = "2023" ]; then + echo "$(realpath "${dir}")/amazon-2023${dir_prefix}" elif [ "$DIST_VERSION_MAJOR" = "8" ]; then echo "$(realpath "${dir}")/rhel-8${dir_prefix}" else @@ -324,6 +330,15 @@ function reset_dnf_module_kurl_local() { yum module reset -y kurl.local 2>/dev/null || true } +# host_packages_shipped returns true if we do ship host packages for the distro +# we are running the installation on. +function host_packages_shipped() { + if ! is_rhel_9_variant && ! is_amazon_2023; then + return 0 + fi + return 1 +} + # is_rhel_9_variant returns 0 if the current distro is RHEL 9 or a derivative function is_rhel_9_variant() { if [ "$DIST_VERSION_MAJOR" != "9" ]; then @@ -340,6 +355,17 @@ function is_rhel_9_variant() { esac } +# is_amazon_2023 returns 0 if the current distro is Amazon 2023. +function is_amazon_2023() { + if [ "$DIST_VERSION_MAJOR" != "2023" ]; then + return 1 + fi + if [ "$LSB_DIST" != "amzn" ]; then + return 1 + fi + return 0 +} + # yum_ensure_host_package ensures that a package is installed on the host function yum_ensure_host_package() { local package="$1" @@ -357,19 +383,36 @@ function yum_ensure_host_package() { # preflights_require_host_packages ensures that all required host packages are installed. function preflights_require_host_packages() { - if ! is_rhel_9_variant ; then - return # only rhel 9 requires this + if host_packages_shipped ; then + return fi logStep "Checking required host packages" + local seen=() local fail=0 + local skip=0 # shellcheck disable=SC2044 for deps_file in $(find . -name Deps); do while read -r dep ; do - if ! echo "$deps_file" | grep -q "rhel-9"; then + + skip=0 + for seen_item in "${seen[@]}"; do + if [ "$dep" = "$seen_item" ]; then + skip=1 + break + fi + done + if [ "$skip" = "1" ]; then continue fi + seen+=("$dep") + + if ! echo "$deps_file" | grep -q "rhel-9"; then + if ! echo "$deps_file" | grep -q "amazon-2023"; then + continue + fi + fi if rpm -q "$dep" >/dev/null 2>&1 ; then continue fi diff --git a/scripts/common/kubernetes.sh b/scripts/common/kubernetes.sh index 045d4b63e3..04bdeb6368 100644 --- a/scripts/common/kubernetes.sh +++ b/scripts/common/kubernetes.sh @@ -1,7 +1,7 @@ #!/bin/bash function kubernetes_pre_init() { - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then # git is packaged in the bundle and installed in other oses by # kubernetes_install_host_packages yum_ensure_host_package git @@ -157,7 +157,7 @@ function kubernetes_install_host_packages() { kubernetes_cis_chmod_kubelet_service_file # less command is broken if libtinfo.so.5 is missing in amazon linux 2 - if [ "$LSB_DIST" == "amzn" ] && [ "$AIRGAP" != "1" ] && ! file_exists "/usr/lib64/libtinfo.so.5"; then + if [ "$LSB_DIST" == "amzn" ] && [ "$DIST_VERSION_MAJOR" != "2023" ] && [ "$AIRGAP" != "1" ] && ! file_exists "/usr/lib64/libtinfo.so.5"; then if [ -d "$DIR/packages/kubernetes/${k8sVersion}/assets" ]; then install_host_packages "${DIR}/packages/kubernetes/${k8sVersion}" ncurses-compat-libs fi @@ -194,7 +194,7 @@ EOF ;; esac - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then # ensure git in kubernetes_pre_init install_host_packages "${DIR}/packages/kubernetes/${k8sVersion}" "kubelet-${k8sVersion}" "kubectl-${k8sVersion}" else diff --git a/scripts/common/longhorn.sh b/scripts/common/longhorn.sh index 4753481d05..6f0d68d16a 100644 --- a/scripts/common/longhorn.sh +++ b/scripts/common/longhorn.sh @@ -15,7 +15,7 @@ function longhorn_install_iscsi_if_missing_common() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package iscsi-initiator-utils else yum_install_host_archives "$src" iscsi-initiator-utils @@ -43,7 +43,7 @@ function longhorn_install_nfs_utils_if_missing_common() { ;; centos|rhel|ol|rocky|amzn) - if is_rhel_9_variant ; then + if ! host_packages_shipped ; then yum_ensure_host_package nfs-utils else yum_install_host_archives "$src" nfs-utils diff --git a/scripts/common/preflights.sh b/scripts/common/preflights.sh index 4928d01f98..8359cbea88 100644 --- a/scripts/common/preflights.sh +++ b/scripts/common/preflights.sh @@ -93,7 +93,7 @@ function bailIfUnsupportedOS() { ;; centos8|centos8.0|centos8.1|centos8.2|centos8.3|centos8.4|centos9) ;; - amzn2) + amzn2|amzn2023) ;; ol8.0|ol8.1|ol8.2|ol8.3|ol8.4|ol8.5|ol8.6|ol8.7|ol8.8|ol8.9|ol8.10) ;; @@ -333,8 +333,10 @@ function cri_preflights() { } function require_cri() { - if is_rhel_9_variant && [ -z "$CONTAINERD_VERSION" ]; then - bail "Containerd is required on RHEL 9 variants. Docker is not supported." + if is_rhel_9_variant || is_amazon_2023; then + if [ -z "$CONTAINERD_VERSION" ]; then + bail "Containerd is required on RHEL 9 variants and Amazon Linux 2023. Docker is not supported." + fi fi if commandExists docker ; then diff --git a/testgrid/specs/customer-migration-specs.yaml b/testgrid/specs/customer-migration-specs.yaml index 33462231c8..dd6979a66f 100644 --- a/testgrid/specs/customer-migration-specs.yaml +++ b/testgrid/specs/customer-migration-specs.yaml @@ -211,6 +211,7 @@ nodeUnreachableToleration: "1m" unsupportedOSIDs: - ubuntu-2204 # this version of docker is too old for 22.04 + - amazon-2023 # docker is not supported on amazon 2023 postInstallScript: | # source helper functions source /opt/kurl-testgrid/testhelpers.sh @@ -348,6 +349,7 @@ - rocky-91 - rocky-9 - ol-8x + - amazon-2023 # docker is not supported on amazon 2023 postInstallScript: | # source helper functions source /opt/kurl-testgrid/testhelpers.sh @@ -467,6 +469,7 @@ - rocky-91 - rocky-9 - ol-8x + - amazon-2023 # docker is not supported on amazon 2023 postInstallScript: | # source helper functions source /opt/kurl-testgrid/testhelpers.sh @@ -580,6 +583,7 @@ - rocky-91 - rocky-9 - ol-8x + - amazon-2023 # docker is not supported on amazon 2023 postInstallScript: | # source helper functions source /opt/kurl-testgrid/testhelpers.sh @@ -711,6 +715,7 @@ - rocky-91 - rocky-9 - ol-8x + - amazon-2023 # docker is not supported on amazon 2023 postInstallScript: | # source helper functions source /opt/kurl-testgrid/testhelpers.sh @@ -796,6 +801,7 @@ - rocky-91 - rocky-9 - ol-8x + - amazon-2023 # docker is not supported on amazon 2023 postInstallScript: | # source helper functions source /opt/kurl-testgrid/testhelpers.sh diff --git a/testgrid/specs/deploy.yaml b/testgrid/specs/deploy.yaml index 66e3ccb5b7..d15fba0d9e 100644 --- a/testgrid/specs/deploy.yaml +++ b/testgrid/specs/deploy.yaml @@ -38,6 +38,7 @@ - rocky-91 # docker is not supported on rhel 9 variants - rocky-9 # docker is not supported on rhel 9 variants - centos-9 # docker is not supported on rhel 9 variants + - amazon-2023 # docker is not supported on amazon 2023 - name: "Upgrade to 1.25 to 1.30, Migrate from Rook 1.12.x to OpenEBS + Minio" flags: "yes" installerSpec: diff --git a/testgrid/specs/full.yaml b/testgrid/specs/full.yaml index c6e858c749..7e79706f02 100644 --- a/testgrid/specs/full.yaml +++ b/testgrid/specs/full.yaml @@ -645,6 +645,7 @@ - rocky-91 # doc: - rocky-9 # docker is not supported on rhel 9 variants - centos-9 # docker is not supported on rhel 9 variants + - amazon-2023 # docker is not supported on amazon 2023 - name: "K8s 1.24x Rook" cpu: 6 installerSpec: @@ -770,6 +771,7 @@ - rocky-91 # docker is not supported on rhel 9 variantsl - rocky-9 # docker is not supported on rhel 9 variants - centos-9 # docker is not supported on rhel 9 variants + - amazon-2023 # docker is not supported on amazon 2023 - name: "Upgrade to 1.30 minimal airgap" installerSpec: kubernetes: @@ -2108,6 +2110,7 @@ - rocky-91 # docker is not supported on rhel 9 variants - rocky-9 # docker is not supported on rhel 9 variants - centos-9 # docker is not supported on rhel 9 variants + - amazon-2023 # docker is not supported on amazon 2023 - name: "weave to flannel single node with addons and openebs" flags: "yes" cpu: 8 diff --git a/testgrid/specs/os-firstlast.yaml b/testgrid/specs/os-firstlast.yaml index db6d1108d1..049bf6010a 100644 --- a/testgrid/specs/os-firstlast.yaml +++ b/testgrid/specs/os-firstlast.yaml @@ -56,3 +56,9 @@ version: "22.04" vmimageuri: https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img preinit: "" +- id: amazon-2023 + name: Amazon Linux + version: "2023" + vmimageuri: https://cdn.amazonlinux.com/al2023/os-images/2023.5.20240819.0/kvm/al2023-kvm-2023.5.20240819.0-kernel-6.1-x86_64.xfs.gpt.qcow2 + preinit: | + yum install -y --nobest nfs-utils fio container-selinux lvm2 conntrack-tools iptables-nft socat git iscsi-initiator-utils libcurl-minimal rrdtool yajl containerd diff --git a/testgrid/specs/os-full.yaml b/testgrid/specs/os-full.yaml index af2ba6576e..a182ed157c 100644 --- a/testgrid/specs/os-full.yaml +++ b/testgrid/specs/os-full.yaml @@ -67,3 +67,9 @@ version: "22.04" vmimageuri: https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img preinit: "" +- id: amazon-2023 + name: Amazon Linux + version: "2023" + vmimageuri: https://cdn.amazonlinux.com/al2023/os-images/2023.5.20240819.0/kvm/al2023-kvm-2023.5.20240819.0-kernel-6.1-x86_64.xfs.gpt.qcow2 + preinit: | + yum install -y --nobest nfs-utils fio container-selinux lvm2 conntrack-tools iptables-nft socat git iscsi-initiator-utils libcurl-minimal rrdtool yajl containerd diff --git a/testgrid/specs/os-latest.yaml b/testgrid/specs/os-latest.yaml index e1218e9311..e6909e2aaa 100644 --- a/testgrid/specs/os-latest.yaml +++ b/testgrid/specs/os-latest.yaml @@ -46,4 +46,9 @@ version: "22.04" vmimageuri: https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img preinit: "" - +- id: amazon-2023 + name: Amazon Linux + version: "2023" + vmimageuri: https://cdn.amazonlinux.com/al2023/os-images/2023.5.20240819.0/kvm/al2023-kvm-2023.5.20240819.0-kernel-6.1-x86_64.xfs.gpt.qcow2 + preinit: | + yum install -y --nobest nfs-utils fio container-selinux lvm2 conntrack-tools iptables-nft socat git iscsi-initiator-utils libcurl-minimal rrdtool yajl containerd diff --git a/testgrid/specs/storage-migration.yaml b/testgrid/specs/storage-migration.yaml index 45b65c34af..3f38eb3f61 100644 --- a/testgrid/specs/storage-migration.yaml +++ b/testgrid/specs/storage-migration.yaml @@ -985,6 +985,7 @@ - rocky-91 # docker is not supported on rhel 9 variants - rocky-9 # docker is not supported on rhel 9 variants - ubuntu-2204 # Docker versions < 20.10.17 not supported on ubuntu 22.04 + - amazon-2023 # docker is not supported on amazon 2023 - name: Migrate from OpenEBS (S3 disabled) to OpenEBS + Minio flags: "yes" installerApiEndpoint: https://kurl.sh @@ -1144,6 +1145,7 @@ - ubuntu-2204 # containerd 1.4.x is not supported on ubuntu 22.04 - rocky-91 # docker is not supported on rhel 9 variants - rocky-9 # docker is not supported on rhel 9 variants + - amazon-2023 # docker is not supported on amazon 2023 preInstallScript: | source /opt/kurl-testgrid/testhelpers.sh mkdir -p /var/lib/kurl/assets @@ -1267,6 +1269,7 @@ - ubuntu-2204 # docker 19.03.4 is not supported on ubuntu 22.04 - rocky-91 # docker is not supported on rhel 9 variants - rocky-9 # docker is not supported on rhel 9 variants + - amazon-2023 # docker is not supported on amazon 2023 preInstallScript: | source /opt/kurl-testgrid/testhelpers.sh mkdir -p /var/lib/kurl/assets @@ -1380,6 +1383,7 @@ - ubuntu-2204 # docker 19.03.10 is not supported on ubuntu 22.04 - rocky-91 # docker is not supported on rhel 9 variants - rocky-9 # docker is not supported on rhel 9 variants + - amazon-2023 # docker is not supported on amazon 2023 preInstallScript: | source /opt/kurl-testgrid/testhelpers.sh mkdir -p /var/lib/kurl/assets