WIP: [CGQE-772] [POC]: CI-config for Windows VM chaos end-to-end pipeline#81199
WIP: [CGQE-772] [POC]: CI-config for Windows VM chaos end-to-end pipeline#81199Sau1506mya wants to merge 1 commit into
Conversation
WalkthroughA new ci-operator YAML config file is added for the Windows VM Chaos CI Config
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 1 warning)
✅ Passed checks (13 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: Sau1506mya The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In
`@ci-operator/config/redhat-chaos/lp-chaos/redhat-chaos-lp-chaos-main__ocp4.21-nightly--cnv-4.21-stable-windows-vm-chaos--aws.yaml`:
- Line 52: The WINDOWS_URL value is a checked-in presigned S3 link with a
temporary SigV4 signature, so it should not be stored in the config. Update the
redhat-chaos LP chaos config to fetch the image URL at runtime or from a
secret/CI variable instead of hardcoding it, using the existing WINDOWS_URL
setting as the replacement point. If a stable artifact location is available,
switch the WINDOWS_URL reference there so the job does not depend on an expiring
presigned URL.
- Around line 24-38: Remove the duplicated top-level releases/resources/tests
stanza in the ci-operator config so the YAML has only one definition of each
key. Update the existing config block for the windows-vm-chaos test instead of
reintroducing a second block, and verify the final structure is deterministic
and valid for ci-operator parsing.
- Around line 39-64: Regenerate the Prow job artifacts for the new
windows-vm-chaos variant so the generated output under
ci-operator/jobs/redhat-chaos/lp-chaos/ includes a matching job for this config.
Update the generated job set to reflect the new as: windows-vm-chaos definition
and ensure the variant name in zz_generated_metadata and the workflow
redhat-lp-chaos-ocp-installer-aws-cnv are represented in the generated artifact.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 09e9763b-34c1-470f-a89e-de91c4537779
📒 Files selected for processing (1)
ci-operator/config/redhat-chaos/lp-chaos/redhat-chaos-lp-chaos-main__ocp4.21-nightly--cnv-4.21-stable-windows-vm-chaos--aws.yaml
| tests: | ||
| -releases: | ||
| latest: | ||
| candidate: | ||
| product: ocp | ||
| stream: nightly | ||
| version: "4.21" | ||
| resources: | ||
| '*': | ||
| limits: | ||
| memory: 4Gi | ||
| requests: | ||
| cpu: 100m | ||
| memory: 200Mi | ||
| tests: |
There was a problem hiding this comment.
🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win
Remove the duplicated top-level stanza before this config lands.
Lines 25-38 reintroduce releases/resources/tests after they were already defined above, so this YAML is not deterministic. Depending on the parser, ci-operator will either reject the file or silently keep only one copy, which can drop the windows-vm-chaos test entirely.
Suggested fix
tests:
--releases:
- latest:
- candidate:
- product: ocp
- stream: nightly
- version: "4.21"
-resources:
- '*':
- limits:
- memory: 4Gi
- requests:
- cpu: 100m
- memory: 200Mi
-tests:
- as: windows-vm-chaos
always_run: false📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| tests: | |
| -releases: | |
| latest: | |
| candidate: | |
| product: ocp | |
| stream: nightly | |
| version: "4.21" | |
| resources: | |
| '*': | |
| limits: | |
| memory: 4Gi | |
| requests: | |
| cpu: 100m | |
| memory: 200Mi | |
| tests: | |
| tests: | |
| - as: windows-vm-chaos | |
| always_run: false |
🧰 Tools
🪛 YAMLlint (1.37.1)
[error] 31-31: duplication of key "resources" in mapping
(key-duplicates)
[error] 38-38: duplication of key "tests" in mapping
(key-duplicates)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@ci-operator/config/redhat-chaos/lp-chaos/redhat-chaos-lp-chaos-main__ocp4.21-nightly--cnv-4.21-stable-windows-vm-chaos--aws.yaml`
around lines 24 - 38, Remove the duplicated top-level releases/resources/tests
stanza in the ci-operator config so the YAML has only one definition of each
key. Update the existing config block for the windows-vm-chaos test instead of
reintroducing a second block, and verify the final structure is deterministic
and valid for ci-operator parsing.
Source: Linters/SAST tools
| - as: windows-vm-chaos | ||
| always_run: false | ||
| steps: | ||
| cluster_profile: aws-lp-chaos | ||
| env: | ||
| BASE_DOMAIN: chaos.lp.devcluster.openshift.com | ||
| CHAOS_TEAM_NAME: lp-chaos | ||
| CNV_VERSION: "4.21" | ||
| COMPUTE_NODE_TYPE: m5.metal | ||
| SCALE: "1" | ||
| TARGET_NAMESPACE: benchmark-runner | ||
| TELEMETRY_GROUP: ocp4.21-nightly--cnv-4.21-stable-windows-vm-chaos--aws | ||
| WINDOWS_IMAGE: windows_server_2019 | ||
| WINDOWS_URL: https://s3.us-south.cloud-object-storage.appdomain.cloud/benchmark-runner/windows-images/windows10.qcow2?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=c012897179fd472e96eaefceb376ae89%2F20260622%2Fus-south%2Fs3%2Faws4_request&X-Amz-Date=20260622T164640Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=fe2b87329c36f94b2a0917fe9bedf37b591f75509dd6f97d12c33490717e129a | ||
| WORKLOAD: windows_vm | ||
| test: | ||
| - ref: redhat-lp-chaos-lp-cnv-windows-vm-create | ||
| - ref: redhat-chaos-kubevirt-outage | ||
| - ref: redhat-lp-chaos-lp-cnv-windows-vm-clean | ||
| workflow: redhat-lp-chaos-ocp-installer-aws-cnv | ||
| timeout: 6h0m0s | ||
| zz_generated_metadata: | ||
| branch: main | ||
| org: redhat-chaos | ||
| repo: lp-chaos | ||
| variant: ocp4.21-nightly--cnv-4.21-stable-windows-vm-chaos--aws |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
fd -p 'redhat-chaos-lp-chaos.*windows-vm-chaos.*\.yaml' ci-operator/jobs
rg -n 'windows-vm-chaos|ocp4\.21-nightly--cnv-4\.21-stable-windows-vm-chaos--aws' ci-operator/jobsRepository: openshift/release
Length of output: 155
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "## matching job/config filenames"
git ls-files 'ci-operator/jobs/**' 'ci-operator/config/**' | grep -E 'redhat-chaos|lp-chaos|windows-vm-chaos|ocp4\.21-nightly--cnv-4\.21-stable-windows-vm-chaos--aws' || true
echo
echo "## broader job content matches"
rg -n --hidden --glob 'ci-operator/jobs/**' 'windows-vm-chaos|ocp4\.21-nightly--cnv-4\.21-stable-windows-vm-chaos--aws|redhat-chaos-kubevirt-outage|redhat-lp-chaos-lp-cnv-windows-vm-create|redhat-lp-chaos-lp-cnv-windows-vm-clean' ci-operator/jobs || true
echo
echo "## nearby config files"
git ls-files 'ci-operator/config/redhat-chaos/lp-chaos/**'Repository: openshift/release
Length of output: 6135
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "## variant config"
sed -n '1,220p' ci-operator/config/redhat-chaos/lp-chaos/redhat-chaos-lp-chaos-main__ocp4.21-nightly--cnv-4.21-stable-windows-vm-chaos--aws.yaml
echo
echo "## generated periodics matching lp-chaos"
rg -n 'windows-vm-chaos|cnv-4\.21-stable|ocp4\.21-nightly' ci-operator/jobs/redhat-chaos/lp-chaos/redhat-chaos-lp-chaos-main-periodics.yaml
echo
echo "## generated presubmits/postsubmits matching lp-chaos"
rg -n 'windows-vm-chaos|cnv-4\.21-stable|ocp4\.21-nightly' ci-operator/jobs/redhat-chaos/lp-chaos/redhat-chaos-lp-chaos-main-presubmits.yaml ci-operator/jobs/redhat-chaos/lp-chaos/redhat-chaos-lp-chaos-main-postsubmits.yamlRepository: openshift/release
Length of output: 5597
Regenerate the generated Prow jobs for this variant
ci-operator/jobs/redhat-chaos/lp-chaos/ still only contains the existing ...--aws and ...cnvcases--aws jobs, so the new windows-vm-chaos config has no matching generated artifact yet.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@ci-operator/config/redhat-chaos/lp-chaos/redhat-chaos-lp-chaos-main__ocp4.21-nightly--cnv-4.21-stable-windows-vm-chaos--aws.yaml`
around lines 39 - 64, Regenerate the Prow job artifacts for the new
windows-vm-chaos variant so the generated output under
ci-operator/jobs/redhat-chaos/lp-chaos/ includes a matching job for this config.
Update the generated job set to reflect the new as: windows-vm-chaos definition
and ensure the variant name in zz_generated_metadata and the workflow
redhat-lp-chaos-ocp-installer-aws-cnv are represented in the generated artifact.
Sources: Coding guidelines, Learnings
| TARGET_NAMESPACE: benchmark-runner | ||
| TELEMETRY_GROUP: ocp4.21-nightly--cnv-4.21-stable-windows-vm-chaos--aws | ||
| WINDOWS_IMAGE: windows_server_2019 | ||
| WINDOWS_URL: https://s3.us-south.cloud-object-storage.appdomain.cloud/benchmark-runner/windows-images/windows10.qcow2?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=c012897179fd472e96eaefceb376ae89%2F20260622%2Fus-south%2Fs3%2Faws4_request&X-Amz-Date=20260622T164640Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=fe2b87329c36f94b2a0917fe9bedf37b591f75509dd6f97d12c33490717e129a |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | 🏗️ Heavy lift
Replace the checked-in presigned S3 URL.
This URL embeds a live SigV4 signature and expires on June 29, 2026 at 16:46:40 UTC. That both leaks temporary object access in a public repo and makes the job fail as soon as the signature ages out. Please move this behind a secret/runtime lookup or switch to a stable non-expiring location.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In
`@ci-operator/config/redhat-chaos/lp-chaos/redhat-chaos-lp-chaos-main__ocp4.21-nightly--cnv-4.21-stable-windows-vm-chaos--aws.yaml`
at line 52, The WINDOWS_URL value is a checked-in presigned S3 link with a
temporary SigV4 signature, so it should not be stored in the config. Update the
redhat-chaos LP chaos config to fetch the image URL at runtime or from a
secret/CI variable instead of hardcoding it, using the existing WINDOWS_URL
setting as the replacement point. If a stable artifact location is available,
switch the WINDOWS_URL reference there so the job does not depend on an expiring
presigned URL.
|
[REHEARSALNOTIFIER] Note: If this PR includes changes to step registry files ( |
|
@Sau1506mya: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
Summary by CodeRabbit
Adds a new OpenShift CI job config for the redhat-chaos/lp-chaos repository to run a Windows VM chaos end-to-end workflow on AWS against OCP 4.21 nightly. The config defines the job’s base images, release target, shared resource settings, and Windows VM-specific environment variables needed to provision and exercise the workload. It also wires in the chaos workflow steps and includes generated metadata for the branch/repo/variant.