From fd206a19f5f7ac33c2483aacd8ead6bb9b35e275 Mon Sep 17 00:00:00 2001 From: Kay Yan Date: Thu, 10 Sep 2026 11:56:33 +0800 Subject: [PATCH] CI: add Ubuntu 26.04 support and coverage (#13443) * image-builder: add Ubuntu 26.04 image Signed-off-by: Kay Yan * CI: add Ubuntu 26.04 support Add an Ubuntu 26.04 CI job (ubuntu26-calico-all-in-one) to the main PR matrix, OS-specific node vars, and update the coverage docs. The VM image is published as quay.io/kubespray/vm-ubuntu-2604. Signed-off-by: Kay Yan --------- Signed-off-by: Kay Yan --- .gitlab-ci/kubevirt.yml | 1 + README.md | 2 +- docs/developers/ci.md | 3 +++ roles/kubernetes/node/vars/ubuntu-26.yml | 2 ++ .../roles/kubevirt-images/defaults/main.yml | 7 +++++ tests/files/ubuntu26-calico-all-in-one.yml | 27 +++++++++++++++++++ 6 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 roles/kubernetes/node/vars/ubuntu-26.yml create mode 100644 tests/files/ubuntu26-calico-all-in-one.yml diff --git a/.gitlab-ci/kubevirt.yml b/.gitlab-ci/kubevirt.yml index fca378678..8f144d5bc 100644 --- a/.gitlab-ci/kubevirt.yml +++ b/.gitlab-ci/kubevirt.yml @@ -57,6 +57,7 @@ pr: - ubuntu24-ha-separate-etcd - ubuntu24-kube-router-sep - ubuntu24-kube-router-svc-proxy + - ubuntu26-calico-all-in-one # This is for flakey test so they don't disrupt the PR worklflow too much. # Jobs here MUST have a open issue so we don't lose sight of them diff --git a/README.md b/README.md index 39e36d509..dfcf056fa 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ vagrant up - **Flatcar Container Linux by Kinvolk** - **Debian** Bookworm, Trixie -- **Ubuntu** 22.04, 24.04 +- **Ubuntu** 22.04, 24.04, 26.04 - **CentOS Stream / RHEL** 9, 10 - **Fedora** 39, 40, 41, 42 - **Fedora CoreOS** (see [fcos Note](docs/operating_systems/fcos.md)) diff --git a/docs/developers/ci.md b/docs/developers/ci.md index dd5681d2f..83f4ee011 100644 --- a/docs/developers/ci.md +++ b/docs/developers/ci.md @@ -19,6 +19,7 @@ rockylinux10 | :white_check_mark: | :white_check_mark: | :x: | :x: | :x: | :x: rockylinux9 | :white_check_mark: | :white_check_mark: | :x: | :x: | :x: | :x: | ubuntu22 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | ubuntu24 | :white_check_mark: | :white_check_mark: | :x: | :white_check_mark: | :x: | :white_check_mark: | +ubuntu26 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | ## crio @@ -37,6 +38,7 @@ rockylinux10 | :x: | :x: | :x: | :x: | :x: | :x: | rockylinux9 | :x: | :x: | :x: | :x: | :x: | :x: | ubuntu22 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | ubuntu24 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | +ubuntu26 | :x: | :x: | :x: | :x: | :x: | :x: | ## docker @@ -55,3 +57,4 @@ rockylinux10 | :x: | :x: | :x: | :x: | :x: | :x: | rockylinux9 | :x: | :x: | :x: | :x: | :x: | :x: | ubuntu22 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | ubuntu24 | :white_check_mark: | :x: | :x: | :x: | :x: | :x: | +ubuntu26 | :x: | :x: | :x: | :x: | :x: | :x: | diff --git a/roles/kubernetes/node/vars/ubuntu-26.yml b/roles/kubernetes/node/vars/ubuntu-26.yml new file mode 100644 index 000000000..59bc55dda --- /dev/null +++ b/roles/kubernetes/node/vars/ubuntu-26.yml @@ -0,0 +1,2 @@ +--- +kube_resolv_conf: "/run/systemd/resolve/resolv.conf" diff --git a/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml b/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml index 4bbff70b9..dc73da04e 100644 --- a/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml +++ b/test-infra/image-builder/roles/kubevirt-images/defaults/main.yml @@ -32,6 +32,13 @@ images: converted: false tag: "latest" + ubuntu-2604: + filename: ubuntu-26.04-server-cloudimg-amd64.img + url: https://cloud-images.ubuntu.com/releases/resolute/release-20260823/ubuntu-26.04-server-cloudimg-amd64.img + checksum: sha256:8196be9d7958059cb56c6c75c80fdf6cee8a8885bc149ea791d7db1c7ef93035 + converted: false + tag: "latest" + fedora-37: filename: Fedora-Cloud-Base-37-1.7.x86_64.qcow2 url: https://download.fedoraproject.org/pub/fedora/linux/releases/37/Cloud/x86_64/images/Fedora-Cloud-Base-37-1.7.x86_64.qcow2 diff --git a/tests/files/ubuntu26-calico-all-in-one.yml b/tests/files/ubuntu26-calico-all-in-one.yml new file mode 100644 index 000000000..c3c78b709 --- /dev/null +++ b/tests/files/ubuntu26-calico-all-in-one.yml @@ -0,0 +1,27 @@ +--- +# Instance settings +cloud_image: ubuntu-2604 +mode: all-in-one +vm_memory: 3072 + +# Kubespray settings +auto_renew_certificates: true + +# Currently ipvs not available on KVM: https://packages.ubuntu.com/search?suite=resolute&arch=amd64&mode=exactfilename&searchon=contents&keywords=ip_vs_sh.ko +kube_proxy_mode: iptables +enable_nodelocaldns: false + +containerd_registries_mirrors: + - prefix: docker.io + mirrors: + - host: https://mirror.gcr.io + capabilities: ["pull", "resolve"] + skip_verify: false + - prefix: 172.19.16.11:5000 + mirrors: + - host: http://172.19.16.11:5000 + capabilities: ["pull", "resolve", "push"] + skip_verify: true + +kube_reserved: true +system_reserved: true