Skip to content

🌱 Add ClusterClass topology tests for ubuntu and bastion - #3121

Open
larainema wants to merge 1 commit into
kubernetes-sigs:mainfrom
larainema:feat/clusterclass-topology-tests
Open

🌱 Add ClusterClass topology tests for ubuntu and bastion#3121
larainema wants to merge 1 commit into
kubernetes-sigs:mainfrom
larainema:feat/clusterclass-topology-tests

Conversation

@larainema

Copy link
Copy Markdown
Contributor

What issue does this PR address?

Issue #2796

What does this PR do?

Adds two new non-PR-blocking ClusterClass test variants to the e2e test suite:

  1. topology-ubuntu: Tests the ClusterClass with a standard ubuntu image without ignition/sysext configuration (injectIgnitionSysext: false)
  2. topology-bastion: Tests the ClusterClass with a standard ubuntu image and bastion enabled (bastion.enabled: true)

These complement the existing [PR-Blocking] topology test (which uses flatcar + ignition/sysext) by exercising additional variable combinations of the dev-test ClusterClass.

Changes

  • New kustomize overlays: topology-ubuntu/ and topology-bastion/
  • New test file: clusterclass_test.go with two QuickStartSpec tests tagged [ClusterClass] only (not [PR-Blocking])
  • New flavor constants: FlavorTopologyUbuntu and FlavorTopologyBastion
  • Updated Makefile and e2e_conf.yaml to register the new templates

Why not PR-blocking?

As noted in the issue, these tests should run in the periodic/full suite only to avoid adding to PR verification time. They are tagged with [ClusterClass] but intentionally omit the [PR-Blocking] tag.

@netlify

netlify Bot commented Apr 16, 2026

Copy link
Copy Markdown

Deploy Preview for kubernetes-sigs-cluster-api-openstack ready!

Name Link
🔨 Latest commit 2eb6968
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-sigs-cluster-api-openstack/deploys/6a6c6e3703a2df0008b3fd7e
😎 Deploy Preview https://deploy-preview-3121--kubernetes-sigs-cluster-api-openstack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@k8s-ci-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign neolit123 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Apr 16, 2026
@k8s-ci-robot

Copy link
Copy Markdown
Contributor

Hi @larainema. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work.

Tip

We noticed you've done this a few times! Consider joining the org to skip this step and gain /lgtm and other bot rights. We recommend asking approvers on your previous PRs to sponsor you.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Apr 16, 2026
@nikParasyr

Copy link
Copy Markdown
Contributor

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Apr 17, 2026
@lentzi90

Copy link
Copy Markdown
Contributor

/test pull-cluster-api-provider-openstack-e2e-full-test

@k8s-ci-robot

Copy link
Copy Markdown
Contributor

@larainema: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-cluster-api-provider-openstack-e2e-full-test 15dd111 link false /test pull-cluster-api-provider-openstack-e2e-full-test

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@k8s-triage-robot

Copy link
Copy Markdown

The Kubernetes project currently lacks enough contributors to adequately respond to all PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Mark this PR as fresh with /remove-lifecycle stale
  • Close this PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@kubernetes-prow kubernetes-prow Bot added lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jul 23, 2026
@larainema
larainema force-pushed the feat/clusterclass-topology-tests branch from 15dd111 to 78d63fe Compare July 30, 2026 05:02
@kubernetes-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign neolit123 for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubernetes-prow kubernetes-prow Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 30, 2026
@larainema

Copy link
Copy Markdown
Contributor Author

/remove-lifecycle stale

@kubernetes-prow kubernetes-prow Bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 30, 2026
@lentzi90

Copy link
Copy Markdown
Contributor

/test pull-cluster-api-provider-openstack-e2e-full-test

@lentzi90

Copy link
Copy Markdown
Contributor

There is some issue with this.

INFO: error creating cluster.x-k8s.io/v1beta2 Cluster quick-start-mfvkai/quick-start-wfo2hh, will retry: admission webhook "default.cluster.cluster.x-k8s.io" denied the request: Cluster.cluster.x-k8s.io "quick-start-wfo2hh" is invalid: spec.topology.variables[bastion].value.spec.flavor: Invalid value: "{\"enabled\":false,\"spec\":{\"flavor\":\"m1.small\",\"image\":{\"imageRef\":{\"name\":\"bastion-image\"}},\"sshKeyName\":\"cluster-api-provider-openstack-sigs-k8s-io\"}}": spec.flavor in body must be of type object: "string"

Add two new non-PR-blocking ClusterClass test variants:

- topology-ubuntu: Tests ClusterClass with a standard ubuntu image
  without ignition/sysext configuration
- topology-bastion: Tests ClusterClass with a standard ubuntu image
  and bastion enabled

These tests exercise additional ClusterClass configurations beyond
the existing flatcar+sysext PR-blocking test, verifying that the
ClusterClass works correctly with different variable combinations.

The tests are not tagged as PR-Blocking so they only run in the
full periodic test suite.
@larainema
larainema force-pushed the feat/clusterclass-topology-tests branch from 78d63fe to 2eb6968 Compare July 31, 2026 09:43
@larainema

Copy link
Copy Markdown
Contributor Author

Thanks, good catch! Fixed in the latest push by matching the existing topology templates and using spec.flavor.filter.name for the bastion flavor in both new variants.

/test pull-cluster-api-provider-openstack-e2e-full-test

@larainema

Copy link
Copy Markdown
Contributor Author

I checked the latest full e2e failure. The original admission-webhook error is gone, and both new specs passed in that run:

  • topology-ubuntu: passed
  • topology-bastion: passed

The Ginkgo suite itself ended with SUCCESS! -- 8 Passed | 0 Failed | 0 Pending | 12 Skipped and Test Suite Passed. The job failed after that during cleanup/Prow timeout handling: kill: (587) - No such process, followed by Process did not finish before 5h0m0s timeout.

So I do not see another template/test failure from this PR in that run; this looks like a CI cleanup/infra flake. Rerunning the optional job:

/test pull-cluster-api-provider-openstack-e2e-full-test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

Status: Inbox

Development

Successfully merging this pull request may close these issues.

5 participants