From f6925d052b5c67054075ab0597f1954e7b35cd65 Mon Sep 17 00:00:00 2001 From: Ori Haran Date: Wed, 20 May 2026 23:54:48 +0300 Subject: [PATCH] Onboard LPComp for LP Interop Component Readiness (ci-test-mapping) - Add lpcomplpinterop component (LPComp DefaultJiraComponent) - Register LPComp-lp-interop matchers for lp-ocp-compat/interop/chaos suites Source: [ocp-ci-docs] LP_Interop_CR_Agent_Playbook --- .../lpcomplpinterop/capabilities.go | 12 ++++ pkg/components/lpcomplpinterop/component.go | 60 +++++++++++++++++++ pkg/registry/registry.go | 2 + 3 files changed, 74 insertions(+) create mode 100644 pkg/components/lpcomplpinterop/capabilities.go create mode 100644 pkg/components/lpcomplpinterop/component.go diff --git a/pkg/components/lpcomplpinterop/capabilities.go b/pkg/components/lpcomplpinterop/capabilities.go new file mode 100644 index 00000000..76351872 --- /dev/null +++ b/pkg/components/lpcomplpinterop/capabilities.go @@ -0,0 +1,12 @@ +package lpcomplpinterop + +import ( + v1 "github.com/openshift-eng/ci-test-mapping/pkg/api/types/v1" + "github.com/openshift-eng/ci-test-mapping/pkg/util" +) + +func identifyCapabilities(test *v1.TestInfo) []string { + capabilities := util.DefaultCapabilities(test) + + return capabilities +} diff --git a/pkg/components/lpcomplpinterop/component.go b/pkg/components/lpcomplpinterop/component.go new file mode 100644 index 00000000..848a9211 --- /dev/null +++ b/pkg/components/lpcomplpinterop/component.go @@ -0,0 +1,60 @@ +package lpcomplpinterop + +import ( + "regexp" + + v1 "github.com/openshift-eng/ci-test-mapping/pkg/api/types/v1" + "github.com/openshift-eng/ci-test-mapping/pkg/config" +) + +type Component struct { + *config.Component +} + +var LPCompLpInteropComponent = Component{ + Component: &config.Component{ + Name: "LPComp-lp-interop", + Operators: []string{}, + DefaultJiraComponent: "LPComp", + Matchers: []config.ComponentMatcher{ + {Suite: "LPComp-lp-interop"}, + {SuiteRegEx: regexp.MustCompile(`^lp-ocp-compat--LPComp--`)}, + {SuiteRegEx: regexp.MustCompile(`^lp-interop--LPComp--`)}, + {SuiteRegEx: regexp.MustCompile(`^lp-chaos--LPComp--`)}, + }, + }, +} + +func (c *Component) IdentifyTest(test *v1.TestInfo) (*v1.TestOwnership, error) { + if matcher := c.FindMatch(test); matcher != nil { + jira := matcher.JiraComponent + if jira == "" { + jira = c.DefaultJiraComponent + } + return &v1.TestOwnership{ + Name: test.Name, + Component: c.Name, + JIRAComponent: jira, + Priority: matcher.Priority, + Capabilities: append(matcher.Capabilities, identifyCapabilities(test)...), + }, nil + } + + return nil, nil +} + +func (c *Component) StableID(test *v1.TestInfo) string { + if stableName, ok := c.TestRenames[test.Name]; ok { + return stableName + } + return test.Name +} + +func (c *Component) JiraComponents() (components []string) { + components = []string{c.DefaultJiraComponent} + for _, m := range c.Matchers { + components = append(components, m.JiraComponent) + } + + return components +} diff --git a/pkg/registry/registry.go b/pkg/registry/registry.go index 1ad48ee8..e014a970 100644 --- a/pkg/registry/registry.go +++ b/pkg/registry/registry.go @@ -101,6 +101,7 @@ import ( "github.com/openshift-eng/ci-test-mapping/pkg/components/logging" "github.com/openshift-eng/ci-test-mapping/pkg/components/logicalvolumemanagerstorage" "github.com/openshift-eng/ci-test-mapping/pkg/components/lowlatencyvalidationtooling" + "github.com/openshift-eng/ci-test-mapping/pkg/components/lpcomplpinterop" "github.com/openshift-eng/ci-test-mapping/pkg/components/machineconfigoperator" machineconfigoperatorplatformbaremetal "github.com/openshift-eng/ci-test-mapping/pkg/components/machineconfigoperator/platformbaremetal" machineconfigoperatorplatformnone "github.com/openshift-eng/ci-test-mapping/pkg/components/machineconfigoperator/platformnone" @@ -464,6 +465,7 @@ func NewComponentRegistry() *Registry { r.Register("ODF-lp-interop", &odflpinterop.ODFLpInteropComponent) r.Register("MTA-lp-interop", &mtalpinterop.MTALpInteropComponent) r.Register("Gitops-lp-interop", &gitopslpinterop.GitopsLpInteropComponent) + r.Register("LPComp-lp-interop", &lpcomplpinterop.LPCompLpInteropComponent) r.Register("ACSLatest-lp-interop", &acslatestlpinterop.ACSLatestLpInteropComponent) r.Register("ACS-lp-interop", &acslpinterop.ACSLpInteropComponent) r.Register("OADP-lp-interop", &oadplpinterop.OADPLpInteropComponent)