Skip to content

Add vSphere platform=none Windows Containers CI jobs#76098

Open
rrasouli wants to merge 1 commit intoopenshift:mainfrom
rrasouli:vsphere-upi-winc
Open

Add vSphere platform=none Windows Containers CI jobs#76098
rrasouli wants to merge 1 commit intoopenshift:mainfrom
rrasouli:vsphere-upi-winc

Conversation

@rrasouli
Copy link
Contributor

Add vSphere platform=none Windows Containers CI jobs for OCP 4.18-4.22

Summary

This PR adds periodic and debug presubmit CI jobs for Windows Containers testing on vSphere platform=none (UPI) for OpenShift versions 4.18 through 4.22.

This is to test platform=none seamlessly and validate that Windows Container tests work correctly on UPI clusters without Machine API.

Changes

CI Job Configurations

Release 4.18-4.21:

  • Added debug presubmit jobs (debug-winc-vsphere-none)
  • Triggered on changes to test/extended/winc/ directory
  • Uses cucushift-installer-rehearse-vsphere-none-ovn-winc workflow

Release 4.22 (active release):

  • Added periodic job (vsphere-none-ovn-winc-f7) - runs weekly
  • Added debug presubmit job - triggered by code changes
  • Provides comprehensive coverage for the current development release

New Workflow

Created cucushift-installer-rehearse-vsphere-none-ovn-winc workflow:

  • Provisions vSphere UPI cluster with platform: none and OVN hybrid overlay networking
  • Uses existing upi-vsphere-platform-none-ovn-pre chain for cluster provisioning
  • Provisions Windows VMs via upi-vsphere-windows-pre (vSphere VM provisioning)
  • Deploys WMCO (Windows Machine Config Operator) from Konflux
  • Uses cucushift-installer-check-upi chain to skip controlplanemachinesets validation

Shared Step Registry Components (from AWS PR)

1. UPI Check Chain
ci-operator/step-registry/cucushift/installer/check/upi/

Installer health check chain for UPI clusters that excludes controlplanemachinesets validation:

  • Platform=none clusters don't support ControlPlaneMachineSets
  • Includes all other checks (operators, info, capability, realtime, compact, fips)

2. BYOH Windows Workload Preparation
ci-operator/step-registry/cucushift/winc/prepare/byoh/

Prepares Windows Container test workloads for BYOH/UPI clusters:

  • Sets up ImageTagMirrorSet to redirect Windows images to CI registry mirror
  • Waits for Windows nodes to become Ready and schedulable
  • Removes CCM uninitialized taint from Windows nodes (BYOH nodes don't need CCM)
  • Creates test workloads (Windows and Linux deployments, services)
  • Validates workloads are running before tests begin

Technical Details

vSphere Platform=None Architecture

Platform=none on vSphere:

  • No cloud provider integration
  • No Machine API / no MachineSets
  • Manual VM provisioning via vSphere
  • OVN hybrid overlay for Windows networking
  • No CCM (Cloud Controller Manager) taints

OVN Hybrid Networking

Windows Containers require OVN hybrid overlay networking:

  • Linux nodes: Standard OVN-Kubernetes
  • Windows nodes: Hybrid overlay network
  • Configuration via Network CR manifests
  • Created by ovn-conf-hybrid-manifest-with-custom-vxlan-port step

Workflow Architecture

upi-vsphere-platform-none-ovn-pre
  ↓
enable-qe-catalogsource
  ↓
openshift-windows-setup-wmco-konflux (deploy WMCO)
  ↓
windows-conf-operator (configure WMCO)
  ↓
upi-vsphere-windows-pre (provision Windows VMs)
  ↓
cucushift-winc-prepare-byoh (mirror images, remove CCM taint, create test workloads)
  ↓
cucushift-installer-check-upi (validates cluster health, excludes CPMS check)
  ↓
openshift-extended-test (run Windows Container e2e tests)
  ↓
upi-vsphere-windows-post + upi-vsphere-platform-none-ovn-post (cleanup)

Testing

Rehearsal Commands

4.22 Periodic:

/pj-rehearse periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-vsphere-none-ovn-winc-f7

Debug Presubmits (triggered by changing test/extended/winc/):

  • 4.18: debug-winc-vsphere-none on release-4.18 branch
  • 4.19: debug-winc-vsphere-none on release-4.19 branch
  • 4.20: debug-winc-vsphere-none on release-4.20 branch
  • 4.21: debug-winc-vsphere-none on release-4.21 branch
  • 4.22: debug-winc-vsphere-none on release-4.22 branch

Files Modified

New Files (Step Registry Components)

  • ci-operator/step-registry/cucushift/installer/check/upi/ - UPI check chain
  • ci-operator/step-registry/cucushift/winc/prepare/byoh/ - BYOH workload preparation
  • ci-operator/step-registry/cucushift/installer/rehearse/vsphere/none/ovn/winc/ - vSphere platform=none Windows workflow

Configuration Files

  • ci-operator/config/openshift/openshift-tests-private/ - CI job configurations (6 files)
  • ci-operator/jobs/openshift/openshift-tests-private/ - Generated Prow jobs (6 files)

Related Work

Jira: https://issues.redhat.com/browse/WINC-1482

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 11, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: rrasouli
Once this PR has been reviewed and has the lgtm label, please assign jechen0648, jianlinliu 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 requested review from jianlinliu and jinyunma March 11, 2026 15:46
@rrasouli
Copy link
Contributor Author

/pj-rehearse periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-vsphere-none-ovn-winc-f7

@openshift-ci-robot
Copy link
Contributor

@rrasouli: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@rrasouli rrasouli force-pushed the vsphere-upi-winc branch 4 times, most recently from 9a37fc2 to 9b590b7 Compare March 11, 2026 17:24
@rrasouli
Copy link
Contributor Author

/pj-rehearse periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-vsphere-none-ovn-winc-f7

@openshift-ci-robot
Copy link
Contributor

@rrasouli: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

- Add debug and periodic (f7) jobs for releases 4.18-4.22
- Use cucushift-installer-rehearse-vsphere-none-ovn-winc workflow
- Extract Windows version from vSphere template name (windows-server-2022-template-qe-20241104)
- Wait for Windows nodes to appear and become Ready before creating workloads (30m timeout)
- Remove Windows Server 2019 support (vSphere only supports 2022, 2019 is EOL)
- Use winc-approvers/winc-reviewers team aliases in OWNERS
- Create OWNERS symlinks for all intermediate directories
- Generated cron schedule: 25 19 7,14,21,28 * * (every 7 days)

This allows vSphere platform=none (true UPI without Machine API) to run
Windows Containers tests by waiting for WMCO to join nodes, then creating
test workloads once nodes are Ready.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 11, 2026

@rrasouli: 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
ci/rehearse/periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-vsphere-none-ovn-winc-f7 9b590b7 link unknown /pj-rehearse periodic-ci-openshift-openshift-tests-private-release-4.22-amd64-nightly-vsphere-none-ovn-winc-f7

Full PR test history. Your PR dashboard.

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.

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