Skip to content

Register libvirt-s390x-vpn-ssp cluster profile#5252

Draft
Davo911 wants to merge 1 commit into
openshift:mainfrom
Davo911:register-libvirt-s390x-vpn-ssp
Draft

Register libvirt-s390x-vpn-ssp cluster profile#5252
Davo911 wants to merge 1 commit into
openshift:mainfrom
Davo911:register-libvirt-s390x-vpn-ssp

Conversation

@Davo911

@Davo911 Davo911 commented Jun 16, 2026

Copy link
Copy Markdown

Add a new cluster profile libvirt-s390x-vpn-ssp for running SSP e2e functional tests on s390x architecture in the orange zone VPN environment

This provides a dedicated profile for the SSP operator CI lane, using its own host and Boskos leases, will be added in a follow-up PR
Signed-off-by: Thomas-David Griedel griedel911@gmail.com

Summary

This pull request extends the ci-tools cluster profile API to support an additional s390x “orange zone” VPN libvirt environment intended for SSP e2e functional testing. Concretely, it introduces the new cluster profile libvirt-s390x-vpn-ocp-virt so CI configuration and lease lookup logic can recognize it and map it to the correct cluster type and Boskos quota-slice naming.

Changes

pkg/api/clusterprofile.go

  • Added a new ClusterProfile constant:
    • ClusterProfileLibvirtS390xVPNOCPVirt = "libvirt-s390x-vpn-ocp-virt"
  • Registered the new profile in ClusterProfiles() so it’s considered a valid/accepted profile.
  • Updated mappings so CI request/lease resolution works consistently:
    • ClusterType() maps the profile to cluster type string libvirt-s390x-vpn-ocp-virt
    • LeaseType() maps it to quota-slice libvirt-s390x-vpn-ocp-virt-quota-slice
    • LeaseTypeFromClusterType() accepts libvirt-s390x-vpn-ocp-virt and derives the corresponding -quota-slice lease type

Impact

CI users can reference the new libvirt-s390x-vpn-ocp-virt cluster profile in job configuration to have ci-operator-style infrastructure provisioning correctly resolve the corresponding cluster type and Boskos lease/quota-slice naming for the SSP-focused s390x VPN lane (host and Boskos resource details are expected in a follow-up change).

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: automatic mode

@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 16, 2026
@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 3ed32e68-077c-4c1c-b5b1-b34e772982a8

📥 Commits

Reviewing files that changed from the base of the PR and between 25bc2e2 and 4d5370d.

📒 Files selected for processing (1)
  • pkg/api/clusterprofile.go
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift/release (manual)
  • openshift/ci-docs (manual)
  • openshift/release-controller (manual)
  • openshift/ci-chat-bot (manual)

📝 Walkthrough

Walkthrough

Adds a new ClusterProfileLibvirtS390xVPNOCPVirt constant ("libvirt-s390x-vpn-ocp-virt") to pkg/api/clusterprofile.go and registers it in all four profile mapping functions: ClusterProfiles(), ClusterType(), LeaseType(), and LeaseTypeFromClusterType().

Changes

New libvirt-s390x-vpn-ocp-virt cluster profile

Layer / File(s) Summary
Constant definition and mapping wiring
pkg/api/clusterprofile.go
Declares ClusterProfileLibvirtS390xVPNOCPVirt = "libvirt-s390x-vpn-ocp-virt", includes it in the profiles list, maps it to cluster type "libvirt-s390x-vpn-ocp-virt" in ClusterType(), maps it to lease type "libvirt-s390x-vpn-ocp-virt-quota-slice" in LeaseType(), and registers the reverse lookup in LeaseTypeFromClusterType().

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 16 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title mentions 'libvirt-s390x-vpn-ssp' but the actual constant added is 'libvirt-s390x-vpn-ocp-virt', creating a naming mismatch. Correct the title to 'Register libvirt-s390x-vpn-ocp-virt cluster profile' to match the actual profile name in the code changes.
✅ Passed checks (16 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Go Error Handling ✅ Passed The PR properly implements Go error handling: no ignored errors, no panic statements outside init/fatal, errors wrapped with fmt.Errorf, and nil checks present for pointer dereferences.
Test Coverage For New Features ✅ Passed The PR adds a new cluster profile constant to configuration-only code. Existing test TestClusterProfilesConfig iterates through all profiles in ClusterProfiles() and tests their ClusterType()/Lease...
Stable And Deterministic Test Names ✅ Passed PR modifies only pkg/api/clusterprofile.go, a non-test configuration file that adds cluster profile constants. Contains no Ginkgo test code (It, Describe, Context, When), so test naming check is no...
Test Structure And Quality ✅ Passed This PR adds a cluster profile constant to pkg/api/clusterprofile.go and contains no Ginkgo test code, making the test quality check not applicable to this pull request.
Microshift Test Compatibility ✅ Passed This PR adds a cluster profile constant to pkg/api/clusterprofile.go, not Ginkgo e2e tests. The MicroShift compatibility check is not applicable here.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR modifies only cluster profile constants in pkg/api/clusterprofile.go, not Ginkgo e2e tests. SNO compatibility check does not apply.
Topology-Aware Scheduling Compatibility ✅ Passed PR only adds a ClusterProfile constant to pkg/api/clusterprofile.go for CI configuration; no deployment manifests, operator code, controllers, or scheduling constraints are introduced.
Ote Binary Stdout Contract ✅ Passed File pkg/api/clusterprofile.go contains only constant definitions and pure mapping functions with no process-level code (no main/init/TestMain/suite functions) and no stdout writes (no fmt/log/klog...
Ipv6 And Disconnected Network Test Compatibility ✅ Passed This PR adds a cluster profile constant to pkg/api/clusterprofile.go, not Ginkgo e2e tests. The check only applies when new Ginkgo e2e tests are added, so it's not applicable here.
No-Weak-Crypto ✅ Passed No weak cryptography detected. The PR adds infrastructure configuration constants to a cluster profile file with no cryptographic operations, crypto imports, or secret handling.
Container-Privileges ✅ Passed PR only modifies pkg/api/clusterprofile.go, a Go source file defining cluster profile constants and conversion functions. No container/K8s manifests with privileged configurations are present.
No-Sensitive-Data-In-Logs ✅ Passed No logging statements in the file and all changes are generic cluster profile names without passwords, tokens, API keys, PII, session IDs, or customer data.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Davo911
Once this PR has been reviewed and has the lgtm label, please assign deepsm007 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

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Hi @Davo911. Thanks for your PR.

I'm waiting for a openshift 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.

Regular contributors should join the org to skip this step.

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.

@openshift-ci openshift-ci Bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jun 16, 2026

@nestoracunablanco nestoracunablanco left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR, @Davo911. Some comments only regarding naming convention.

Comment thread pkg/api/clusterprofile.go Outdated
ClusterProfileLibvirtS390xAmd64 ClusterProfile = "libvirt-s390x-amd64"
ClusterProfileLibvirtS390xVPN ClusterProfile = "libvirt-s390x-vpn"
ClusterProfileLibvirtS390xVPNOZ ClusterProfile = "libvirt-s390x-vpn-oz"
ClusterProfileLibvirtS390xVPNSSP ClusterProfile = "libvirt-s390x-vpn-ssp"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Davo911 thanks for the PR. The idea is to use the profile not only in the ssp operator, so in another components. What about another naming convention, like ClusterProfileLibvirtS390xVPNOcpVirt?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bear-redhat, to avoid any confusion: this is for the end-to-end tests. For unit tests, we'll need the approach we discussed regarding the compute node.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in that case I agree, the naming should be more inclusive
I'm fine with OcpVirt as suffix

Add a new cluster profile `libvirt-s390x-vpn-ssp` for running SSP e2e functional tests on s390x architecture in the
orange zone VPN environment

This provides a dedicated profile for the SSP operator CI lane,
using its own host and Boskos leases, will be added in a
follow-up PR
Signed-off-by: Thomas-David Griedel griedel911@gmail.com
@Davo911 Davo911 force-pushed the register-libvirt-s390x-vpn-ssp branch from 25bc2e2 to 4d5370d Compare June 16, 2026 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants