Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,219 @@
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:83069-olmv1 static networkpolicy.",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {},
"ReleaseGate": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "blocking",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:68936-[Skipped:Disconnected]cluster extension can not be installed with insufficient permission sa for operand",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:68937-[Skipped:Disconnected]cluster extension can not be installed with insufficient permission sa for operand rbac object",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:75492-[Skipped:Disconnected]cluster extension can not be installed with wrong sa or insufficient permission sa",
"labels": {
"Extended": {},
"LEVEL0": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:75493-[Skipped:Disconnected]cluster extension can be installed with enough permission sa",
"labels": {
"Extended": {},
"LEVEL0": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:81538-[Skipped:Disconnected]preflight check on permission on allns mode",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:81664-[Skipped:Disconnected]preflight check on permission on own ns mode",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:81696-[Skipped:Disconnected]preflight check on permission on single ns mode",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:74618-[Skipped:Disconnected]ClusterExtension supports simple registry vzero bundles only",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:76843-[Skipped:Disconnected]support disc with icsp[Timeout:30m] [Serial][Disruptive][Slow]",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:76844-[Skipped:Disconnected]support disc with itms and idms[Timeout:30m] [Serial][Disruptive][Slow]",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:78193-[Skipped:Disconnected]Runtime validation of container images using sigstore signatures [Serial][Disruptive][Slow]",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:78300-[Skipped:Disconnected]validation of container images using sigstore signatures with different policy [Serial][Disruptive][Slow]",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:76983-[Skipped:Disconnected]install index and bundle from private image[Slow]",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
},
"resources": {
"isolation": {}
},
"source": "openshift:payload:olmv1",
"lifecycle": "informing",
"environmentSelector": {
"exclude": "topology==\"External\""
}
},
{
"name": "[sig-olmv1][Jira:OLM] clusterextension PolarionID:76985-[Skipped:Disconnected]authfile is updated automatically[Timeout:30m] [Serial][Disruptive][Slow]",
"labels": {
"Extended": {},
"NonHyperShiftHOST": {}
Expand Down
75 changes: 58 additions & 17 deletions openshift/tests-extension/cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
_ "github.com/openshift/operator-framework-operator-controller/openshift/tests-extension/test"
_ "github.com/openshift/operator-framework-operator-controller/openshift/tests-extension/test/qe/specs"
exutil "github.com/openshift/operator-framework-operator-controller/openshift/tests-extension/test/qe/util"
"github.com/openshift/operator-framework-operator-controller/openshift/tests-extension/test/qe/util/filters"
)

func main() {
Expand Down Expand Up @@ -55,8 +56,7 @@ func main() {
Name: "olmv1/parallel",
Parents: []string{"openshift/conformance/parallel"},
Qualifiers: []string{
`((!labels.exists(l, l=="Extended")) || (labels.exists(l, l=="Extended") && labels.exists(l, l=="ReleaseGate"))) &&
!(name.contains("[Serial]") || name.contains("[Slow]"))`,
filters.BasedStandardTests(`!(name.contains("[Serial]") || name.contains("[Slow]"))`),
},
})

Expand All @@ -69,8 +69,7 @@ func main() {
Name: "olmv1/serial",
Parents: []string{"openshift/conformance/serial"},
Qualifiers: []string{
`((!labels.exists(l, l=="Extended")) || (labels.exists(l, l=="Extended") && labels.exists(l, l=="ReleaseGate"))) &&
(name.contains("[Serial]") && !name.contains("[Disruptive]") && !name.contains("[Slow]"))`,
filters.BasedStandardTests(`(name.contains("[Serial]") && !name.contains("[Disruptive]") && !name.contains("[Slow]"))`),
// refer to https://github.com/openshift/origin/blob/main/pkg/testsuites/standard_suites.go#L456
},
})
Expand All @@ -84,8 +83,7 @@ func main() {
Name: "olmv1/slow",
Parents: []string{"openshift/optional/slow"},
Qualifiers: []string{
`((!labels.exists(l, l=="Extended")) || (labels.exists(l, l=="Extended") && labels.exists(l, l=="ReleaseGate"))) &&
name.contains("[Slow]")`,
filters.BasedStandardTests(`name.contains("[Slow]")`),
},
})

Expand All @@ -96,7 +94,7 @@ func main() {
ext.AddSuite(e.Suite{
Name: "olmv1/all",
Qualifiers: []string{
`(!labels.exists(l, l=="Extended")) || (labels.exists(l, l=="Extended") && labels.exists(l, l=="ReleaseGate"))`,
filters.BasedStandardTests(``),
},
})

Expand All @@ -105,7 +103,7 @@ func main() {
ext.AddSuite(e.Suite{
Name: "olmv1/extended",
Qualifiers: []string{
`labels.exists(l, l=="Extended")`,
filters.BasedExtendedTests(``),
},
})

Expand All @@ -114,7 +112,7 @@ func main() {
ext.AddSuite(e.Suite{
Name: "olmv1/extended/releasegate",
Qualifiers: []string{
`labels.exists(l, l=="Extended") && labels.exists(l, l=="ReleaseGate")`,
filters.BasedExtendedReleaseGateTests(``),
},
})

Expand All @@ -123,45 +121,88 @@ func main() {
ext.AddSuite(e.Suite{
Name: "olmv1/extended/candidate",
Qualifiers: []string{
`labels.exists(l, l=="Extended") && !labels.exists(l, l=="ReleaseGate")`,
filters.BasedExtendedCandidateTests(``),
},
})

//
// Categorization of Extended Candidate Tests:
// ===========================================
// The extended/candidate tests are categorized by test purpose and characteristics:
//
// 1. By Test Type:
// - function: Functional tests that verify feature behavior and business logic
// - stress: Stress tests that verify system behavior under resource pressure and load
//
// Relationship: candidate = function + stress + (other specialized test types)

// Extended Candidate Function Suite: Extended functional tests that don't meet OpenShift CI requirements
// Contains extended tests that are not for openshift-tests and exclude stress tests
ext.AddSuite(e.Suite{
Name: "olmv1/extended/candidate/function",
Qualifiers: []string{
filters.BasedExtendedCandidateFuncTests(``),
},
})

//
// Categorization of Extended Candidate Functional Tests:
// =====================================================
// The extended/candidate/function tests are categorized using two complementary approaches:
//
// 1. By Execution Model:
// - parallel: Tests that can run concurrently (excludes [Serial] and [Slow])
// - serial: Tests that must run one at a time ([Serial] but not [Slow])
// - slow: Tests that take significant time to execute ([Slow])
//
// 2. By Execution Speed:
// - fast: All non-slow functional tests (includes both parallel and serial, excludes [Slow])
// - slow: Tests marked as [Slow] (same as above)
//
// Relationship: function = parallel + serial + slow = fast + slow

// Extended Candidate Suite Parallel Suite: extended tests that can run in parallel
// Contains extended tests that can run concurrently (excludes Serial, Slow, and StressTest)
ext.AddSuite(e.Suite{
Name: "olmv1/extended/candidate/parallel",
Qualifiers: []string{
`(labels.exists(l, l=="Extended") && !labels.exists(l, l=="ReleaseGate") && !labels.exists(l, l=="StressTest")) &&
!(name.contains("[Serial]") || name.contains("[Slow]"))`,
filters.BasedExtendedCandidateFuncTests(`!(name.contains("[Serial]") || name.contains("[Slow]"))`),
},
})
// Extended Candidate Serial Suite: extended tests that must run one at a time
// Contains extended tests marked as [Serial] (includes Disruptive tests since not used for openshift-tests)
ext.AddSuite(e.Suite{
Name: "olmv1/extended/candidate/serial",
Qualifiers: []string{
`(labels.exists(l, l=="Extended") && !labels.exists(l, l=="ReleaseGate") && !labels.exists(l, l=="StressTest")) &&
(name.contains("[Serial]") && !name.contains("[Slow]"))`,
filters.BasedExtendedCandidateFuncTests(`(name.contains("[Serial]") && !name.contains("[Slow]"))`),
// it is not used for openshift-tests, so it does not exclude Disruptive, so that we could use
// olmv1/extended/candidate/serial to run all serial case including Disruptive cases
},
})

// Extended Candidate Fast Suite: extended functional tests excluding slow cases
// Contains all extended functional tests that are not marked as [Slow] (includes both Serial and Parallel)
// This provides a comprehensive functional test coverage with reasonable execution time
ext.AddSuite(e.Suite{
Name: "olmv1/extended/candidate/fast",
Qualifiers: []string{
filters.BasedExtendedCandidateFuncTests(`!name.contains("[Slow]")`),
},
})
// Extended Candidate Slow Suite: extended tests that take significant time to run
// Contains extended tests marked as [Slow] (long-running tests not suitable for fast CI)
ext.AddSuite(e.Suite{
Name: "olmv1/extended/candidate/slow",
Qualifiers: []string{
`(labels.exists(l, l=="Extended") && !labels.exists(l, l=="ReleaseGate") && !labels.exists(l, l=="StressTest")) &&
name.contains("[Slow]")`,
filters.BasedExtendedCandidateFuncTests(`name.contains("[Slow]")`),
},
})
// Extended Candidate Stress Suite: extended stress tests
// Contains extended tests designed for stress testing and resource exhaustion scenarios
ext.AddSuite(e.Suite{
Name: "olmv1/extended/candidate/stress",
Qualifiers: []string{
`labels.exists(l, l=="Extended") && !labels.exists(l, l=="ReleaseGate") && labels.exists(l, l=="StressTest")`,
filters.BasedExtendedCandidateTests(`labels.exists(l, l=="StressTest")`),
},
})

Expand Down
2 changes: 1 addition & 1 deletion openshift/tests-extension/pkg/bindata/qe/bindata.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading