Re: [ovs-dev] [PATCH ovn]OVN-CI: ovn unit tests run in parallel jobs.

2022-08-07 Thread Numan Siddique
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.

2022-08-05 Thread Dumitru Ceara
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.

2022-08-04 Thread 0-day Robot
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.

2022-08-04 Thread Mohammad Heib
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