From 7b143f93e37ef733b099d786065b03406df719b6 Mon Sep 17 00:00:00 2001 From: James Nesbitt Date: Mon, 8 Jun 2026 12:05:35 +0300 Subject: [PATCH] smoke: add TestCuttingEdgeCluster (rhel10/rocky10/ubuntu24/sles15) Adds a new smoke test targeting the latest gen-10 distributions: - RHEL 10, Rocky 10, Ubuntu 24.04 as managers and workers - SLES 15 as an additional worker Also adds: - Rhel10 and Rocky10 platform definitions in test/platforms.go - smoke-cutting-edge Makefile target (50m timeout) - smoke-cutting-edge CI job triggered by the smoke-cutting-edge label NOTE: This test depends on terraform-mirantis-modules/terraform-mirantis-provision-aws PR #22 being merged (adds rhel_10 and rocky_10 platform keys to the provision-aws module). The test will fail until the module is updated and the version bumped in examples/terraform/aws-simple/. Co-Authored-By: Claude Sonnet 4.6 Signed-off-by: James Nesbitt --- .github/workflows/smoke-tests.yaml | 17 +++++++++++++++++ Makefile | 4 ++++ test/platforms.go | 14 ++++++++++++++ test/smoke/smoke_test.go | 23 +++++++++++++++++++++++ 4 files changed, 58 insertions(+) diff --git a/.github/workflows/smoke-tests.yaml b/.github/workflows/smoke-tests.yaml index 74515196..eab867c2 100644 --- a/.github/workflows/smoke-tests.yaml +++ b/.github/workflows/smoke-tests.yaml @@ -52,6 +52,23 @@ jobs: AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} run: make smoke-legacy + smoke-cutting-edge: + runs-on: ubuntu-latest + if: | + github.event_name == 'push' || + contains(github.event.pull_request.labels.*.name, 'smoke-test') || + contains(github.event.pull_request.labels.*.name, 'smoke-cutting-edge') + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup Terraform + uses: hashicorp/setup-terraform@v3 + - name: Run cutting-edge smoke test + env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + run: make smoke-cutting-edge + smoke-windows: runs-on: ubuntu-latest if: | diff --git a/Makefile b/Makefile index 8eb84ba7..9a4f34f6 100644 --- a/Makefile +++ b/Makefile @@ -52,6 +52,10 @@ functional-test: integration-test: go test -v ./test/integration/... -timeout 20m +.PHONY: smoke-cutting-edge +smoke-cutting-edge: + go test -count=1 -v ./test/smoke/... -run TestCuttingEdgeCluster -timeout 50m + .PHONY: smoke-modern smoke-modern: go test -count=1 -v ./test/smoke/... -run TestModernCluster -timeout 50m diff --git a/test/platforms.go b/test/platforms.go index 19eee0cd..25882eed 100644 --- a/test/platforms.go +++ b/test/platforms.go @@ -117,6 +117,20 @@ var Platforms = map[string]Platform{ Public: true, UserData: "sudo firewall-cmd --permanent --add-port=2377/tcp --add-port=7946/tcp --add-port=7946/udp --add-port=4789/udp --add-port=10250/tcp; sudo firewall-cmd --reload", }, + "Rocky10": { + Name: "rocky_10", + Count: 1, + VolumeSize: "100", + Public: true, + UserData: "sudo firewall-cmd --permanent --add-port=2377/tcp --add-port=7946/tcp --add-port=7946/udp --add-port=4789/udp --add-port=10250/tcp; sudo firewall-cmd --reload", + }, + "Rhel10": { + Name: "rhel_10", + Count: 1, + VolumeSize: "100", + Public: true, + UserData: "sudo firewall-cmd --permanent --add-port=2377/tcp --add-port=7946/tcp --add-port=7946/udp --add-port=4789/udp --add-port=10250/tcp; sudo firewall-cmd --reload", + }, "Windows2019": { Name: "windows_2019", Count: 1, diff --git a/test/smoke/smoke_test.go b/test/smoke/smoke_test.go index b396432c..521067bb 100644 --- a/test/smoke/smoke_test.go +++ b/test/smoke/smoke_test.go @@ -187,6 +187,29 @@ func TestModernCluster(t *testing.T) { }) } +// TestCuttingEdgeCluster exercises rhel10/rocky10/ubuntu24 managers and workers +// with sles15 as an additional worker, using the latest MCR and MKE versions. +// Requires terraform-mirantis-modules/terraform-mirantis-provision-aws PR #22 (rhel_10/rocky_10 +// platform keys) to be merged and the module version bumped before this test can run. +func TestCuttingEdgeCluster(t *testing.T) { + runSmokeTest(t, smokeConfig{ + Name: "cutting-edge", + MCRChannel: "stable-29.4", + MKEVersion: "3.9.2", + MSRVersion: "3.1.18", + SSHKeyAlgorithm: "ed25519", + Nodegroups: map[string]interface{}{ + "MngrRhel10": test.Platforms["Rhel10"].GetManager(), + "MngrRocky10": test.Platforms["Rocky10"].GetManager(), + "MngrUbuntu24": test.Platforms["Ubuntu24"].GetManager(), + "WrkRhel10": test.Platforms["Rhel10"].GetWorker(), + "WrkRocky10": test.Platforms["Rocky10"].GetWorker(), + "WrkSles15": test.Platforms["Sles15"].GetWorker(), + "WrkUbuntu24": test.Platforms["Ubuntu24"].GetWorker(), + }, + }) +} + // TestLegacyCluster exercises rhel8/rocky8/ubuntu22 managers and workers // with MCR stable-25.0 and MKE 3.8.8. func TestLegacyCluster(t *testing.T) {