Skip to content

NETOBSERV-2596: Unify Health sources#1232

Merged
jotak merged 7 commits intonetobserv:mainfrom
jotak:unify-data-model
Feb 4, 2026
Merged

NETOBSERV-2596: Unify Health sources#1232
jotak merged 7 commits intonetobserv:mainfrom
jotak:unify-data-model

Conversation

@jotak
Copy link
Member

@jotak jotak commented Jan 28, 2026

Description

  • Recording rules and Alerts are merged as "HealthItem" early in the process (post-fetching)
  • Get recording health annotation info from the operator, more similar to what we have with alerts
  • In topology, peer matching is now done solely based on Health provided resource name. One peer has 0 or 1 health item associated with, no more.
  • Manage workloads from metadata-defined labels (including the "kind" label)

Dependencies

Checklist

If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that.

  • Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix (in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes).
  • Does this PR require product documentation?
    • If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs.
  • Does this PR require a product release notes entry?
    • If so, fill in "Release Note Text" in the JIRA.
  • Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc.
    • If so, make sure it is described in the JIRA ticket.
  • QE requirements (check 1 from the list):
    • Standard QE validation, with pre-merge tests unless stated otherwise.
    • Regression tests only (e.g. refactoring with no user-facing change).
    • No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team).

@openshift-ci
Copy link

openshift-ci bot commented Jan 28, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign jpinsonneau for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@jotak jotak marked this pull request as draft January 28, 2026 16:11
@codecov
Copy link

codecov bot commented Jan 28, 2026

Codecov Report

❌ Patch coverage is 28.47458% with 211 lines in your changes missing coverage. Please review.
✅ Project coverage is 50.54%. Comparing base (da1462f) to head (5d79fd7).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
web/src/components/health/health-helper.ts 34.96% 97 Missing and 9 partials ⚠️
web/src/components/health/health-fetcher.ts 11.11% 40 Missing ⚠️
web/src/components/messages/empty.tsx 0.00% 14 Missing ⚠️
web/src/model/topology.ts 22.22% 14 Missing ⚠️
web/src/components/health/rule-details.tsx 7.69% 12 Missing ⚠️
...ponents/tabs/netflow-topology/netflow-topology.tsx 52.63% 7 Missing and 2 partials ⚠️
...eb/src/components/drawer/element/element-panel.tsx 30.00% 4 Missing and 3 partials ⚠️
web/src/components/health/health-card.tsx 25.00% 6 Missing ⚠️
web/src/components/health/health-color-square.tsx 40.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1232      +/-   ##
==========================================
+ Coverage   49.35%   50.54%   +1.18%     
==========================================
  Files         221      222       +1     
  Lines       12162    11961     -201     
  Branches     1590     1509      -81     
==========================================
+ Hits         6003     6046      +43     
+ Misses       5595     5340     -255     
- Partials      564      575      +11     
Flag Coverage Δ
uitests 53.87% <28.47%> (+1.75%) ⬆️
unittests 41.57% <ø> (-0.13%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
pkg/config/config.go 47.36% <ø> (ø)
pkg/config/duration.go 0.00% <ø> (ø)
...components/query-summary/summary-panel-content.tsx 61.83% <ø> (ø)
...ents/tabs/netflow-topology/2d/topology-content.tsx 29.46% <ø> (ø)
web/src/model/config.ts 100.00% <ø> (ø)
web/src/components/health/health-color-square.tsx 30.00% <40.00%> (+9.66%) ⬆️
web/src/components/health/health-card.tsx 24.32% <25.00%> (+2.10%) ⬆️
...eb/src/components/drawer/element/element-panel.tsx 59.18% <30.00%> (+1.18%) ⬆️
...ponents/tabs/netflow-topology/netflow-topology.tsx 38.93% <52.63%> (+5.03%) ⬆️
web/src/components/health/rule-details.tsx 33.33% <7.69%> (+16.09%) ⬆️
... and 4 more

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link

New image:
quay.io/netobserv/network-observability-console-plugin:bcf6834

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=bcf6834 make set-plugin-image

@github-actions github-actions bot removed the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label Jan 29, 2026
@jotak
Copy link
Member Author

jotak commented Jan 29, 2026

I've rebased based on #1238

@jotak
Copy link
Member Author

jotak commented Jan 30, 2026

Comment posted by @memodi on #1238 (for the record) :

@jpinsonneau I am seeing an issue where Workload alerts are not showing in its tab, even though they're firing:

Screenshot 2026-01-29 at 12 28 41 PM image

they're getting combined into NS tab looks like:

image

- Recording rules and Alerts are merged as "HealthItem" early in the
  process (post-fetching)
- Get recording health annotation info from the operator, more similar to what we
  have with alerts

Topology: fetch all health (not only alerts)

Reuse existing functions
Rely on the existing per-resource grouping to match with topology
elements

Health page, tab icon was inconsistent with severity
- Workload labels are taken from metadata
- Include Kind labels as well, so we don't need to try to guess it
- Add test on grouping
- Remove some old TODO in code
- Webpack: do transpileOnly just for container builds, not `make build`
@jotak jotak marked this pull request as ready for review January 30, 2026 17:58
@jotak jotak added the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label Feb 2, 2026
@github-actions
Copy link

github-actions bot commented Feb 2, 2026

New image:
quay.io/netobserv/network-observability-console-plugin:a5bf52a

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=a5bf52a make set-plugin-image

@jotak
Copy link
Member Author

jotak commented Feb 2, 2026

/retest

- Move health card css to its own file, imported from the component
- rename pageSection id to a unique one across our pages
@github-actions github-actions bot removed the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label Feb 2, 2026
@jotak jotak added the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label Feb 2, 2026
@github-actions
Copy link

github-actions bot commented Feb 2, 2026

New image:
quay.io/netobserv/network-observability-console-plugin:2b00bf4

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=2b00bf4 make set-plugin-image

@github-actions github-actions bot removed the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label Feb 2, 2026
@jotak jotak added the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label Feb 2, 2026
@github-actions
Copy link

github-actions bot commented Feb 2, 2026

New image:
quay.io/netobserv/network-observability-console-plugin:ebc960c

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=ebc960c make set-plugin-image

@jotak jotak changed the title Unify Health sources NETOBSERV-2596: Unify Health sources Feb 2, 2026
@openshift-ci-robot
Copy link
Collaborator

openshift-ci-robot commented Feb 2, 2026

@jotak: This pull request references NETOBSERV-2596 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 bug to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Description

  • Recording rules and Alerts are merged as "HealthItem" early in the process (post-fetching)
  • Get recording health annotation info from the operator, more similar to what we have with alerts
  • In topology, peer matching is now done solely based on Health provided resource name. One peer has 0 or 1 health item associated with, no more.
  • Manage workloads from metadata-defined labels (including the "kind" label)

Dependencies

Checklist

If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that.

  • Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix (in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes).
  • Does this PR require product documentation?
  • If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs.
  • Does this PR require a product release notes entry?
  • If so, fill in "Release Note Text" in the JIRA.
  • Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc.
  • If so, make sure it is described in the JIRA ticket.
  • QE requirements (check 1 from the list):
  • Standard QE validation, with pre-merge tests unless stated otherwise.
  • Regression tests only (e.g. refactoring with no user-facing change).
  • No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team).

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.

@memodi
Copy link
Member

memodi commented Feb 2, 2026

/retest

Comment on lines +19 to +20
RUN TRANSPILE_ONLY=true FLAVOR=$FLAVOR npm run build$BUILDSCRIPT
RUN TRANSPILE_ONLY=true npm run build:static
Copy link
Member

Choose a reason for hiding this comment

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

image building and plugin-cypress test are consistently failing on this PR

Do we need these changes in Dockerfile.cypress as well?

Copy link
Member Author

@jotak jotak Feb 3, 2026

Choose a reason for hiding this comment

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

I'll do that; that shouldn't cause a failure, however it makes the jobs faster, if it's a matter of jobs timing out?

Copy link
Contributor

@leandroberetta leandroberetta left a comment

Choose a reason for hiding this comment

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

Code looks good and cleaner. I think the changes to the other Dockerfiles needs to be added to the Cypress one.

@openshift-ci openshift-ci bot removed the lgtm label Feb 3, 2026
@openshift-ci
Copy link

openshift-ci bot commented Feb 3, 2026

New changes are detected. LGTM label has been removed.

@github-actions github-actions bot removed the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label Feb 3, 2026
@jotak jotak added the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label Feb 3, 2026
@github-actions
Copy link

github-actions bot commented Feb 3, 2026

New image:
quay.io/netobserv/network-observability-console-plugin:f4be918

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=f4be918 make set-plugin-image

@github-actions github-actions bot removed the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label Feb 3, 2026
@jotak jotak added the ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. label Feb 3, 2026
@github-actions
Copy link

github-actions bot commented Feb 3, 2026

New image:
quay.io/netobserv/network-observability-console-plugin:21d8c1a

It will expire after two weeks.

To deploy this build, run from the operator repo, assuming the operator is running:

USER=netobserv VERSION=21d8c1a make set-plugin-image

@memodi
Copy link
Member

memodi commented Feb 3, 2026

/label qe-approved

@openshift-ci openshift-ci bot added the qe-approved QE has approved this pull request label Feb 3, 2026
@openshift-ci-robot
Copy link
Collaborator

openshift-ci-robot commented Feb 3, 2026

@jotak: This pull request references NETOBSERV-2596 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 bug to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Description

  • Recording rules and Alerts are merged as "HealthItem" early in the process (post-fetching)
  • Get recording health annotation info from the operator, more similar to what we have with alerts
  • In topology, peer matching is now done solely based on Health provided resource name. One peer has 0 or 1 health item associated with, no more.
  • Manage workloads from metadata-defined labels (including the "kind" label)

Dependencies

Checklist

If you are not familiar with our processes or don't know what to answer in the list below, let us know in a comment: the maintainers will take care of that.

  • Is this PR backed with a JIRA ticket? If so, make sure it is written as a title prefix (in general, PRs affecting the NetObserv/Network Observability product should be backed with a JIRA ticket - especially if they bring user facing changes).
  • Does this PR require product documentation?
  • If so, make sure the JIRA epic is labelled with "documentation" and provides a description relevant for doc writers, such as use cases or scenarios. Any required step to activate or configure the feature should be documented there, such as new CRD knobs.
  • Does this PR require a product release notes entry?
  • If so, fill in "Release Note Text" in the JIRA.
  • Is there anything else the QE team should know before testing? E.g: configuration changes, environment setup, etc.
  • If so, make sure it is described in the JIRA ticket.
  • QE requirements (check 1 from the list):
  • Standard QE validation, with pre-merge tests unless stated otherwise.
  • Regression tests only (e.g. refactoring with no user-facing change).
  • No QE (e.g. trivial change with high reviewer's confidence, or per agreement with the QE team).

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.

@jotak
Copy link
Member Author

jotak commented Feb 4, 2026

/cherry-pick release-1.11

@openshift-cherrypick-robot

@jotak: once the present PR merges, I will cherry-pick it on top of release-1.11 in a new PR and assign it to you.

Details

In response to this:

/cherry-pick release-1.11

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.

@jotak jotak merged commit d89aa5b into netobserv:main Feb 4, 2026
13 of 14 checks passed
@openshift-cherrypick-robot

@jotak: new pull request created: #1258

Details

In response to this:

/cherry-pick release-1.11

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference ok-to-test To set manually when a PR is safe to test. Triggers image build on PR. qe-approved QE has approved this pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants