USHIFT-7381: Add PCP dashboard post step for MicroShift e2e jobs#82007
USHIFT-7381: Add PCP dashboard post step for MicroShift e2e jobs#82007suleymanakbas91 wants to merge 4 commits into
Conversation
Add a new CI step that generates an interactive Chart.js PCP performance dashboard (CPU, memory, I/O, disk) from scenario VM and hypervisor PCP archives. The output is a custom-link-pcp.html artifact that Spyglass renders as a "Test PCP" toggle in Prow job results. Uses the edge-tooling-ai-helpers CI image which contains pcp2json and all PCP dashboard scripts — no script duplication needed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: suleymanakbas91 The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@suleymanakbas91, Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
WalkthroughAdds a PCP dashboard CI step that collects MicroShift performance artifacts, generates ChangesMicroShift PCP dashboard
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant E2EWorkflow
participant PCPDashboardStep
participant RemoteScenario
participant DashboardGenerator
participant ProwArtifacts
E2EWorkflow->>PCPDashboardStep: invoke post step
PCPDashboardStep->>RemoteScenario: retrieve PCP archives and junit.xml
PCPDashboardStep->>RemoteScenario: copy optional pmlogger logs
PCPDashboardStep->>DashboardGenerator: generate Test PCP dashboard
DashboardGenerator-->>ProwArtifacts: write custom-link-pcp.html
Suggested reviewers: Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error)
✅ Passed checks (14 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@suleymanakbas91: This pull request references USHIFT-7381 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set. DetailsIn response to this:
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 openshift-eng/jira-lifecycle-plugin repository. |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
ci-operator/step-registry/openshift/microshift/infra/pcp-dashboard/openshift-microshift-infra-pcp-dashboard-commands.sh (1)
21-26: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winMake optional pmlog copy failures explicit.
|| truesuppressesscp’s failure status, so permission or network errors are treated like an empty directory and the artifact may omit hypervisor metrics without a clear status. Keep this path non-blocking, but emit a warning or status marker.The PR objective says the dashboard includes hypervisor metrics while pmlogger collection is optional.
🤖 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/microshift/infra/pcp-dashboard/openshift-microshift-infra-pcp-dashboard-commands.sh` around lines 21 - 26, Update the pmlog copy block around PMLOGS_DIR so scp failures remain non-blocking but are explicitly reported. Replace the silent `|| true` handling with a warning or status marker when the scp command fails, while preserving successful artifact copying and optional collection behavior.
🤖 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/microshift/infra/pcp-dashboard/openshift-microshift-infra-pcp-dashboard-commands.sh`:
- Around line 1-2: Remove the global xtrace option from the shell script’s
startup configuration, changing the top-level set command to enable only
errexit, nounset, and pipefail. Do not add replacement tracing around the
authenticated SSH/SCP operations.
---
Nitpick comments:
In
`@ci-operator/step-registry/openshift/microshift/infra/pcp-dashboard/openshift-microshift-infra-pcp-dashboard-commands.sh`:
- Around line 21-26: Update the pmlog copy block around PMLOGS_DIR so scp
failures remain non-blocking but are explicitly reported. Replace the silent `||
true` handling with a warning or status marker when the scp command fails, while
preserving successful artifact copying and optional collection behavior.
🪄 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: b596178d-b81e-4dc0-a2bd-44a2a80eef59
📒 Files selected for processing (4)
ci-operator/step-registry/openshift/microshift/e2e/metal-tests/openshift-microshift-e2e-metal-tests-workflow.yamlci-operator/step-registry/openshift/microshift/infra/pcp-dashboard/OWNERSci-operator/step-registry/openshift/microshift/infra/pcp-dashboard/openshift-microshift-infra-pcp-dashboard-commands.shci-operator/step-registry/openshift/microshift/infra/pcp-dashboard/openshift-microshift-infra-pcp-dashboard-ref.yaml
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Addressed the pmlog copy warning in 7de2372 — replaced silent |
|
@suleymanakbas91, Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
[REHEARSALNOTIFIER]
A total of 222 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-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
|
/pj-rehearse |
|
@suleymanakbas91: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@suleymanakbas91: The following test 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
openshift-microshift-infra-pcp-dashboardCI step that generates interactive Chart.js PCP performance dashboards from VM/hypervisor PCP archivesopenshift-microshift-e2e-metal-testsworkflow, withbest_effort: trueso failures don't block the jobedge-tooling-ai-helpersCI image (has pcp2json + all PCP scripts) — no script duplicationThe output
custom-link-pcp.htmlwith<title>Test PCP</title>is automatically picked up by the existing Spyglass HTML lens and rendered as a collapsible "Test PCP" toggle alongside "Test Logs" and "VM Logs".Depends on
--localmode togenerate-dashboard.shTest plan
🤖 Generated with Claude Code
Summary by CodeRabbit
openshift-microshift-infra-pcp-dashboardpost-step to the MicroShift metal E2E workflow (openshift-microshift-e2e-metal-tests) as the first post action, so PCP dashboard generation happens after tests without blocking job completion.edge-tooling-ai-helpersCI image and fetches VM and hypervisor PCP archives plusjunit.xmlfrom the remote scenario directory over SSH, then usesgenerate-dashboard.sh(now supporting--local) to generate an interactive Chart.js PCP dashboard artifact (custom-link-pcp.html).ci-operator/step-registrywith the specified resources/timeout/grace period and RHSM creds mounting, adds step OWNERS/review metadata, and improves copy/scp error handling by warning explicitly when hypervisorpmloggerlog retrieval fails rather than silently suppressing it.