Skip to content

[wmco] Add azure-e2e-operator-2machine CI job#81847

Open
ranjithrajaram wants to merge 1 commit into
openshift:mainfrom
ranjithrajaram:wmco-2machine-e2e
Open

[wmco] Add azure-e2e-operator-2machine CI job#81847
ranjithrajaram wants to merge 1 commit into
openshift:mainfrom
ranjithrajaram:wmco-2machine-e2e

Conversation

@ranjithrajaram

@ranjithrajaram ranjithrajaram commented Jul 14, 2026

Copy link
Copy Markdown

Add a MACHINE_NODE_COUNT env var to the windows-e2e-operator-test step ref, allowing CI jobs to control how many Windows Machine instances are created. The default remains 1, preserving existing job behavior.

Add an azure-e2e-operator-2machine job variant for WMCO on master that sets MACHINE_NODE_COUNT=2. This enables E2E validation of the MaxParallelUpgrades constraint during userData-triggered Machine recreation, which requires at least 2 Machine-backed Windows nodes.

This is required for WMCO PR
openshift/windows-machine-config-operator#4155

Summary by CodeRabbit

  • Adds configurable Windows Machine counts to the windows-e2e-operator-test CI step, defaulting to one machine.
  • Adds a two-machine Azure WMCO E2E job on master to validate MaxParallelUpgrades during userData-triggered Machine recreation.

Add a MACHINE_NODE_COUNT env var to the windows-e2e-operator-test step
ref, allowing CI jobs to control how many Windows Machine instances are
created. The default remains 1, preserving existing job behavior.

Add an azure-e2e-operator-2machine job variant for WMCO on master that
sets MACHINE_NODE_COUNT=2. This enables E2E validation of the
MaxParallelUpgrades constraint during userData-triggered Machine
recreation, which requires at least 2 Machine-backed Windows nodes.
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@ranjithrajaram, pj-rehearse: unable to determine affected jobs. This could be due to a branch that needs to be rebased. ERROR:

couldn't prepare candidate: couldn't checkout base SHA e304f6b2ee56a94b0a0838b867fee3cc2d72752c: error checking out "e304f6b2ee56a94b0a0838b867fee3cc2d72752c": exit status 128 fatal: unable to read tree (e304f6b2ee56a94b0a0838b867fee3cc2d72752c)

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

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: ba9ae283-e47a-46d2-a8d8-d6063d859a33

📥 Commits

Reviewing files that changed from the base of the PR and between 945517d and 2508149.

📒 Files selected for processing (3)
  • ci-operator/config/openshift/windows-machine-config-operator/openshift-windows-machine-config-operator-master.yaml
  • ci-operator/step-registry/windows/e2e/operator/test/windows-e2e-operator-test-commands.sh
  • ci-operator/step-registry/windows/e2e/operator/test/windows-e2e-operator-test-ref.yaml

Walkthrough

The Windows E2E operator test now accepts a configurable Windows Machine count. A new Azure CI job sets the count to two and runs the existing operator test with the ipi-azure-ovn-hybrid workflow.

Changes

Windows E2E machine count

Layer / File(s) Summary
Machine count test execution
ci-operator/step-registry/windows/e2e/operator/test/windows-e2e-operator-test-ref.yaml, ci-operator/step-registry/windows/e2e/operator/test/windows-e2e-operator-test-commands.sh
Defines MACHINE_NODE_COUNT with a default of 1 and passes it to hack/run-ci-e2e-test.sh.
Azure two-machine job wiring
ci-operator/config/openshift/windows-machine-config-operator/openshift-windows-machine-config-operator-master.yaml
Adds the azure-e2e-operator-2machine job with MACHINE_NODE_COUNT set to 2.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant AzureCIJob
  participant WindowsE2ETest
  participant RunCIE2E
  participant MachineController
  AzureCIJob->>WindowsE2ETest: set MACHINE_NODE_COUNT=2
  WindowsE2ETest->>RunCIE2E: invoke with -m 2
  RunCIE2E->>MachineController: create and configure two Windows Machine instances
Loading

Suggested labels: approved, ok-to-test, lgtm

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately highlights the main addition of the new azure-e2e-operator-2machine CI job.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
Stable And Deterministic Test Names ✅ Passed The PR only changes CI config and shell/YAML step refs; no Ginkgo test titles or dynamic test-name strings were added or modified.
Test Structure And Quality ✅ Passed No Ginkgo test code was changed; the PR only updates CI config and the Windows e2e step ref/command, so this check is not applicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo tests were added; the patch only changes CI job wiring and the test wrapper/env var, with no MicroShift-unsafe APIs or guards implicated.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo tests were added; changes only update CI step refs and a job config, so there are no new SNO-specific assumptions to flag.
Topology-Aware Scheduling Compatibility ✅ Passed Only CI job/test harness changes were made; no deployment manifests, controllers, or scheduling constraints were added.
Ote Binary Stdout Contract ✅ Passed PR only changes CI config and a shell command; no Go suite setup or main/test binary stdout writes were added, and existing echo lines predated the change.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo tests were added; touched files are CI config and a wrapper, with no IPv4-only logic or new public-network dependency for the Azure job.
No-Weak-Crypto ✅ Passed Touched files only add MACHINE_NODE_COUNT wiring and a command flag; searches found no MD5/SHA1/DES/RC4/3DES/Blowfish/ECB or custom secret comparisons.
Container-Privileges ✅ Passed The PR only adds a CI job, env var, and command change; no privileged, hostPID/Network/IPC, SYS_ADMIN, or allowPrivilegeEscalation settings appear in the touched manifests.
No-Sensitive-Data-In-Logs ✅ Passed The patch only adds MACHINE_NODE_COUNT wiring and a new job variant; no new logging of passwords, tokens, PII, hostnames, or customer data appears.
✨ 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.

@openshift-ci

openshift-ci Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: ranjithrajaram
Once this PR has been reviewed and has the lgtm label, please assign mansikulkarni96 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 added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jul 14, 2026
@openshift-ci

openshift-ci Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Hi @ranjithrajaram. 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.

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

Labels

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.

1 participant