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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
upgrade:
- |
The default Magnum Kubernetes images now use Ubuntu 24.04 and Kubernetes
versions 1.33.12, 1.34.8, 1.35.5, and 1.36.1.
8 changes: 4 additions & 4 deletions roles/magnum/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
## Creating cluster templates

By default, Atmosphere deploys a set of images for Kubernetes. These cover a
range of Kubernetes versions, from 1.25.11 to 1.27.3. You can create the
cluster templates for them with the following command:
range of Kubernetes versions, from 1.33.12 to 1.36.1, on Ubuntu 24.04. You can
create the cluster templates for them with the following command:

```shell
for version in v1.25.11 v1.26.6 v1.27.3; do
for version in v1.33.12 v1.34.8 v1.35.5 v1.36.1; do
openstack coe cluster template create \
--image $(openstack image show ubuntu-2204-kube-${version} -c id -f value) \
--image $(openstack image show ubuntu-2404-kube-${version} -c id -f value) \
--external-network public \
--dns-nameserver 8.8.8.8 \
--master-lb-enabled \
Expand Down
15 changes: 9 additions & 6 deletions roles/magnum/vars/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,15 @@ _magnum_helm_values:
_magnum_registry_ingress_annotations: {}

_magnum_images:
- name: ubuntu-2204-kube-v1.32.10
url: https://github.com/vexxhost/capo-image-elements/releases/download/2025.12-3/ubuntu-22.04-v1.32.10.qcow2
- name: ubuntu-2404-kube-v1.33.12
url: https://github.com/vexxhost/capo-image-elements/releases/download/2026.05-7/ubuntu-24.04-v1.33.12.qcow2
distro: ubuntu
- name: ubuntu-2204-kube-v1.33.7
url: https://github.com/vexxhost/capo-image-elements/releases/download/2025.12-3/ubuntu-22.04-v1.33.7.qcow2
- name: ubuntu-2404-kube-v1.34.8
url: https://github.com/vexxhost/capo-image-elements/releases/download/2026.05-7/ubuntu-24.04-v1.34.8.qcow2
distro: ubuntu
- name: ubuntu-2204-kube-v1.34.3
url: https://github.com/vexxhost/capo-image-elements/releases/download/2025.12-3/ubuntu-22.04-v1.34.3.qcow2
- name: ubuntu-2404-kube-v1.35.5
url: https://github.com/vexxhost/capo-image-elements/releases/download/2026.05-7/ubuntu-24.04-v1.35.5.qcow2
distro: ubuntu
- name: ubuntu-2404-kube-v1.36.1
url: https://github.com/vexxhost/capo-image-elements/releases/download/2026.05-7/ubuntu-24.04-v1.36.1.qcow2
distro: ubuntu
44 changes: 38 additions & 6 deletions roles/magnum/vars_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ var (

type Vars struct {
openstack_helm.HelmValues `yaml:"_magnum_helm_values"`
MagnumImages []MagnumImage `yaml:"_magnum_images"`
}

type MagnumImage struct {
Name string `yaml:"name"`
URL string `yaml:"url"`
Distro string `yaml:"distro"`
}

func TestMain(m *testing.M) {
Expand All @@ -38,9 +45,9 @@ func TestHelmValues(t *testing.T) {
// for the actual template. Like:
// {{ tuple "heat_api" . | include "helm-toolkit.snippets.kubernetes_pod_priority_class" }}
vars.HelmValues.Pod.PriorityClass = map[string]string{
"bootstrap": "high-priority",
"db_sync": "high-priority",
"magnum_api": "high-priority",
"bootstrap": "high-priority",
"db_sync": "high-priority",
"magnum_api": "high-priority",
"magnum_conductor": "high-priority",
}
// (rlin): Before you add any new runtime class here.
Expand All @@ -49,9 +56,9 @@ func TestHelmValues(t *testing.T) {
// for the actual template. Like:
// {{ tuple "heat_api" . | include "helm-toolkit.snippets.kubernetes_pod_runtime_class" }}
vars.HelmValues.Pod.RuntimeClass = map[string]string{
"bootstrap": "kata-clh",
"db_sync": "kata-clh",
"magnum_api": "kata-clh",
"bootstrap": "kata-clh",
"db_sync": "kata-clh",
"magnum_api": "kata-clh",
"magnum_conductor": "kata-clh",
}
vals, err := openstack_helm.CoalescedHelmValues("../../charts/magnum", &vars.HelmValues)
Expand All @@ -61,3 +68,28 @@ func TestHelmValues(t *testing.T) {
testutils.TestAllPodsHaveRuntimeClass(t, vals)
testutils.TestAllPodsHavePriorityClass(t, vals)
}

func TestMagnumImages(t *testing.T) {
require.Equal(t, []MagnumImage{
{
Name: "ubuntu-2404-kube-v1.33.12",
URL: "https://github.com/vexxhost/capo-image-elements/releases/download/2026.05-7/ubuntu-24.04-v1.33.12.qcow2",
Distro: "ubuntu",
},
{
Name: "ubuntu-2404-kube-v1.34.8",
URL: "https://github.com/vexxhost/capo-image-elements/releases/download/2026.05-7/ubuntu-24.04-v1.34.8.qcow2",
Distro: "ubuntu",
},
{
Name: "ubuntu-2404-kube-v1.35.5",
URL: "https://github.com/vexxhost/capo-image-elements/releases/download/2026.05-7/ubuntu-24.04-v1.35.5.qcow2",
Distro: "ubuntu",
},
{
Name: "ubuntu-2404-kube-v1.36.1",
URL: "https://github.com/vexxhost/capo-image-elements/releases/download/2026.05-7/ubuntu-24.04-v1.36.1.qcow2",
Distro: "ubuntu",
},
}, vars.MagnumImages)
}
Loading