Skip to content

Archive pdf - #82757

Merged
openshift-merge-bot[bot] merged 3 commits into
openshift:mainfrom
paigerube14:archive_pdf
Aug 3, 2026
Merged

Archive pdf#82757
openshift-merge-bot[bot] merged 3 commits into
openshift:mainfrom
paigerube14:archive_pdf

Conversation

@paigerube14

@paigerube14 paigerube14 commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

Red Hat Chaos CI steps now archive /tmp/report.out.pdf as ${ARTIFACT_DIR}/kraken.report.pdf when the report exists. This makes Kraken PDF reports available as CI artifacts across outage, disruption, resource-hog, network, and scenario workflows.

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

Fifteen chaos step scripts now check for /tmp/report.out.pdf and copy it to ${ARTIFACT_DIR}/kraken.report.pdf when the report exists.

Changes

Chaos report artifact collection

Layer / File(s) Summary
Conditional report copy
ci-operator/step-registry/redhat-chaos/*/*-commands.sh
Fifteen chaos step scripts conditionally copy the Kraken PDF report into the configured artifact directory.

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

Suggested reviewers: mffiedler, shahsahil264

🚥 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 accurately summarizes the main change: archiving generated PDF reports as artifacts.
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 patch changes only 15 shell command files. Added lines only copy report.out.pdf; no Ginkgo test-title declarations or dynamic test names are present.
Test Structure And Quality ✅ Passed The PR changes only 15 shell command files and adds PDF artifact copying; no Ginkgo test code or test blocks are changed.
Microshift Test Compatibility ✅ Passed The PR changes only 15 shell files and adds no Ginkgo tests or It/Describe/Context/When declarations; the MicroShift compatibility check is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The patch changes only 15 shell command files to archive a PDF; the diff adds no Ginkgo tests or multi-node assumptions.
Topology-Aware Scheduling Compatibility ✅ Passed The patch modifies only 15 shell command files and adds PDF artifact copies; it introduces no deployment, controller, manifest, or scheduling constraints.
Ote Binary Stdout Contract ✅ Passed All 15 changed files are shell scripts; the diff only changes PDF existence checks and cp commands, with no OTE binary or process-level stdout writes added.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR changes only shell command files to archive a local PDF; no Ginkgo tests, IPv4 assumptions, or external connectivity were added.
No-Weak-Crypto ✅ Passed The 15 changed scripts only add conditional copies of /tmp/report.out.pdf; no weak algorithms, crypto APIs, custom crypto, or secret/token comparisons were added.
Container-Privileges ✅ Passed The PR changes only PDF copy paths in 15 shell scripts. No added manifest or privilege setting appears; existing privileged observer code is unchanged.
No-Sensitive-Data-In-Logs ✅ Passed The 15 changes only test and copy /tmp/report.out.pdf; they do not print file contents or sensitive values. The existing artifact copy remains in place.
✨ 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 requested review from mffiedler and shahsahil264 July 31, 2026 19:36
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 31, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🧹 Nitpick comments (1)
ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh (1)

54-54: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Quote the artifact destination in every wrapper.

The new cp commands pass an unquoted destination. If ${ARTIFACT_DIR} contains whitespace or glob characters, the copy can receive incorrect arguments.

  • ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh#L54-L54: use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh#L50-L50: use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh#L50-L50: use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh#L51-L51: use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/service-disruption/redhat-chaos-service-disruption-commands.sh#L49-L49: use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/syn-flood/redhat-chaos-syn-flood-commands.sh#L49-L49: use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/time-scenarios/redhat-chaos-time-scenarios-commands.sh#L52-L52: use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/zone-outage/redhat-chaos-zone-outage-commands.sh#L83-L83: use "${ARTIFACT_DIR}/kraken.report.pdf".
🤖 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/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh`
at line 54, Quote the artifact destination in each cp command so ARTIFACT_DIR
values containing whitespace or glob characters are passed as one path: update
the commands at
ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh:54,
ci-operator/step-registry/redhat-chaos/container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh:50,
ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh:50,
ci-operator/step-registry/redhat-chaos/hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh:51,
ci-operator/step-registry/redhat-chaos/service-disruption/redhat-chaos-service-disruption-commands.sh:49,
ci-operator/step-registry/redhat-chaos/syn-flood/redhat-chaos-syn-flood-commands.sh:49,
ci-operator/step-registry/redhat-chaos/time-scenarios/redhat-chaos-time-scenarios-commands.sh:52,
and
ci-operator/step-registry/redhat-chaos/zone-outage/redhat-chaos-zone-outage-commands.sh:83
to use the quoted "${ARTIFACT_DIR}/kraken.report.pdf" destination.

Source: Linters/SAST tools

🤖 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/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh`:
- Around line 53-55: Update the prow_run.sh invocation and report-copy flow in
all eight listed files—application-outages console (53-55), container-scenarios
etcd-hangup (49-51), hog-scenarios CPU (49-51), hog-scenarios IO (50-52),
service-disruption (48-50), syn-flood (48-50), time-scenarios (51-53), and
zone-outage (82-84)—to capture the scenario exit status without triggering
errexit, copy kraken.report.pdf regardless of that status, then return the
original status.

In
`@ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh`:
- Around line 51-53: Make the report-collection flow failure-safe by capturing
the direct prow_run.sh status with rc=$? via an || rc=$? guard before copying
the PDF, then preserve the existing conditional copy and exit "$rc" afterward.
Apply this sequence in
ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh:51-53,
ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh:49-51,
ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh:113-115,
ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh:50-52,
ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh:74-76,
and
ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh:94-96.
- Line 52: Quote the ARTIFACT_DIR destination in each report-copy command to
prevent shell word splitting and glob expansion. Update the cp commands at
ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh:52-52,
ci-operator/step-registry/redhat-chaos/kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh:79-79,
ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh:50-50,
ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh:114-114,
ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh:51-51,
ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh:75-75,
and
ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh:95-95
so each destination uses the quoted ARTIFACT_DIR form.

In
`@ci-operator/step-registry/redhat-chaos/kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh`:
- Around line 78-80: Preserve the chaos runner’s exit status in the flow around
./kubevirt-outage/prow_run.sh: initialize rc before invoking it, keep the
conditional rc capture, remove the later rc=$? assignment after PDF collection,
and exit with rc only after artifact handling completes.

---

Nitpick comments:
In
`@ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh`:
- Line 54: Quote the artifact destination in each cp command so ARTIFACT_DIR
values containing whitespace or glob characters are passed as one path: update
the commands at
ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh:54,
ci-operator/step-registry/redhat-chaos/container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh:50,
ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh:50,
ci-operator/step-registry/redhat-chaos/hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh:51,
ci-operator/step-registry/redhat-chaos/service-disruption/redhat-chaos-service-disruption-commands.sh:49,
ci-operator/step-registry/redhat-chaos/syn-flood/redhat-chaos-syn-flood-commands.sh:49,
ci-operator/step-registry/redhat-chaos/time-scenarios/redhat-chaos-time-scenarios-commands.sh:52,
and
ci-operator/step-registry/redhat-chaos/zone-outage/redhat-chaos-zone-outage-commands.sh:83
to use the quoted "${ARTIFACT_DIR}/kraken.report.pdf" destination.
🪄 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: Pro Plus

Run ID: 520be517-9f2a-4bc8-9607-bf48f0ad4b0d

📥 Commits

Reviewing files that changed from the base of the PR and between cd04dd4 and 509533e.

📒 Files selected for processing (15)
  • ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh
  • ci-operator/step-registry/redhat-chaos/container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh
  • ci-operator/step-registry/redhat-chaos/kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh
  • ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh
  • ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh
  • ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh
  • ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh
  • ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh
  • ci-operator/step-registry/redhat-chaos/service-disruption/redhat-chaos-service-disruption-commands.sh
  • ci-operator/step-registry/redhat-chaos/syn-flood/redhat-chaos-syn-flood-commands.sh
  • ci-operator/step-registry/redhat-chaos/time-scenarios/redhat-chaos-time-scenarios-commands.sh
  • ci-operator/step-registry/redhat-chaos/zone-outage/redhat-chaos-zone-outage-commands.sh

Comment on lines +53 to +55
if [[ -f /home/krkn/kraken/kraken.report.pdf ]]; then
cp /home/krkn/kraken/kraken.report.pdf ${ARTIFACT_DIR}/kraken.report.pdf
fi

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Preserve report collection on scenario failure.

All eight wrappers run prow_run.sh with errexit enabled. A nonzero scenario result exits the wrapper before the PDF copy runs.

  • ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh#L53-L55: capture the status without triggering errexit, then copy the report.
  • ci-operator/step-registry/redhat-chaos/container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh#L49-L51: capture the status without triggering errexit, then copy the report.
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh#L49-L51: capture the status without triggering errexit, then copy the report.
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh#L50-L52: capture the status without triggering errexit, then copy the report.
  • ci-operator/step-registry/redhat-chaos/service-disruption/redhat-chaos-service-disruption-commands.sh#L48-L50: capture the status without triggering errexit, then copy the report.
  • ci-operator/step-registry/redhat-chaos/syn-flood/redhat-chaos-syn-flood-commands.sh#L48-L50: capture the status without triggering errexit, then copy the report.
  • ci-operator/step-registry/redhat-chaos/time-scenarios/redhat-chaos-time-scenarios-commands.sh#L51-L53: capture the status without triggering errexit, then copy the report.
  • ci-operator/step-registry/redhat-chaos/zone-outage/redhat-chaos-zone-outage-commands.sh#L82-L84: capture the status without triggering errexit, then copy the report.
🧰 Tools
🪛 Shellcheck (0.11.0)

[info] 54-54: Double quote to prevent globbing and word splitting.

(SC2086)

📍 Affects 8 files
  • ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh#L53-L55 (this comment)
  • ci-operator/step-registry/redhat-chaos/container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh#L49-L51
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh#L49-L51
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh#L50-L52
  • ci-operator/step-registry/redhat-chaos/service-disruption/redhat-chaos-service-disruption-commands.sh#L48-L50
  • ci-operator/step-registry/redhat-chaos/syn-flood/redhat-chaos-syn-flood-commands.sh#L48-L50
  • ci-operator/step-registry/redhat-chaos/time-scenarios/redhat-chaos-time-scenarios-commands.sh#L51-L53
  • ci-operator/step-registry/redhat-chaos/zone-outage/redhat-chaos-zone-outage-commands.sh#L82-L84
🤖 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/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh`
around lines 53 - 55, Update the prow_run.sh invocation and report-copy flow in
all eight listed files—application-outages console (53-55), container-scenarios
etcd-hangup (49-51), hog-scenarios CPU (49-51), hog-scenarios IO (50-52),
service-disruption (48-50), syn-flood (48-50), time-scenarios (51-53), and
zone-outage (82-84)—to capture the scenario exit status without triggering
errexit, copy kraken.report.pdf regardless of that status, then return the
original status.

Comment on lines +51 to +53
if [[ -f /home/krkn/kraken/kraken.report.pdf ]]; then
cp /home/krkn/kraken/kraken.report.pdf ${ARTIFACT_DIR}/kraken.report.pdf
fi

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Make PDF collection failure-safe.

Each listed script enables set -o errexit before a direct prow_run.sh call. A non-zero runner status exits before the new copy block, so a report that exists after a failed run is not archived. Capture the status with || rc=$?, perform the copy, then exit "$rc".

  • ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh#L51-L53: Replace the direct runner/status sequence with failure capture before copying the report.
  • ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh#L49-L51: Replace the direct runner/status sequence with failure capture before copying the report.
  • ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh#L113-L115: Replace the direct runner/status sequence with failure capture before copying the report.
  • ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh#L50-L52: Replace the direct runner/status sequence with failure capture before copying the report.
  • ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh#L74-L76: Replace the direct runner/status sequence with failure capture before copying the report.
  • ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh#L94-L96: Replace the direct runner/status sequence with failure capture before copying the report.
🧰 Tools
🪛 Shellcheck (0.11.0)

[info] 52-52: Double quote to prevent globbing and word splitting.

(SC2086)

📍 Affects 6 files
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh#L51-L53 (this comment)
  • ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh#L49-L51
  • ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh#L113-L115
  • ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh#L50-L52
  • ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh#L74-L76
  • ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh#L94-L96
🤖 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/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh`
around lines 51 - 53, Make the report-collection flow failure-safe by capturing
the direct prow_run.sh status with rc=$? via an || rc=$? guard before copying
the PDF, then preserve the existing conditional copy and exit "$rc" afterward.
Apply this sequence in
ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh:51-53,
ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh:49-51,
ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh:113-115,
ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh:50-52,
ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh:74-76,
and
ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh:94-96.



if [[ -f /home/krkn/kraken/kraken.report.pdf ]]; then
cp /home/krkn/kraken/kraken.report.pdf ${ARTIFACT_DIR}/kraken.report.pdf

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Quote ${ARTIFACT_DIR} in every new cp destination.

Each destination is unquoted. Shell word splitting or glob expansion can change the destination if ARTIFACT_DIR contains whitespace or wildcard characters.

  • ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh#L52-L52: Use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh#L79-L79: Use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh#L50-L50: Use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh#L114-L114: Use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh#L51-L51: Use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh#L75-L75: Use "${ARTIFACT_DIR}/kraken.report.pdf".
  • ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh#L95-L95: Use "${ARTIFACT_DIR}/kraken.report.pdf".
🧰 Tools
🪛 Shellcheck (0.11.0)

[info] 52-52: Double quote to prevent globbing and word splitting.

(SC2086)

📍 Affects 7 files
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh#L52-L52 (this comment)
  • ci-operator/step-registry/redhat-chaos/kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh#L79-L79
  • ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh#L50-L50
  • ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh#L114-L114
  • ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh#L51-L51
  • ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh#L75-L75
  • ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh#L95-L95
🤖 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/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh`
at line 52, Quote the ARTIFACT_DIR destination in each report-copy command to
prevent shell word splitting and glob expansion. Update the cp commands at
ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh:52-52,
ci-operator/step-registry/redhat-chaos/kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh:79-79,
ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh:50-50,
ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh:114-114,
ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh:51-51,
ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh:75-75,
and
ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh:95-95
so each destination uses the quoted ARTIFACT_DIR form.

Source: Linters/SAST tools

Comment on lines +78 to +80
if [[ -f /home/krkn/kraken/kraken.report.pdf ]]; then
cp /home/krkn/kraken/kraken.report.pdf ${ARTIFACT_DIR}/kraken.report.pdf
fi

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Preserve the chaos runner status while collecting the PDF.

./kubevirt-outage/prow_run.sh || rc=$? allows this block to run, but the following rc=$? overwrites a non-zero status with 0. The step can pass after a failed disruption. Remove the second assignment, initialize rc before the runner, and exit with rc after artifact collection.

🧰 Tools
🪛 Shellcheck (0.11.0)

[info] 79-79: Double quote to prevent globbing and word splitting.

(SC2086)

🤖 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/step-registry/redhat-chaos/kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh`
around lines 78 - 80, Preserve the chaos runner’s exit status in the flow around
./kubevirt-outage/prow_run.sh: initialize rc before invoking it, keep the
conditional rc capture, remove the later rc=$? assignment after PDF collection,
and exit with rc only after artifact handling completes.

@paigerube14

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-redhat-chaos-prow-scripts-main-cr-4.22-nightly-krkn-hub-aws

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@paigerube14

Copy link
Copy Markdown
Contributor Author

/pj-rehearse periodic-ci-redhat-chaos-prow-scripts-main-cr-4.22-nightly-krkn-hub-aws

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@paigerube14: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-redhat-chaos-prow-scripts-main-4.16-nightly-krkn-hub-tests-aro-node redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.17-nightly-krkn-hub-tests-aro-node redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-rosa-4.15-nightly-krkn-tests-rosa-hog redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-rosa-4.15-nightly-krkn-rosa-hcp-hog redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.15-nightly-krkn-hub-tests-azure redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.15-nightly-krkn-hub-tests-gcp redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.15-nightly-krkn-hub-tests-aro redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-rosa-4.17-nightly-krkn-rosa-hcp-node redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.21-nightly-krkn-hub-node-tests-udn redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.21-nightly-krkn-hub-node-tests-udn-aws-ipsec redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.20-nightly-krkn-hub-node-tests-udn redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.20-nightly-krkn-hub-node-tests-udn-aws-ipsec redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-rosa-4.20-nightly-krkn-rosa-hcp-node redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.19-nightly-krkn-hub-node-tests-udn redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.19-nightly-krkn-hub-node-tests-udn-aws-ipsec redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-rosa-4.19-nightly-krkn-rosa-hcp-node redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-rosa-4.18-nightly-krkn-rosa-hcp-node redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-rosa-4.21-nightly-krkn-rosa-hcp-node redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.18-nightly-krkn-hub-node-tests-udn redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.18-nightly-krkn-hub-node-tests-udn-aws-ipsec redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.21-nightly-krkn-hub-tests-udn redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.21-nightly-krkn-hub-tests-udn-aws-ipsec redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.20-nightly-krkn-hub-tests-udn redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.20-nightly-krkn-hub-tests-udn-aws-ipsec redhat-chaos/prow-scripts presubmit Registry content changed
pull-ci-redhat-chaos-prow-scripts-main-4.16-nightly-krkn-hub-tests-aro redhat-chaos/prow-scripts presubmit Registry content changed

A total of 155 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs.

A full list of affected jobs can be found here

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 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 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/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh`:
- Around line 53-55: Preserve the chaos runner exit status while collecting PDF
artifacts in all wrappers: in
ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh
(53-55),
container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh
(49-51), hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh (50-52),
network-chaos/redhat-chaos-network-chaos-commands.sh (49-51),
node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh
(113-115),
pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh
(74-76), power-outage/redhat-chaos-power-outage-commands.sh (94-96),
service-disruption/redhat-chaos-service-disruption-commands.sh (48-50),
syn-flood/redhat-chaos-syn-flood-commands.sh (48-50),
time-scenarios/redhat-chaos-time-scenarios-commands.sh (51-53), and
zone-outage/redhat-chaos-zone-outage-commands.sh (82-84), capture the runner
failure with `|| rc=$?`, collect artifacts, then exit with rc; in
kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh (78-80), remove the
later rc=$? assignment so the captured failure is not overwritten.

In
`@ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh`:
- Around line 49-51: Preserve report collection when prow_run.sh fails by
applying the failure-safe runner sequence in
ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh:49-51,
ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh:51-53,
and
ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh:50-52:
capture the runner return status without triggering errexit, execute all
report-copy blocks, then exit with the captured status via exit "$rc".
🪄 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: Pro Plus

Run ID: 0276aeb2-8dda-421c-85da-ce92d619d616

📥 Commits

Reviewing files that changed from the base of the PR and between 509533e and 7dd8cab.

📒 Files selected for processing (15)
  • ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh
  • ci-operator/step-registry/redhat-chaos/container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh
  • ci-operator/step-registry/redhat-chaos/kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh
  • ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh
  • ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh
  • ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh
  • ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh
  • ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh
  • ci-operator/step-registry/redhat-chaos/service-disruption/redhat-chaos-service-disruption-commands.sh
  • ci-operator/step-registry/redhat-chaos/syn-flood/redhat-chaos-syn-flood-commands.sh
  • ci-operator/step-registry/redhat-chaos/time-scenarios/redhat-chaos-time-scenarios-commands.sh
  • ci-operator/step-registry/redhat-chaos/zone-outage/redhat-chaos-zone-outage-commands.sh

Comment on lines +53 to +55
if [[ -f /tmp/report.out.pdf ]]; then
cp /tmp/report.out.pdf ${ARTIFACT_DIR}/kraken.report.pdf
fi

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Preserve the runner status while collecting the PDF.

All twelve wrappers can skip PDF collection when the chaos runner fails because errexit terminates the script first. kubevirt-outage also overwrites its captured failure status.

  • ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh#L53-L55: capture the runner status with || rc=$?, collect artifacts, then exit with rc.
  • ci-operator/step-registry/redhat-chaos/container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh#L49-L51: capture the runner status before artifact collection.
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh#L50-L52: capture the runner status before artifact collection.
  • ci-operator/step-registry/redhat-chaos/kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh#L78-L80: remove the later rc=$? that resets the failure status.
  • ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh#L49-L51: capture the runner status before artifact collection.
  • ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh#L113-L115: capture the runner status before artifact collection.
  • ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh#L74-L76: capture the runner status before artifact collection.
  • ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh#L94-L96: capture the runner status before artifact collection.
  • ci-operator/step-registry/redhat-chaos/service-disruption/redhat-chaos-service-disruption-commands.sh#L48-L50: capture the runner status before artifact collection.
  • ci-operator/step-registry/redhat-chaos/syn-flood/redhat-chaos-syn-flood-commands.sh#L48-L50: capture the runner status before artifact collection.
  • ci-operator/step-registry/redhat-chaos/time-scenarios/redhat-chaos-time-scenarios-commands.sh#L51-L53: capture the runner status before artifact collection.
  • ci-operator/step-registry/redhat-chaos/zone-outage/redhat-chaos-zone-outage-commands.sh#L82-L84: capture the runner status before artifact collection.
🧰 Tools
🪛 ast-grep (0.45.0)

[warning] 53-53: Writing to or reading from a hardcoded, predictable path under /tmp is vulnerable to symlink and TOCTOU attacks: a local attacker can pre-create the file (or a symlink pointing elsewhere) and hijack or corrupt the contents. Generate a unique, unpredictable temporary file with mktemp instead, e.g. tmpfile="$(mktemp)" (or mktemp -d for directories) and reference "$tmpfile".
Context: /tmp/report.out.pdf
Note: [CWE-377] Insecure Temporary File.

(predictable-tmp-file-bash)

🪛 Shellcheck (0.11.0)

[info] 54-54: Double quote to prevent globbing and word splitting.

(SC2086)

📍 Affects 12 files
  • ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh#L53-L55 (this comment)
  • ci-operator/step-registry/redhat-chaos/container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh#L49-L51
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh#L50-L52
  • ci-operator/step-registry/redhat-chaos/kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh#L78-L80
  • ci-operator/step-registry/redhat-chaos/network-chaos/redhat-chaos-network-chaos-commands.sh#L49-L51
  • ci-operator/step-registry/redhat-chaos/node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh#L113-L115
  • ci-operator/step-registry/redhat-chaos/pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh#L74-L76
  • ci-operator/step-registry/redhat-chaos/power-outage/redhat-chaos-power-outage-commands.sh#L94-L96
  • ci-operator/step-registry/redhat-chaos/service-disruption/redhat-chaos-service-disruption-commands.sh#L48-L50
  • ci-operator/step-registry/redhat-chaos/syn-flood/redhat-chaos-syn-flood-commands.sh#L48-L50
  • ci-operator/step-registry/redhat-chaos/time-scenarios/redhat-chaos-time-scenarios-commands.sh#L51-L53
  • ci-operator/step-registry/redhat-chaos/zone-outage/redhat-chaos-zone-outage-commands.sh#L82-L84
🤖 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/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh`
around lines 53 - 55, Preserve the chaos runner exit status while collecting PDF
artifacts in all wrappers: in
ci-operator/step-registry/redhat-chaos/application-outages/console/redhat-chaos-application-outages-console-commands.sh
(53-55),
container-scenarios/etcd-hangup/redhat-chaos-container-scenarios-etcd-hangup-commands.sh
(49-51), hog-scenarios/io/redhat-chaos-hog-scenarios-io-commands.sh (50-52),
network-chaos/redhat-chaos-network-chaos-commands.sh (49-51),
node-disruptions/master-outage/redhat-chaos-node-disruptions-master-outage-commands.sh
(113-115),
pod-scenarios/etcd-disruption/redhat-chaos-pod-scenarios-etcd-disruption-commands.sh
(74-76), power-outage/redhat-chaos-power-outage-commands.sh (94-96),
service-disruption/redhat-chaos-service-disruption-commands.sh (48-50),
syn-flood/redhat-chaos-syn-flood-commands.sh (48-50),
time-scenarios/redhat-chaos-time-scenarios-commands.sh (51-53), and
zone-outage/redhat-chaos-zone-outage-commands.sh (82-84), capture the runner
failure with `|| rc=$?`, collect artifacts, then exit with rc; in
kubevirt-outage/redhat-chaos-kubevirt-outage-commands.sh (78-80), remove the
later rc=$? assignment so the captured failure is not overwritten.

Comment on lines +49 to +51
if [[ -f /tmp/report.out.pdf ]]; then
cp /tmp/report.out.pdf ${ARTIFACT_DIR}/kraken.report.pdf
fi

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major

Preserve report collection on runner failure.

errexit prevents all three copy blocks from running when prow_run.sh fails. Capture the runner status, copy the report, and restore the runner status with exit "$rc".

  • ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh#L49-L51: Apply the failure-safe runner sequence.
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh#L51-L53: Apply the failure-safe runner sequence.
  • ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh#L50-L52: Apply the failure-safe runner sequence.
🧰 Tools
🪛 ast-grep (0.45.0)

[warning] 49-49: Writing to or reading from a hardcoded, predictable path under /tmp is vulnerable to symlink and TOCTOU attacks: a local attacker can pre-create the file (or a symlink pointing elsewhere) and hijack or corrupt the contents. Generate a unique, unpredictable temporary file with mktemp instead, e.g. tmpfile="$(mktemp)" (or mktemp -d for directories) and reference "$tmpfile".
Context: /tmp/report.out.pdf
Note: [CWE-377] Insecure Temporary File.

(predictable-tmp-file-bash)

🪛 Shellcheck (0.11.0)

[info] 50-50: Double quote to prevent globbing and word splitting.

(SC2086)

📍 Affects 3 files
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh#L49-L51 (this comment)
  • ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh#L51-L53
  • ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh#L50-L52
🤖 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/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh`
around lines 49 - 51, Preserve report collection when prow_run.sh fails by
applying the failure-safe runner sequence in
ci-operator/step-registry/redhat-chaos/hog-scenarios/cpu/redhat-chaos-hog-scenarios-cpu-commands.sh:49-51,
ci-operator/step-registry/redhat-chaos/hog-scenarios/memory/redhat-chaos-hog-scenarios-memory-commands.sh:51-53,
and
ci-operator/step-registry/redhat-chaos/pod-network-chaos/redhat-chaos-pod-network-chaos-commands.sh:50-52:
capture the runner return status without triggering errexit, execute all
report-copy blocks, then exit with the captured status via exit "$rc".

@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@paigerube14: 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-redhat-chaos-prow-scripts-main-cr-4.22-nightly-krkn-hub-aws 7dd8cab link unknown /pj-rehearse periodic-ci-redhat-chaos-prow-scripts-main-cr-4.22-nightly-krkn-hub-aws

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.

@shahsahil264 shahsahil264 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

/lgtm

@shahsahil264

Copy link
Copy Markdown
Contributor

/pj-rehearse ack

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 3, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Aug 3, 2026
@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: paigerube14, shahsahil264

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

The pull request process is described 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-merge-bot
openshift-merge-bot Bot merged commit 845b7b7 into openshift:main Aug 3, 2026
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants