CONSOLE-4951: Add Health tab to Node View, remove events tab#16581
CONSOLE-4951: Add Health tab to Node View, remove events tab#16581jeff-phillips-18 wants to merge 1 commit into
Conversation
|
@jeff-phillips-18: This pull request references CONSOLE-4951 which is a valid jira issue. 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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (11)
✅ Files skipped from review due to trivial changes (3)
🚧 Files skipped from review as they are similar to previous changes (8)
WalkthroughThis PR introduces a new Health tab for node details pages. The Health tab displays performance metrics (CPU, Memory, Network, Disk IO) via Prometheus queries and includes a Logs sub-section. The feature is controlled by the ChangesNode Health Dashboard Feature
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested labels
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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
frontend/packages/console-dynamic-plugin-sdk/src/extensions/node.ts (1)
63-75: ⚡ Quick winClarify that
healthpriorities are informational, not currently extensibleThe JSDoc now lists
healthdefaults, butparentTabstill only accepts'configuration'. Add a short note so plugin authors don’t infer they can register health sub-tabs yet.Proposed doc tweak
/** * The page to be shown in node sub-tabs. It takes tab name as name and priority of the tab. * * Notes: * The UI displays tabs in priority order from highest to lowest. Default built-in tab priorities include: * - **configuration:** * - storage/70 * - machine/50 - * - **health:** + * - **health:** (built-in only; custom sub-tabs are not supported yet because `parentTab` is `'configuration'`) * - performance/70 * - logs/30 */🤖 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 `@frontend/packages/console-dynamic-plugin-sdk/src/extensions/node.ts` around lines 63 - 75, The JSDoc lists default priorities for the 'health' tab which could mislead authors into thinking they can register sub-tabs there even though parentTab only accepts 'configuration'; update the comment near parentTab and the node sub-tab JSDoc (reference symbols: parentTab and the node sub-tabs description) to add a short clarifying sentence stating that the 'health' priority list is informational only and that at present only the 'configuration' tab supports adding sub-tabs (i.e., health is not currently extensible).
🤖 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
`@frontend/packages/console-app/src/components/nodes/__tests__/NodeDetailsPage.spec.tsx`:
- Around line 171-192: The test references a non-existent workload tab; update
the NodeDetailsPage spec to remove the incorrect workloadTab check and assert
the actual tabs produced by pagesFor(mockNode) when FLAG_NODE_MGMT_V1 is
disabled: ensure events and logs are defined and verify presence/absence of the
real tabs (e.g., overview, details, yaml, pods) instead of checking for
`workload`; update the assertions that currently reference `workloadTab` to
check for `podsTab` or the appropriate real tab names obtained from
DetailsPage.mock.calls[0][0].pagesFor(mockNode).
---
Nitpick comments:
In `@frontend/packages/console-dynamic-plugin-sdk/src/extensions/node.ts`:
- Around line 63-75: The JSDoc lists default priorities for the 'health' tab
which could mislead authors into thinking they can register sub-tabs there even
though parentTab only accepts 'configuration'; update the comment near parentTab
and the node sub-tab JSDoc (reference symbols: parentTab and the node sub-tabs
description) to add a short clarifying sentence stating that the 'health'
priority list is informational only and that at present only the 'configuration'
tab supports adding sub-tabs (i.e., health is not currently extensible).
🪄 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: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: b0168fca-fd73-4636-921d-d5538408659c
📒 Files selected for processing (11)
frontend/packages/console-app/locales/en/console-app.jsonfrontend/packages/console-app/src/components/nodes/NodeDetailsPage.tsxfrontend/packages/console-app/src/components/nodes/NodeLogs.tsxfrontend/packages/console-app/src/components/nodes/__tests__/NodeDetailsPage.spec.tsxfrontend/packages/console-app/src/components/nodes/__tests__/NodeLogs.spec.tsxfrontend/packages/console-app/src/components/nodes/health/NodeHealth.tsxfrontend/packages/console-app/src/components/nodes/health/NodePerformance.tsxfrontend/packages/console-app/src/components/nodes/health/__tests__/NodeHealth.spec.tsxfrontend/packages/console-app/src/components/nodes/health/__tests__/NodePerformance.spec.tsxfrontend/packages/console-dynamic-plugin-sdk/docs/console-extensions.mdfrontend/packages/console-dynamic-plugin-sdk/src/extensions/node.ts
3f5284f to
7fc2883
Compare
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: jeff-phillips-18 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 |
|
/retest |
1 similar comment
|
/retest |
|
@jeff-phillips-18: all tests passed! 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. |




Closes CONSOLE-4951
Closes CONSOLE-4956
Note
This feature is available in Tech Preview only.
Analysis / Root cause:
The Node Details page needed a dedicated Health tab to consolidate performance and operational health metrics. The previous structure had Logs and Events as separate top-level tabs, which didn't align with the new node management UX when the FLAG_NODE_MGMT_V1 feature flag is enabled.
Solution description:
This PR implements a new Health tab for the Node Details page that appears when FLAG_NODE_MGMT_V1 is enabled. The Health tab uses a sub-navigation structure with two tabs:
Each performance metric section is expandable/collapsible and displays Prometheus queries via QueryBrowser. The implementation reuses existing query definitions from node-dashboard/queries.ts to avoid duplication.
Key changes:
Screenshots / screen recording:
Test setup:
Test cases:
Browser conformance:
Additional info:
Reviewers and assignees:
Console Approver:
/assign @jhadvig
Docs approver:
/assign @jseseCCS
PX approver:
/assign @rh-joshbeverly
🤖 Generated with https://claude.com/claude-code
Summary by CodeRabbit
New Features
Localization
Improvements
Tests
Documentation