Re: [ovs-dev] [PATCH ovn]OVN-CI: ovn unit tests run in parallel jobs.
On Fri, Aug 5, 2022 at 9:18 PM Dumitru Ceara wrote: > > On 8/4/22 17:32, Mohammad Heib wrote: > > Ovn unit tests supported matrix size has been increased > > after adding support to monitor_all and northd_parallelization > > options recently, and that increased the execution time of the ovn-ci jobs. > > > > This patch aims to reduce the execution time of those jobs by splitting > > them into smaller jobs that runs in parallel and each one will execute > > a subset of unit test. > > > > Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2114862 > > Signed-off-by: Mohammad Heib > > --- > > Looks good to me! > > And the ovsrobot run only took 26 minutes: > https://github.com/ovsrobot/ovn/actions/runs/2797911234 > > vs the last run on the main branch that took 48 minutes: > https://github.com/ovn-org/ovn/actions/runs/2792485947 > > Acked-by: Dumitru Ceara Thanks. I applied the patch to the main branch. Numan > > Thanks, > Dumitru > > ___ > dev mailing list > d...@openvswitch.org > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH ovn]OVN-CI: ovn unit tests run in parallel jobs.
On 8/4/22 17:32, Mohammad Heib wrote: > Ovn unit tests supported matrix size has been increased > after adding support to monitor_all and northd_parallelization > options recently, and that increased the execution time of the ovn-ci jobs. > > This patch aims to reduce the execution time of those jobs by splitting > them into smaller jobs that runs in parallel and each one will execute > a subset of unit test. > > Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2114862 > Signed-off-by: Mohammad Heib > --- Looks good to me! And the ovsrobot run only took 26 minutes: https://github.com/ovsrobot/ovn/actions/runs/2797911234 vs the last run on the main branch that took 48 minutes: https://github.com/ovn-org/ovn/actions/runs/2792485947 Acked-by: Dumitru Ceara Thanks, Dumitru ___ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Re: [ovs-dev] [PATCH ovn]OVN-CI: ovn unit tests run in parallel jobs.
Bleep bloop. Greetings Mohammad Heib, I am a robot and I have tried out your patch. Thanks for your contribution. I encountered some error that I wasn't expecting. See the details below. checkpatch: WARNING: Line is 90 characters long (recommended limit is 79) #38 FILE: .ci/linux-build.sh:58: if ! sudo make -j4 check-kernel TESTSUITEFLAGS="$TESTSUITEFLAGS" RECHECK=yes; then WARNING: Line is 101 characters long (recommended limit is 79) #72 FILE: .github/workflows/test.yml:39: - { compiler: gcc, testsuite: test, testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" } WARNING: Line is 100 characters long (recommended limit is 79) #73 FILE: .github/workflows/test.yml:40: - { compiler: gcc, testsuite: test, testsuite_kw: "parallelization=yes,ovn_monitor_all=no" } WARNING: Line is 100 characters long (recommended limit is 79) #74 FILE: .github/workflows/test.yml:41: - { compiler: gcc, testsuite: test, testsuite_kw: "parallelization=no,ovn_monitor_all=yes" } WARNING: Line is 99 characters long (recommended limit is 79) #75 FILE: .github/workflows/test.yml:42: - { compiler: gcc, testsuite: test, testsuite_kw: "parallelization=no,ovn_monitor_all=no" } WARNING: Line is 127 characters long (recommended limit is 79) #76 FILE: .github/workflows/test.yml:43: - { compiler: clang, testsuite: test, sanitizers: sanitizers, testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" } WARNING: Line is 126 characters long (recommended limit is 79) #77 FILE: .github/workflows/test.yml:44: - { compiler: clang, testsuite: test, sanitizers: sanitizers, testsuite_kw: "parallelization=yes,ovn_monitor_all=no" } WARNING: Line is 126 characters long (recommended limit is 79) #78 FILE: .github/workflows/test.yml:45: - { compiler: clang, testsuite: test, sanitizers: sanitizers, testsuite_kw: "parallelization=no,ovn_monitor_all=yes" } WARNING: Line is 125 characters long (recommended limit is 79) #79 FILE: .github/workflows/test.yml:46: - { compiler: clang, testsuite: test, sanitizers: sanitizers, testsuite_kw: "parallelization=no,ovn_monitor_all=no" } WARNING: Line is 119 characters long (recommended limit is 79) #80 FILE: .github/workflows/test.yml:47: - { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" } WARNING: Line is 118 characters long (recommended limit is 79) #81 FILE: .github/workflows/test.yml:48: - { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=yes,ovn_monitor_all=no" } WARNING: Line is 118 characters long (recommended limit is 79) #82 FILE: .github/workflows/test.yml:49: - { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=no,ovn_monitor_all=yes" } WARNING: Line is 117 characters long (recommended limit is 79) #83 FILE: .github/workflows/test.yml:50: - { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=no,ovn_monitor_all=no" } WARNING: Line is 121 characters long (recommended limit is 79) #84 FILE: .github/workflows/test.yml:51: - { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" } WARNING: Line is 120 characters long (recommended limit is 79) #85 FILE: .github/workflows/test.yml:52: - { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=yes,ovn_monitor_all=no" } WARNING: Line is 120 characters long (recommended limit is 79) #86 FILE: .github/workflows/test.yml:53: - { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=no,ovn_monitor_all=yes" } WARNING: Line is 119 characters long (recommended limit is 79) #87 FILE: .github/workflows/test.yml:54: - { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=no,ovn_monitor_all=no" } WARNING: Line is 108 characters long (recommended limit is 79) #88 FILE: .github/workflows/test.yml:55: - { compiler: gcc, testsuite: system-test, testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" } WARNING: Line is 107 characters long (recommended limit is 79) #89 FILE: .github/workflows/test.yml:56: - { compiler: gcc, testsuite: system-test, testsuite_kw: "parallelization=yes,ovn_monitor_all=no" } WARNING: Line is 107 characters long (recommended limit is 79) #90 FILE: .github/workflows/test.yml:57: - { compiler: gcc, testsuite: system-test, testsuite_kw: "parallelization=no,ovn_monitor_all=yes" } WARNING: Line is 106 characters long (recommended limit is 79) #91 FILE: .github/workflows/test.yml:58: - { compiler: gcc, testsuite: system-test, testsuite_kw: "parallelization=no,ovn_monitor_all=no" } Lines checked: 97, Warnings: 21, Errors: 0 Please check this out. If you feel there has been an error, please email acon...@redhat.com Thanks, 0-day Robot ___
[ovs-dev] [PATCH ovn]OVN-CI: ovn unit tests run in parallel jobs.
Ovn unit tests supported matrix size has been increased after adding support to monitor_all and northd_parallelization options recently, and that increased the execution time of the ovn-ci jobs. This patch aims to reduce the execution time of those jobs by splitting them into smaller jobs that runs in parallel and each one will execute a subset of unit test. Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2114862 Signed-off-by: Mohammad Heib --- .ci/linux-build.sh | 9 +++-- .github/workflows/test.yml | 26 +- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index dc32564fa..2b0782aea 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -47,10 +47,15 @@ else fi if [ "$TESTSUITE" ]; then +TESTSUITEFLAGS="" +if [[ ! -z $TESTSUITE_KW ]]; then +TESTSUITEFLAGS="-k $TESTSUITE_KW" +fi + if [ "$TESTSUITE" = "system-test" ]; then configure_ovn $OPTS make -j4 || { cat config.log; exit 1; } -if ! sudo make -j4 check-kernel RECHECK=yes; then +if ! sudo make -j4 check-kernel TESTSUITEFLAGS="$TESTSUITEFLAGS" RECHECK=yes; then # system-kmod-testsuite.log is necessary for debugging. cat tests/system-kmod-testsuite.log exit 1 @@ -62,7 +67,7 @@ if [ "$TESTSUITE" ]; then export DISTCHECK_CONFIGURE_FLAGS="$OPTS" if ! make distcheck CFLAGS="${COMMON_CFLAGS} ${OVN_CFLAGS}" -j4 \ -TESTSUITEFLAGS="-j4" RECHECK=yes +TESTSUITEFLAGS="$TESTSUITEFLAGS -j4" RECHECK=yes then # testsuite.log is necessary for debugging. cat */_build/sub/tests/testsuite.log diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3b7283229..83d7c2386 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,6 +24,7 @@ jobs: M32: ${{ matrix.cfg.m32 }} OPTS:${{ matrix.cfg.opts }} TESTSUITE: ${{ matrix.cfg.testsuite }} + TESTSUITE_KW: ${{ matrix.cfg.testsuite_kw }} SANITIZERS: ${{ matrix.cfg.sanitizers }} name: linux ${{ join(matrix.cfg.*, ' ') }} @@ -35,11 +36,26 @@ jobs: cfg: - { compiler: gcc, opts: --disable-ssl } - { compiler: clang, opts: --disable-ssl } -- { compiler: gcc, testsuite: test } -- { compiler: gcc, testsuite: system-test } -- { compiler: clang, testsuite: test, sanitizers: sanitizers } -- { compiler: gcc, testsuite: test, libs: -ljemalloc } -- { compiler: clang, testsuite: test, libs: -ljemalloc } +- { compiler: gcc, testsuite: test, testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" } +- { compiler: gcc, testsuite: test, testsuite_kw: "parallelization=yes,ovn_monitor_all=no" } +- { compiler: gcc, testsuite: test, testsuite_kw: "parallelization=no,ovn_monitor_all=yes" } +- { compiler: gcc, testsuite: test, testsuite_kw: "parallelization=no,ovn_monitor_all=no" } +- { compiler: clang, testsuite: test, sanitizers: sanitizers, testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" } +- { compiler: clang, testsuite: test, sanitizers: sanitizers, testsuite_kw: "parallelization=yes,ovn_monitor_all=no" } +- { compiler: clang, testsuite: test, sanitizers: sanitizers, testsuite_kw: "parallelization=no,ovn_monitor_all=yes" } +- { compiler: clang, testsuite: test, sanitizers: sanitizers, testsuite_kw: "parallelization=no,ovn_monitor_all=no" } +- { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" } +- { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=yes,ovn_monitor_all=no" } +- { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=no,ovn_monitor_all=yes" } +- { compiler: gcc, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=no,ovn_monitor_all=no" } +- { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" } +- { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=yes,ovn_monitor_all=no" } +- { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=no,ovn_monitor_all=yes" } +- { compiler: clang, testsuite: test, libs: -ljemalloc, testsuite_kw: "parallelization=no,ovn_monitor_all=no" } +- { compiler: gcc, testsuite: system-test, testsuite_kw: "parallelization=yes,ovn_monitor_all=yes" } +- { compiler: gcc, testsuite: system-test, testsuite_kw: "parallelization=yes,ovn_monitor_all=no" } +- { compiler: gcc, testsuite: system-test, testsuite_kw: "parallelization=no,ovn_monitor_all=yes" } +- { compiler: gcc, testsuite: system-test, testsuite_kw: "parallelization=no,ovn_monitor_a