Skip to content

Add tracing-uiplugin component#541

Merged
openshift-merge-bot[bot] merged 1 commit intoopenshift-eng:mainfrom
IshwarKanse:coo
Jan 27, 2026
Merged

Add tracing-uiplugin component#541
openshift-merge-bot[bot] merged 1 commit intoopenshift-eng:mainfrom
IshwarKanse:coo

Conversation

@IshwarKanse
Copy link
Copy Markdown
Member

@IshwarKanse IshwarKanse commented Dec 16, 2025

Add tracing-uiplugin Component for Distributed Tracing UI plugin

Summary

This PR adds a new component tracing-uiplugin to map distributed tracing UI plugin E2E tests to the Component Readiness dashboard. Integrates with the COO layered product dashboard (Sippy PR #3109).

Changes Made

1. New Component: tracing-uiplugin

Location: pkg/components/clusterobservabilityoperator/tracinguiplugin/

Component Configuration:

Name:                 "tracing-uiplugin"
Operators:            []string{"cluster-observability-operator"}
DefaultJiraComponent: "tracing-uiplugin"
Matchers:             Suite: "tracing-uiplugin"

JIRA Integration:

  • JIRA Project: OCPBUGS (default - follows established pattern for layered products)
  • JIRA Component: tracing-uiplugin
  • Note: While COO has its own JIRA project, component is created in OCPBUGS to ensure full Sippy integration (bug filing, triage auto-commenting, component ID resolution). This follows the same pattern as other layered products (CNV, ODF, Quay, etc.)

2. Component Registration

File: pkg/registry/registry.go

  • Import: tracinguiplugin "github.com/openshift-eng/ci-test-mapping/pkg/components/clusterobservabilityoperator/tracinguiplugin"
  • Registered component: r.Register("tracing-uiplugin", &tracinguiplugin.ClusterObservabilityOperatorComponent)

Note: Component organized in subdirectory structure to allow other COO teams (e.g., logging-uiplugin) to easily add their components in parallel directories.

3. Suite Configuration

File: config/openshift-eng.yaml

  • Added tracing-uiplugin to includeSuites

Test Suite Integration

Test Repository

Repository: openshift/distributed-tracing-console-plugin
Test File: tests/e2e/dt-plugin-tests.cy.ts

Test Suite Name

describe('tracing-uiplugin', () => {
  // 6 E2E tests
});

Test Capabilities

All 6 tests include [Capability:XXX] tags that are automatically extracted:

Test 1: Empty State

it('[Capability:UIPlugin][Capability:EmptyState] Test Distributed Tracing UI plugin page without any Tempo instances', ...)

Capabilities: UIPlugin, EmptyState

Test 2: Trace Visualization & RBAC

it('[Capability:UIPlugin][Capability:TraceVisualization][Capability:SpanLinks][Capability:RBAC] Test Distributed Tracing UI plugin with Tempo instances and verify traces, span links using user having cluster-admin role', ...)

Capabilities: UIPlugin, TraceVisualization, SpanLinks, RBAC

Test 3: Trace Limits

it('[Capability:UIPlugin][Capability:TraceLimits] Test trace limit functionality', ...)

Capabilities: UIPlugin, TraceLimits

Test 4: Cutoff Box & Time Range

it('[Capability:UIPlugin][Capability:TraceVisualization][Capability:TimeRange] Test Distributed Traces Cutoffbox functionality', ...)

Capabilities: UIPlugin, TraceVisualization, TimeRange

Test 5: AI Integration

it('[Capability:UIPlugin][Capability:AIIntegration][Capability:Lightspeed] Test AI Traces summary with OpenShift Lightspeed', ...)

Capabilities: UIPlugin, AIIntegration, Lightspeed

Test 6: Operator Lifecycle

it('[Capability:OperatorLifecycle][Capability:Installation] Test "Install Tempo operator" if operator is not installed', ...)

Capabilities: OperatorLifecycle, Installation

Capability Summary

Total Tests: 6
Total Capabilities: 11

Capability Test Count
UIPlugin 5
TraceVisualization 2
EmptyState 1
SpanLinks 1
RBAC 1
TraceLimits 1
TimeRange 1
AIIntegration 1
Lightspeed 1
OperatorLifecycle 1
Installation 1

Testing & Verification

Build Verification

$ go build .
# ✅ Successful compilation

Mapping Verification

$ make mapping
# ✅ matched=39248 unmatched=7741
# ✅ verification complete

No Tests Moved to Unknown

$ ./ci-test-mapping map-verify
# ✅ verification complete in 3.188866625s

Files Changed

M  config/openshift-eng.yaml                                                    (+1 suite)
A  pkg/components/clusterobservabilityoperator/tracinguiplugin/component.go     (new component)
A  pkg/components/clusterobservabilityoperator/tracinguiplugin/capabilities.go  (new)
A  pkg/components/clusterobservabilityoperator/tracinguiplugin/OWNERS           (new)
M  pkg/registry/registry.go                                                     (import + registration)

Team Ownership

OWNERS file added with the following reviewer/approver:

References

@openshift-ci openshift-ci Bot requested review from deepsm007 and xueqzhan December 16, 2025 15:49
@openshift-ci openshift-ci Bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Dec 16, 2025
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Dec 16, 2025

Hi @IshwarKanse. Thanks for your PR.

I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@openshift-ci openshift-ci Bot added the do-not-merge/invalid-owners-file Indicates that a PR should not merge because it has an invalid OWNERS file in it. label Dec 16, 2025
@IshwarKanse
Copy link
Copy Markdown
Member Author

Requested to be added to the Github org.

@IshwarKanse
Copy link
Copy Markdown
Member Author

/verify-owners

@openshift-ci openshift-ci Bot removed the do-not-merge/invalid-owners-file Indicates that a PR should not merge because it has an invalid OWNERS file in it. label Dec 16, 2025
@IshwarKanse
Copy link
Copy Markdown
Member Author

/ok-to-test

@openshift-ci openshift-ci Bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Dec 17, 2025
@IshwarKanse IshwarKanse force-pushed the coo branch 3 times, most recently from a8c8d04 to 37b32b1 Compare December 19, 2025 06:13
@IshwarKanse
Copy link
Copy Markdown
Member Author

/lgtm

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Dec 19, 2025

@IshwarKanse: you cannot LGTM your own PR.

Details

In response to this:

/lgtm

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.

@IshwarKanse
Copy link
Copy Markdown
Member Author

IshwarKanse commented Dec 19, 2025

@neisw Can you help to review and approve this PR. I have updated our tests to add the matching testsuite name and capability tags but the jobs haven't run after the change so we don't have the data in BigQuery yet, with the updated test changes. But I have simulated locally and the mapping is working well. The jobs will now be run after the year end recharge.

Once this component data shows correctly on the dashboard, I will reach out to our Cluster Observability Operator component teams to add their components similarly.

cat data/openshift-gce-devel/ci_analysis_us/test-output-mapping.json
[
  {
    "APIVersion": "v1",
    "Kind": "TestOwnership",
    "ID": "tracing-uiplugin:c803cb25ab8bcbe7588bf1fc2f056340",
    "Name": "tracing-uiplugin [Capability:UIPlugin][Capability:EmptyState] Test Distributed Tracing UI plugin page without any Tempo instances",
    "Suite": "tracing-uiplugin",
    "Product": "OpenShift",
    "Priority": 0,
    "StaffApprovedObsolete": false,
    "Component": "tracing-uiplugin",
    "Capabilities": [
      "EmptyState",
      "UIPlugin"
    ],
    "JIRAComponent": "tracing-uiplugin",
    "JIRAComponentID": null
  },
  {
    "APIVersion": "v1",
    "Kind": "TestOwnership",
    "ID": "tracing-uiplugin:36356fd64c958476cf231fc785c92ba9",
    "Name": "tracing-uiplugin [Capability:UIPlugin][Capability:TraceVisualization][Capability:SpanLinks][Capability:RBAC] Test Distributed Tracing UI plugin with Tempo instances and verify traces, span links using user having cluster-admin role",
    "Suite": "tracing-uiplugin",
    "Product": "OpenShift",
    "Priority": 0,
    "StaffApprovedObsolete": false,
    "Component": "tracing-uiplugin",
    "Capabilities": [
      "RBAC",
      "SpanLinks",
      "TraceVisualization",
      "UIPlugin"
    ],
    "JIRAComponent": "tracing-uiplugin",
    "JIRAComponentID": null
  },
  {
    "APIVersion": "v1",
    "Kind": "TestOwnership",
    "ID": "tracing-uiplugin:540bfada9facc838186bed9d4fd09244",
    "Name": "tracing-uiplugin [Capability:UIPlugin][Capability:TraceLimits] Test trace limit functionality",
    "Suite": "tracing-uiplugin",
    "Product": "OpenShift",
    "Priority": 0,
    "StaffApprovedObsolete": false,
    "Component": "tracing-uiplugin",
    "Capabilities": [
      "TraceLimits",
      "UIPlugin"
    ],
    "JIRAComponent": "tracing-uiplugin",
    "JIRAComponentID": null
  },
  {
    "APIVersion": "v1",
    "Kind": "TestOwnership",
    "ID": "tracing-uiplugin:fae71fcb383b53248072cbe96bda2ac5",
    "Name": "tracing-uiplugin [Capability:UIPlugin][Capability:TraceVisualization][Capability:TimeRange] Test Distributed Traces Cutoffbox functionality",
    "Suite": "tracing-uiplugin",
    "Product": "OpenShift",
    "Priority": 0,
    "StaffApprovedObsolete": false,
    "Component": "tracing-uiplugin",
    "Capabilities": [
      "TimeRange",
      "TraceVisualization",
      "UIPlugin"
    ],
    "JIRAComponent": "tracing-uiplugin",
    "JIRAComponentID": null
  },
  {
    "APIVersion": "v1",
    "Kind": "TestOwnership",
    "ID": "tracing-uiplugin:8537fce662a5511ab2341568f8e236fe",
    "Name": "tracing-uiplugin [Capability:OperatorLifecycle][Capability:Installation] Test \"Install Tempo operator\" if operator is not installed",
    "Suite": "tracing-uiplugin",
    "Product": "OpenShift",
    "Priority": 0,
    "StaffApprovedObsolete": false,
    "Component": "tracing-uiplugin",
    "Capabilities": [
      "Installation",
      "OperatorLifecycle"
    ],
    "JIRAComponent": "tracing-uiplugin",
    "JIRAComponentID": null
  }
]

% cat data/openshift-gce-devel/ci_analysis_us/test-tracing-junit.json 
[
  {
    "name": "tracing-uiplugin [Capability:UIPlugin][Capability:EmptyState] Test Distributed Tracing UI plugin page without any Tempo instances",
    "suite": "tracing-uiplugin",
    "status": 12
  },
  {
    "name": "tracing-uiplugin [Capability:UIPlugin][Capability:TraceVisualization][Capability:SpanLinks][Capability:RBAC] Test Distributed Tracing UI plugin with Tempo instances and verify traces, span links using user having cluster-admin role",
    "suite": "tracing-uiplugin",
    "status": 12
  },
  {
    "name": "tracing-uiplugin [Capability:UIPlugin][Capability:TraceLimits] Test trace limit functionality",
    "suite": "tracing-uiplugin",
    "status": 12
  },
  {
    "name": "tracing-uiplugin [Capability:UIPlugin][Capability:TraceVisualization][Capability:TimeRange] Test Distributed Traces Cutoffbox functionality",
    "suite": "tracing-uiplugin",
    "status": 12
  },
  {
    "name": "tracing-uiplugin [Capability:OperatorLifecycle][Capability:Installation] Test \"Install Tempo operator\" if operator is not installed",
    "suite": "tracing-uiplugin",
    "status": 13
  }
]

Comment thread pkg/components/clusterobservabilityoperator/tracinguiplugin/component.go Outdated
@IshwarKanse
Copy link
Copy Markdown
Member Author

@neisw The ticket to add the component names to OCPBUGS jira project is completed and I have also updated the PR to remove coo as the default project. Let me know if there are any other changes required and if its good to get this PR merged.

@neisw
Copy link
Copy Markdown
Contributor

neisw commented Jan 23, 2026

Verified that tracing-uiplugin appears as a component in OCPBugs, thank you!

You will need to update https://github.com/openshift/sippy/blob/main/pkg/db/suites.go#L71 to reflect the suite change.

@neisw
Copy link
Copy Markdown
Contributor

neisw commented Jan 27, 2026

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jan 27, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jan 27, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: IshwarKanse, neisw

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 Jan 27, 2026
@openshift-merge-bot openshift-merge-bot Bot merged commit 0891aa4 into openshift-eng:main Jan 27, 2026
4 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. ok-to-test Indicates a non-member PR verified by an org member that is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants