Skip to content

fix(ci): gate USB e2e by Kubernetes version and fallback to default NFS storage class#2307

Merged
universal-itengineer merged 1 commit into
mainfrom
fix/ci/e2e-nested-prechek-e2e-test
Apr 30, 2026
Merged

fix(ci): gate USB e2e by Kubernetes version and fallback to default NFS storage class#2307
universal-itengineer merged 1 commit into
mainfrom
fix/ci/e2e-nested-prechek-e2e-test

Conversation

@universal-itengineer
Copy link
Copy Markdown
Member

@universal-itengineer universal-itengineer commented Apr 30, 2026

Description

Skip USB e2e specs on nested clusters that run Kubernetes versions below 1.34 by checking the actual API server version during the reusable CI pipeline. Also make NFS infra disks omit storageClassName when no storage class is explicitly set so the cluster default storage class can be used.

Why do we need it, and what problem does it solve?

The nested NFS CI job can be created with an automatically selected Kubernetes version, and that version may be lower than 1.34. In that case the cluster does not provide the USB setup required by the usb-precheck, so the suite fails in SynchronizedBeforeSuite before any regular specs run.

This change makes the pipeline decide whether USB e2e should run from the actual nested cluster server version instead of relying on the requested cluster configuration. It also keeps the NFS infra templates aligned with the existing storage class behavior by falling back to the cluster default storage class when one is not passed explicitly.

What is the expected result?

  1. Run the nested e2e pipeline against a cluster with Kubernetes version lower than 1.34.
  2. Verify that USB-labeled specs are excluded from the e2e run and the suite proceeds without failing in usb-precheck.
  3. Run the same pipeline against a cluster with Kubernetes version 1.34 or higher.
  4. Verify that USB e2e specs remain enabled.
  5. Verify that NFS infra VirtualDisk resources can still be created when storageClass is omitted and the cluster default storage class is configured.

Checklist

  • The code is covered by unit tests.
  • e2e tests passed.
  • Documentation updated according to the changes.
  • Changes were tested in the Kubernetes cluster manually.

Changelog entries

section: ci
type: fix
summary: Skip USB nested e2e on Kubernetes versions below 1.34 and fall back to the default NFS storage class.
impact_level: low

…FS storage class

Signed-off-by: Nikita Korolev <nikita.korolev@flant.com>
@universal-itengineer universal-itengineer marked this pull request as ready for review April 30, 2026 08:44
@universal-itengineer universal-itengineer added this to the v1.9.0 milestone Apr 30, 2026
@universal-itengineer universal-itengineer merged commit b9ce921 into main Apr 30, 2026
29 of 32 checks passed
@universal-itengineer universal-itengineer deleted the fix/ci/e2e-nested-prechek-e2e-test branch April 30, 2026 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants