Single test needs to run 4 times to check all
the permutations, this is taking a lot of CI time
and job space.

Remove the parallel permutation and leave parallelization
enabled for all tests, as this use case is more complex.
This allows us to greatly reduce the number of test cases
(by half) and we can also remove 6 jobs from the CI pipeline.

The time reduction is very noticeable going down from ~30 min
to ~20 min.

Signed-off-by: Ales Musil <[email protected]>
---
 .github/workflows/test.yml | 30 ++++++++++++------------------
 tests/ovn-macros.at        | 14 +++++---------
 tests/ovs-macros.at        |  6 +-----
 3 files changed, 18 insertions(+), 32 deletions(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index fe2a14c40..b7f1c7bca 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -102,29 +102,23 @@ jobs:
         cfg:
         - { compiler: gcc, opts: --disable-ssl }
         - { compiler: clang, opts: --disable-ssl }
-        - { compiler: gcc, testsuite: test, test_range: "-500" }
-        - { compiler: gcc, testsuite: test, test_range: "501-1000" }
-        - { compiler: gcc, testsuite: test, test_range: "1001-" }
+        - { compiler: gcc, testsuite: test, test_range: "-300" }
+        - { compiler: gcc, testsuite: test, test_range: "301-600" }
+        - { compiler: gcc, testsuite: test, test_range: "601-" }
         - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "-300" }
-        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "301-600" }
-        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "601-900" }
-        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "901-1200" }
-        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "1201-" }
-        - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: 
"-500" }
-        - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: 
"501-1000" }
-        - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: 
"1001-" }
+        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "301-400" }
+        - { compiler: clang, testsuite: test, sanitizers: sanitizers, 
test_range: "601-" }
+        - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: 
"-300" }
+        - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: 
"301-600" }
+        - { compiler: gcc, testsuite: test, libs: -ljemalloc, test_range: 
"601-" }
         - { compiler: gcc, testsuite: system-test-dpdk, dpdk: dpdk, 
test_range: "-100" }
-        - { compiler: gcc, testsuite: system-test-dpdk, dpdk: dpdk, 
test_range: "101-200" }
-        - { compiler: gcc, testsuite: system-test-dpdk, dpdk: dpdk, 
test_range: "201-" }
+        - { compiler: gcc, testsuite: system-test-dpdk, dpdk: dpdk, 
test_range: "101-" }
         - { compiler: gcc, testsuite: system-test-userspace, test_range: 
"-100" }
-        - { compiler: gcc, testsuite: system-test-userspace, test_range: 
"101-200" }
-        - { compiler: gcc, testsuite: system-test-userspace, test_range: 
"201-" }
+        - { compiler: gcc, testsuite: system-test-userspace, test_range: 
"101-" }
         - { compiler: gcc, testsuite: system-test, test_range: "-100" }
-        - { compiler: gcc, testsuite: system-test, test_range: "101-200" }
-        - { compiler: gcc, testsuite: system-test, test_range: "201-" }
+        - { compiler: gcc, testsuite: system-test, test_range: "101-" }
         - { compiler: clang, testsuite: system-test, sanitizers: sanitizers, 
test_range: "-100" }
-        - { compiler: clang, testsuite: system-test, sanitizers: sanitizers, 
test_range: "101-200" }
-        - { compiler: clang, testsuite: system-test, sanitizers: sanitizers, 
test_range: "201-" }
+        - { compiler: clang, testsuite: system-test, sanitizers: sanitizers, 
test_range: "101-" }
         - { arch: x86, compiler: gcc, opts: --disable-ssl }
 
     steps:
diff --git a/tests/ovn-macros.at b/tests/ovn-macros.at
index 13d5dc3d4..a100e2fa9 100644
--- a/tests/ovn-macros.at
+++ b/tests/ovn-macros.at
@@ -170,9 +170,7 @@ ovn_start_northd() {
         ovn-northd-ddlog) northd_args="$northd_args 
--ddlog-record=${AZ:+$AZ/}northd$suffix/replay.dat -v" ;;
     esac
 
-    if test X$NORTHD_USE_PARALLELIZATION = Xyes; then
-        northd_args="$northd_args --n-threads=4"
-    fi
+    northd_args="$northd_args --n-threads=4"
 
     local name=${d_prefix}northd${suffix}
     echo "${prefix}starting $name"
@@ -890,17 +888,15 @@ m4_define([OVN_POPULATE_ARP], 
[AT_CHECK(ovn_populate_arp__, [0], [ignore])])
 # parallelization on/off and conditional monitoring on/off.
 m4_define([OVN_FOR_EACH_NORTHD],
   [m4_foreach([NORTHD_TYPE], [ovn-northd],
-     [m4_foreach([NORTHD_USE_PARALLELIZATION], [yes, no],
-       [m4_foreach([OVN_MONITOR_ALL], [yes, no], [$1
-])])])])
+     [m4_foreach([OVN_MONITOR_ALL], [yes, no], [$1
+])])])
 
 # Defines versions of the test with all combinations of northd and
 # parallelization on/off.  To be used when the ovn-controller configuration
 # is not relevant.
 m4_define([OVN_FOR_EACH_NORTHD_NO_HV],
-  [m4_foreach([NORTHD_TYPE], [ovn-northd],
-     [m4_foreach([NORTHD_USE_PARALLELIZATION], [yes, no], [$1
-])])])
+  [m4_foreach([NORTHD_TYPE], [ovn-northd], [$1
+])])
 
 
 # OVN_NBCTL(NBCTL_COMMAND) adds NBCTL_COMMAND to list of commands to be run by 
RUN_OVN_NBCTL().
diff --git a/tests/ovs-macros.at b/tests/ovs-macros.at
index 5b8da2048..f88b0ed48 100644
--- a/tests/ovs-macros.at
+++ b/tests/ovs-macros.at
@@ -9,13 +9,9 @@ dnl - If NORTHD_TYPE is defined, then append it to the test 
name and
 dnl   set it as a shell variable as well.
 m4_rename([AT_SETUP], [OVS_AT_SETUP])
 m4_define([AT_SETUP],
-  [OVS_AT_SETUP($@[]m4_ifdef([NORTHD_TYPE], [ -- 
NORTHD_TYPE])[]m4_ifdef([NORTHD_USE_PARALLELIZATION], [ -- 
parallelization=NORTHD_USE_PARALLELIZATION])[]m4_ifdef([OVN_MONITOR_ALL], [ -- 
ovn_monitor_all=OVN_MONITOR_ALL]))
+  [OVS_AT_SETUP($@[]m4_ifdef([NORTHD_TYPE], [ -- 
NORTHD_TYPE])[]m4_ifdef([OVN_MONITOR_ALL], [ -- 
ovn_monitor_all=OVN_MONITOR_ALL]))
 m4_ifdef([NORTHD_TYPE], [[NORTHD_TYPE]=NORTHD_TYPE
 ])dnl
-m4_ifdef([NORTHD_USE_PARALLELIZATION], 
[[NORTHD_USE_PARALLELIZATION]=NORTHD_USE_PARALLELIZATION
-])dnl
-m4_ifdef([NORTHD_DUMMY_NUMA], [[NORTHD_DUMMY_NUMA]=NORTHD_DUMMY_NUMA
-])dnl
 m4_ifdef([OVN_MONITOR_ALL], [[OVN_MONITOR_ALL]=OVN_MONITOR_ALL
 ])dnl
 ovs_init
-- 
2.41.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to