From 53e33ab63bc90c3524ec49aeb97e812c4c9b90dd Mon Sep 17 00:00:00 2001 From: Forrest Babcock Date: Tue, 9 Dec 2025 10:29:01 -0500 Subject: [PATCH 1/5] OCPBUGS-66420: isolate network-edge tests --- pkg/test/ginkgo/cmd_runsuite.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pkg/test/ginkgo/cmd_runsuite.go b/pkg/test/ginkgo/cmd_runsuite.go index c9b3a652a027..0e515aedccc0 100644 --- a/pkg/test/ginkgo/cmd_runsuite.go +++ b/pkg/test/ginkgo/cmd_runsuite.go @@ -444,6 +444,10 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc return strings.Contains(t.name, "[sig-network]") }) + networkEdgeTests, openshiftTests := splitTests(openshiftTests, func(t *testCase) bool { + return strings.Contains(t.name, "[sig-network-edge]") + }) + buildsTests, openshiftTests := splitTests(openshiftTests, func(t *testCase) bool { return strings.Contains(t.name, "[sig-builds]") }) @@ -458,6 +462,7 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc logrus.Infof("Found %d storage tests", len(storageTests)) logrus.Infof("Found %d network k8s tests", len(networkK8sTests)) logrus.Infof("Found %d network tests", len(networkTests)) + logrus.Infof("Found %d network edge tests", len(networkEdgeTests)) logrus.Infof("Found %d builds tests", len(buildsTests)) logrus.Infof("Found %d must-gather tests", len(mustGatherTests)) @@ -469,6 +474,7 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc originalStorage := storageTests originalNetworkK8s := networkK8sTests originalNetwork := networkTests + originalNetworkEdge := networkEdgeTests originalBuilds := buildsTests originalMustGather := mustGatherTests @@ -478,11 +484,12 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc storageTests = append(storageTests, copyTests(originalStorage)...) networkK8sTests = append(networkK8sTests, copyTests(originalNetworkK8s)...) networkTests = append(networkTests, copyTests(originalNetwork)...) + networkEdgeTests = append(networkEdgeTests, copyTests(originalNetworkEdge)...) buildsTests = append(buildsTests, copyTests(originalBuilds)...) mustGatherTests = append(mustGatherTests, copyTests(originalMustGather)...) } } - expectedTestCount += len(openshiftTests) + len(kubeTests) + len(storageTests) + len(networkK8sTests) + len(networkTests) + len(buildsTests) + len(mustGatherTests) + expectedTestCount += len(openshiftTests) + len(kubeTests) + len(storageTests) + len(networkK8sTests) + len(networkTests) + len(networkEdgeTests) + len(buildsTests) + len(mustGatherTests) abortFn := neverAbort testCtx := ctx @@ -533,6 +540,11 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc mustGatherTestsCopy := copyTests(mustGatherTests) q.Execute(testCtx, mustGatherTestsCopy, parallelism, testOutputConfig, abortFn) tests = append(tests, mustGatherTestsCopy...) + + // run the network-edge tests last due to istio resources installed, lower parallelism to reduce resource contention + networkEdgeTestsCopy := copyTests(networkEdgeTests) + q.Execute(testCtx, mustGatherTestsCopy, max(1, parallelism/2), testOutputConfig, abortFn) + tests = append(tests, networkEdgeTestsCopy...) } // TODO: will move to the monitor From e690c0c1445c724c3fa78d0f28e92698262cc56d Mon Sep 17 00:00:00 2001 From: Forrest Babcock Date: Tue, 9 Dec 2025 20:04:41 -0500 Subject: [PATCH 2/5] OCPBUGS-66420: lower openshiftTests parallelism --- pkg/test/ginkgo/cmd_runsuite.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/test/ginkgo/cmd_runsuite.go b/pkg/test/ginkgo/cmd_runsuite.go index 0e515aedccc0..348bf0a75f37 100644 --- a/pkg/test/ginkgo/cmd_runsuite.go +++ b/pkg/test/ginkgo/cmd_runsuite.go @@ -533,7 +533,7 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc tests = append(tests, buildsTestsCopy...) openshiftTestsCopy := copyTests(openshiftTests) - q.Execute(testCtx, openshiftTestsCopy, parallelism, testOutputConfig, abortFn) + q.Execute(testCtx, openshiftTestsCopy, max(1, parallelism/2), testOutputConfig, abortFn) tests = append(tests, openshiftTestsCopy...) // run the must-gather tests after parallel tests to reduce resource contention From 3133868e6f067ecb857c26d5011481af164b547e Mon Sep 17 00:00:00 2001 From: Forrest Babcock Date: Wed, 10 Dec 2025 06:41:46 -0500 Subject: [PATCH 3/5] OCPBUGS-66420: separate all cli oc tests --- pkg/test/ginkgo/cmd_runsuite.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/test/ginkgo/cmd_runsuite.go b/pkg/test/ginkgo/cmd_runsuite.go index 348bf0a75f37..5c81e6c3a7f0 100644 --- a/pkg/test/ginkgo/cmd_runsuite.go +++ b/pkg/test/ginkgo/cmd_runsuite.go @@ -454,7 +454,7 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc // separate from cliTests mustGatherTests, openshiftTests := splitTests(openshiftTests, func(t *testCase) bool { - return strings.Contains(t.name, "[sig-cli] oc adm must-gather") + return strings.Contains(t.name, "[sig-cli] oc") }) logrus.Infof("Found %d openshift tests", len(openshiftTests)) @@ -533,7 +533,7 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc tests = append(tests, buildsTestsCopy...) openshiftTestsCopy := copyTests(openshiftTests) - q.Execute(testCtx, openshiftTestsCopy, max(1, parallelism/2), testOutputConfig, abortFn) + q.Execute(testCtx, openshiftTestsCopy, parallelism, testOutputConfig, abortFn) tests = append(tests, openshiftTestsCopy...) // run the must-gather tests after parallel tests to reduce resource contention From 120284eaa8d9c3f361e27739fce6d8ef08a4f18c Mon Sep 17 00:00:00 2001 From: Forrest Babcock Date: Thu, 11 Dec 2025 12:25:39 -0500 Subject: [PATCH 4/5] OCPBUGS-66420: openshiftTests first --- pkg/test/ginkgo/cmd_runsuite.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/test/ginkgo/cmd_runsuite.go b/pkg/test/ginkgo/cmd_runsuite.go index 5c81e6c3a7f0..621c8a5101b9 100644 --- a/pkg/test/ginkgo/cmd_runsuite.go +++ b/pkg/test/ginkgo/cmd_runsuite.go @@ -511,6 +511,10 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc // we loop indefinitely. for i := 0; (i < 1 || count == -1) && testCtx.Err() == nil; i++ { + openshiftTestsCopy := copyTests(openshiftTests) + q.Execute(testCtx, openshiftTestsCopy, parallelism, testOutputConfig, abortFn) + tests = append(tests, openshiftTestsCopy...) + kubeTestsCopy := copyTests(kubeTests) q.Execute(testCtx, kubeTestsCopy, parallelism, testOutputConfig, abortFn) tests = append(tests, kubeTestsCopy...) @@ -532,10 +536,6 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc q.Execute(testCtx, buildsTestsCopy, max(1, parallelism/2), testOutputConfig, abortFn) // builds tests only run at half the parallelism, so we can avoid high cpu problems. tests = append(tests, buildsTestsCopy...) - openshiftTestsCopy := copyTests(openshiftTests) - q.Execute(testCtx, openshiftTestsCopy, parallelism, testOutputConfig, abortFn) - tests = append(tests, openshiftTestsCopy...) - // run the must-gather tests after parallel tests to reduce resource contention mustGatherTestsCopy := copyTests(mustGatherTests) q.Execute(testCtx, mustGatherTestsCopy, parallelism, testOutputConfig, abortFn) From cad58797bb61077ea3623a13c15b176128d2b4e1 Mon Sep 17 00:00:00 2001 From: Forrest Babcock Date: Sun, 14 Dec 2025 21:08:55 -0500 Subject: [PATCH 5/5] OCPBUGS-66420: run network-edge tests --- pkg/test/ginkgo/cmd_runsuite.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/test/ginkgo/cmd_runsuite.go b/pkg/test/ginkgo/cmd_runsuite.go index 621c8a5101b9..4f50febda44c 100644 --- a/pkg/test/ginkgo/cmd_runsuite.go +++ b/pkg/test/ginkgo/cmd_runsuite.go @@ -543,7 +543,7 @@ func (o *GinkgoRunSuiteOptions) Run(suite *TestSuite, clusterConfig *clusterdisc // run the network-edge tests last due to istio resources installed, lower parallelism to reduce resource contention networkEdgeTestsCopy := copyTests(networkEdgeTests) - q.Execute(testCtx, mustGatherTestsCopy, max(1, parallelism/2), testOutputConfig, abortFn) + q.Execute(testCtx, networkEdgeTestsCopy, max(1, parallelism/2), testOutputConfig, abortFn) tests = append(tests, networkEdgeTestsCopy...) }