Skip to content

microshift-ci-doctor: add openshift-ci MCP and widen analysis budget#80509

Draft
pmtk wants to merge 2 commits into
openshift:mainfrom
pmtk:ci-doctor-rca
Draft

microshift-ci-doctor: add openshift-ci MCP and widen analysis budget#80509
pmtk wants to merge 2 commits into
openshift:mainfrom
pmtk:ci-doctor-rca

Conversation

@pmtk

@pmtk pmtk commented Jun 15, 2026

Copy link
Copy Markdown
Member

The microshift-ci plugin's prow-job skill now performs evidence-cited root cause analysis (sosreport extraction, source correlation, causal chains) and consults job history through the openshift-ci MCP server:

  • Download a pinned, checksum-verified openshift-ci-mcp release binary and register it as the "openshift-ci" stdio MCP (read-only Sippy/ Release-Controller/Search.CI access, no credentials). Failures are non-fatal: the skills record the absence in their analysis gaps.
  • Allow mcp__openshift-ci__* in the permission settings.
  • Doctor session budget: 45m/100 turns -> 60m/150 turns; step timeout 1h30m -> 2h15m. The deeper per-job analysis needs more wall clock than the old surface-level scan.

Summary by CodeRabbit

This PR upgrades the OpenShift edge-tooling microshift-ci “doctor” step to perform deeper, evidence-cited root-cause analysis by enabling job-history lookups through a new OpenShift CI MCP server.

OpenShift CI MCP server integration

  • Updates the doctor command to provision an openshift-ci MCP server over stdio (read-only) to access Sippy, Release-Controller, and Search.CI to enrich failure/regression context without credentials.
  • The MCP server is installed by downloading a pinned openshift-ci-mcp release binary and verifying it with a SHA-256 checksum, then registering it in Claude (skills) and waiting for the service to reach Connected.
  • Non-fatal initialization: download/verification/connection failures do not stop the doctor; instead, the analysis records the missing job-history capability as a gap for graceful degradation.

Claude permission changes

  • Expands the doctor’s Claude permissions to allow MCP access patterns matching mcp__openshift-ci__*, alongside the existing Skill(microshift-ci:*) permission.

Doctor workflow and analysis time/budget

  • Increases doctor execution budget to support the heavier per-job analysis (45 minutes / 100 turns → 60 minutes / 150 turns).
  • Extends the step registry execution timeout from 1h30m0s → 2h15m0s.
  • Adjusts doctor run timing parameters used by check_claude_rc to align with the longer runtime.
  • Switches the doctor’s edge-tooling source setup to use a fresh /tmp/edge-tooling clone (with PLUGIN_DIR pointing into that clone) rather than the pre-installed EDGE_TOOLING_DIR.

@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 15, 2026
@openshift-ci

openshift-ci Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

The microshift-ci plugin's prow-job skill now performs evidence-cited
root cause analysis (sosreport extraction, source correlation, causal
chains) and consults job history through the openshift-ci MCP server:

- Download a pinned, checksum-verified openshift-ci-mcp release binary
  and register it as the "openshift-ci" stdio MCP (read-only Sippy/
  Release-Controller/Search.CI access, no credentials). Failures are
  non-fatal: the skills record the absence in their analysis gaps.
- Allow mcp__openshift-ci__* in the permission settings.
- Doctor session budget: 45m/100 turns -> 60m/150 turns; step timeout
  1h30m -> 2h15m. The deeper per-job analysis needs more wall clock
  than the old surface-level scan.
@coderabbitai

coderabbitai Bot commented Jun 15, 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: b828924c-8bb6-4b5c-9b3a-85852f1dfd08

📥 Commits

Reviewing files that changed from the base of the PR and between 9ec7b8b and 4189176.

📒 Files selected for processing (1)
  • ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh

Walkthrough

The doctor step is updated to integrate OpenShift CI MCP by adding the mcp__openshift-ci__* permission and configuring binary download, verification, and registration. Edge-tooling workspace setup changes to use a fresh /tmp/edge-tooling clone instead of the pre-installed directory. Doctor invocation execution budget increases from 2700s/100 turns to 3600s/150 turns, success check timing adjusts from 45 to 60 minutes, and step-level timeout in YAML rises from 1h30m0s to 2h15m0s.

Changes

Doctor Step MCP Integration and Execution Enhancements

Layer / File(s) Summary
OpenShift CI MCP integration
ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh
Claude settings.json permissions are extended with mcp__openshift-ci__*. The configure_claude function downloads a pinned openshift-ci-mcp binary, verifies it via SHA-256 checksum, registers it with claude mcp add, waits for openshift-ci:Connected, and emits warnings with cleanup on download/verification or connection failures.
Edge-tooling workspace initialization
ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh
Workspace setup clones pmtk/edge-tooling at branch ci-doctor-rca to /tmp/edge-tooling and adjusts PLUGIN_DIR accordingly, replacing direct use of the pre-installed EDGE_TOOLING_DIR.
Execution budget and timeout adjustments
ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh, ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-ref.yaml
Doctor invocation timeout increases from 2700s to 3600s, --max-turns from 100 to 150, and success check timeout-min from 45 to 60 minutes. Step-level timeout in YAML increases from 1h30m0s to 2h15m0s.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (14 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 two main changes: adding openshift-ci MCP support and expanding the analysis budget (from 45min/100 turns to 60min/150 turns).
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 PR modifies CI/operator configuration files (bash script and YAML) with no Ginkgo test code; check is not applicable.
Test Structure And Quality ✅ Passed The custom check requires reviewing Ginkgo test code quality, but this PR modifies only shell scripts and YAML configuration files—no Ginkgo tests are present. The check is not applicable.
Microshift Test Compatibility ✅ Passed This PR does not add any Ginkgo e2e tests. It only modifies CI/CD configuration files: a shell script and YAML configuration for the microshift-ci-doctor step. No test code was added or modified.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR contains no new Ginkgo e2e tests; only CI/CD configuration and shell scripts are modified. SNO compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed This PR modifies only CI/CD configuration and test scripts (shell script and step reference YAML), not deployment manifests, operator code, or controllers. No topology-aware scheduling constraints...
Ote Binary Stdout Contract ✅ Passed PR contains only shell scripts and YAML config files; the OTE Binary Stdout Contract check applies only to Go test binaries and is not applicable here.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR contains no Ginkgo e2e tests. Changes are limited to CI configuration files (shell scripts and YAML), which are outside the custom check's scope of IPv6/disconnected network test compatibility f...
No-Weak-Crypto ✅ Passed No weak cryptography found: SHA-256 (strong crypto) is properly used for binary verification. No MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB, custom crypto, or insecure token comparisons detected.
Container-Privileges ✅ Passed The PR does not contain Kubernetes/container manifests with privileged settings. It modifies a CI step config (no securityContext/privileges) and a shell script with no privilege escalation directi...
No-Sensitive-Data-In-Logs ✅ Passed The PR properly protects all sensitive credentials (API tokens, GitHub tokens) by disabling command tracing with 'set +x' before handling them. No passwords, tokens, or API keys are exposed in logs.

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

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

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

@openshift-ci

openshift-ci Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pmtk

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-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 15, 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: 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/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh`:
- Around line 241-247: The unguarded claude mcp add command on line 241 will
cause the entire script to exit immediately when set -e is active if the command
fails, preventing the intended "warn and continue" behavior. Wrap the claude mcp
add command with error handling (such as appending || true or using an if
statement) so that if the command fails, the script continues to execute the
subsequent wait_for_mcp_status check and warning message instead of exiting.
- Around line 237-239: The curl command downloading the openshift-ci-mcp binary
(in the condition starting with "if curl -sL --retry 3") lacks explicit network
timeout settings. This can cause the download to hang indefinitely during
network stalls, exhausting the step budget. Add `--connect-timeout` and
`--max-time` flags to the curl invocation to enforce reasonable timeouts (for
example, 30 seconds for connection and 60 seconds for total operation time),
ensuring the command fails fast when network conditions are poor rather than
consuming excessive budget waiting for a response.
🪄 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: 2b7e05a2-0f75-4740-97c6-55496a25946a

📥 Commits

Reviewing files that changed from the base of the PR and between e3f9752 and eba8df5.

📒 Files selected for processing (2)
  • ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh
  • ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-ref.yaml

Comment on lines +237 to +239
if curl -sL --retry 3 -o "${ocimcp_bin}" \
"https://github.com/openshift-eng/openshift-ci-mcp/releases/download/${ocimcp_version}/openshift-ci-mcp-linux-amd64" &&
echo "${ocimcp_sha256} ${ocimcp_bin}" | sha256sum --check --quiet; then

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 | ⚡ Quick win

Add explicit network timeouts to the MCP binary download.

The new curl call retries, but without --connect-timeout/--max-time it can hang long enough to burn step budget during network stalls.

Suggested fix
-    if curl -sL --retry 3 -o "${ocimcp_bin}" \
+    if curl -sL --retry 3 --retry-delay 2 --connect-timeout 10 --max-time 120 -o "${ocimcp_bin}" \
             "https://github.com/openshift-eng/openshift-ci-mcp/releases/download/${ocimcp_version}/openshift-ci-mcp-linux-amd64" &&
         echo "${ocimcp_sha256}  ${ocimcp_bin}" | sha256sum --check --quiet; then
📝 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.

Suggested change
if curl -sL --retry 3 -o "${ocimcp_bin}" \
"https://github.com/openshift-eng/openshift-ci-mcp/releases/download/${ocimcp_version}/openshift-ci-mcp-linux-amd64" &&
echo "${ocimcp_sha256} ${ocimcp_bin}" | sha256sum --check --quiet; then
if curl -sL --retry 3 --retry-delay 2 --connect-timeout 10 --max-time 120 -o "${ocimcp_bin}" \
"https://github.com/openshift-eng/openshift-ci-mcp/releases/download/${ocimcp_version}/openshift-ci-mcp-linux-amd64" &&
echo "${ocimcp_sha256} ${ocimcp_bin}" | sha256sum --check --quiet; then
🤖 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/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh`
around lines 237 - 239, The curl command downloading the openshift-ci-mcp binary
(in the condition starting with "if curl -sL --retry 3") lacks explicit network
timeout settings. This can cause the download to hang indefinitely during
network stalls, exhausting the step budget. Add `--connect-timeout` and
`--max-time` flags to the curl invocation to enforce reasonable timeouts (for
example, 30 seconds for connection and 60 seconds for total operation time),
ensuring the command fails fast when network conditions are poor rather than
consuming excessive budget waiting for a response.

Comment on lines +241 to +247
claude mcp add --scope user --transport stdio openshift-ci -- "${ocimcp_bin}"
echo "Waiting for OpenShift CI MCP to become available..."
if wait_for_mcp_status "openshift-ci" "Connected"; then
echo "OpenShift CI MCP is available."
else
echo "WARNING: OpenShift CI MCP did not connect. Job history will not be available."
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 | ⚡ Quick win

Non-fatal MCP behavior is currently broken by set -e on registration failure.

Line 241 runs claude mcp add ... unguarded. If it fails, set -e exits the step immediately, so the intended “warn and continue” path never executes.

Suggested fix
-        claude mcp add --scope user --transport stdio openshift-ci -- "${ocimcp_bin}"
-        echo "Waiting for OpenShift CI MCP to become available..."
-        if wait_for_mcp_status "openshift-ci" "Connected"; then
-            echo "OpenShift CI MCP is available."
-        else
-            echo "WARNING: OpenShift CI MCP did not connect. Job history will not be available."
-        fi
+        if claude mcp add --scope user --transport stdio openshift-ci -- "${ocimcp_bin}"; then
+            echo "Waiting for OpenShift CI MCP to become available..."
+            if wait_for_mcp_status "openshift-ci" "Connected"; then
+                echo "OpenShift CI MCP is available."
+            else
+                echo "WARNING: OpenShift CI MCP did not connect. Job history will not be available."
+            fi
+        else
+            echo "WARNING: Failed to register OpenShift CI MCP. Job history will not be available."
+        fi
📝 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.

Suggested change
claude mcp add --scope user --transport stdio openshift-ci -- "${ocimcp_bin}"
echo "Waiting for OpenShift CI MCP to become available..."
if wait_for_mcp_status "openshift-ci" "Connected"; then
echo "OpenShift CI MCP is available."
else
echo "WARNING: OpenShift CI MCP did not connect. Job history will not be available."
fi
if claude mcp add --scope user --transport stdio openshift-ci -- "${ocimcp_bin}"; then
echo "Waiting for OpenShift CI MCP to become available..."
if wait_for_mcp_status "openshift-ci" "Connected"; then
echo "OpenShift CI MCP is available."
else
echo "WARNING: OpenShift CI MCP did not connect. Job history will not be available."
fi
else
echo "WARNING: Failed to register OpenShift CI MCP. Job history will not be available."
fi
🤖 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/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh`
around lines 241 - 247, The unguarded claude mcp add command on line 241 will
cause the entire script to exit immediately when set -e is active if the command
fails, preventing the intended "warn and continue" behavior. Wrap the claude mcp
add command with error handling (such as appending || true or using an if
statement) so that if the command fails, the script continues to execute the
subsequent wait_for_mcp_status check and warning message instead of exiting.

@pmtk

pmtk commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

/pj-rehearse periodic-ci-openshift-eng-edge-tooling-main-microshift-ci-doctor

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@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: 1

🤖 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/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh`:
- Around line 272-278: The workspace setup in the script is cloning from a
personal fork (pmtk/edge-tooling.git) on a feature branch (ci-doctor-rca)
instead of using the pre-installed EDGE_TOOLING_DIR variable. Revert to the
original configuration by uncommenting the three lines that set SRC_DIR to use
EDGE_TOOLING_DIR and PLUGIN_DIR relative to it, then remove the hardcoded
SRC_DIR assignment to /tmp/edge-tooling and the entire git clone command that
references the personal fork and feature branch.
🪄 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: 3f518a06-77e3-4526-81bf-9d0dc0161e17

📥 Commits

Reviewing files that changed from the base of the PR and between eba8df5 and 9ec7b8b.

📒 Files selected for processing (1)
  • ci-operator/step-registry/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh

Comment on lines +272 to +278
#SRC_DIR="${EDGE_TOOLING_DIR}"
#PLUGIN_DIR="${SRC_DIR}/plugins/microshift-ci"
#cd "${SRC_DIR}"

SRC_DIR=/tmp/edge-tooling
PLUGIN_DIR="${SRC_DIR}/plugins/microshift-ci"
cd "${SRC_DIR}"
git clone https://github.com/pmtk/edge-tooling.git -b ci-doctor-rca "${SRC_DIR}"

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 | 🔴 Critical | ⚡ Quick win

Hardcoded personal fork and feature branch must be reverted before merge.

The workspace setup clones from pmtk/edge-tooling.git branch ci-doctor-rca instead of using the pre-installed EDGE_TOOLING_DIR. If merged, production CI would depend on a personal fork and feature branch that may disappear or diverge.

Restore the original configuration or update to use the official repository:

Suggested fix (restore original)
-#SRC_DIR="${EDGE_TOOLING_DIR}"
-#PLUGIN_DIR="${SRC_DIR}/plugins/microshift-ci"
-#cd "${SRC_DIR}"
-
-SRC_DIR=/tmp/edge-tooling
+SRC_DIR="${EDGE_TOOLING_DIR}"
 PLUGIN_DIR="${SRC_DIR}/plugins/microshift-ci"
-git clone https://github.com/pmtk/edge-tooling.git -b ci-doctor-rca "${SRC_DIR}"
+cd "${SRC_DIR}"
🤖 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/openshift/edge-tooling/microshift-ci/doctor/openshift-edge-tooling-microshift-ci-doctor-commands.sh`
around lines 272 - 278, The workspace setup in the script is cloning from a
personal fork (pmtk/edge-tooling.git) on a feature branch (ci-doctor-rca)
instead of using the pre-installed EDGE_TOOLING_DIR variable. Revert to the
original configuration by uncommenting the three lines that set SRC_DIR to use
EDGE_TOOLING_DIR and PLUGIN_DIR relative to it, then remove the hardcoded
SRC_DIR assignment to /tmp/edge-tooling and the entire git clone command that
references the personal fork and feature branch.

@pmtk

pmtk commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

/pj-rehearse periodic-ci-openshift-eng-edge-tooling-main-microshift-ci-doctor

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@pmtk

pmtk commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

/pj-rehearse periodic-ci-openshift-eng-edge-tooling-main-microshift-ci-doctor

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@pmtk: 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]
@pmtk: 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
periodic-ci-openshift-eng-edge-tooling-main-microshift-ci-doctor N/A periodic Registry content changed
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.

@pmtk

pmtk commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

/pj-rehearse periodic-ci-openshift-eng-edge-tooling-main-microshift-ci-doctor

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@openshift-ci

openshift-ci Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

@pmtk: 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-eng-edge-tooling-main-microshift-ci-doctor 4189176 link unknown /pj-rehearse periodic-ci-openshift-eng-edge-tooling-main-microshift-ci-doctor

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.

"https://github.com/openshift-eng/openshift-ci-mcp/releases/download/${ocimcp_version}/openshift-ci-mcp-linux-amd64" &&
echo "${ocimcp_sha256} ${ocimcp_bin}" | sha256sum --check --quiet; then
chmod +x "${ocimcp_bin}"
claude mcp add --scope user --transport stdio openshift-ci -- "${ocimcp_bin}"

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.

I recommend overwriting the command so that you can pass flags limiting the available tools. It will help with how much context is taken up and limit the LLM to only the needed tools for pulling the required data

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. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants