diff mbox series

[ovs-dev,2/2] ci: Enable OVN system tests in GitHub Actions runs.

Message ID 20210402093522.19570.86690.stgit@dceara.remote.csb
State Accepted
Headers show
Series Run system tests in GitHub CI. | expand

Commit Message

Dumitru Ceara April 2, 2021, 9:35 a.m. UTC
For now only enable system tests using the kernel datapath.  Running
the system tests with the userspace datapath makes some tests fail
due to known issues in the OVS userspace conntrack implementation which
are actively worked on.

To save CI time, only enable system test runs for a single item in the
test matrix ("linux gcc system-test").

We're also moving to Ubuntu 20.04 LTS in CI to avoid hitting:
https://bugzilla.redhat.com/1550097

Signed-off-by: Dumitru Ceara <dceara@redhat.com>
---
 .ci/linux-build.sh         |   11 +++++++++++
 .github/workflows/test.yml |    7 ++++---
 2 files changed, 15 insertions(+), 3 deletions(-)

Comments

Mark Gray April 8, 2021, 9:12 a.m. UTC | #1
On 02/04/2021 10:35, Dumitru Ceara wrote:
> For now only enable system tests using the kernel datapath.  Running
> the system tests with the userspace datapath makes some tests fail
> due to known issues in the OVS userspace conntrack implementation which
> are actively worked on.
> 
> To save CI time, only enable system test runs for a single item in the
> test matrix ("linux gcc system-test").
> 
> We're also moving to Ubuntu 20.04 LTS in CI to avoid hitting:
> https://bugzilla.redhat.com/1550097
> 
> Signed-off-by: Dumitru Ceara <dceara@redhat.com>
> ---
>  .ci/linux-build.sh         |   11 +++++++++++
>  .github/workflows/test.yml |    7 ++++---
>  2 files changed, 15 insertions(+), 3 deletions(-)
> 
> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
> index d17a96f49..76a2ff459 100755
> --- a/.ci/linux-build.sh
> +++ b/.ci/linux-build.sh
> @@ -59,6 +59,17 @@ if [ "$TESTSUITE" ]; then
>          cat */_build/sub/tests/testsuite.log
>          exit 1
>      fi
> +
> +    if [ "$TESTSUITE" = "system-test" ]; then
> +        # Reconfigure build with required OPTS, rebuild and run system tests.
> +        configure_ovn $OPTS
> +        make -j4 || { cat config.log; exit 1; }
> +        if ! sudo make -j4 check-kernel RECHECK=yes; then
> +            # system-kmod-testsuite.log is necessary for debugging.
> +            cat tests/system-kmod-testsuite.log
> +            exit 1
> +        fi
> +    fi
>  else
>      configure_ovn $OPTS
>      make -j4 || { cat config.log; exit 1; }
> diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
> index 91bd1e538..b963e2244 100644
> --- a/.github/workflows/test.yml
> +++ b/.github/workflows/test.yml
> @@ -11,7 +11,7 @@ jobs:
>    build-linux:
>      env:
>        dependencies: |
> -        automake libtool gcc bc libjemalloc1 libjemalloc-dev    \
> +        automake libtool gcc bc libjemalloc2 libjemalloc-dev    \
>          libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev  \
>          selinux-policy-dev
>        m32_dependecies: gcc-multilib
> @@ -23,7 +23,7 @@ jobs:
>        ASAN:        ${{ matrix.asan }}
>  
>      name: linux ${{ join(matrix.*, ' ') }}
> -    runs-on: ubuntu-18.04
> +    runs-on: ubuntu-20.04
>  
>      strategy:
>        fail-fast: false
> @@ -35,7 +35,7 @@ jobs:
>              opts:         --disable-ssl
>  
>            - compiler:     gcc
> -            testsuite:    test
> +            testsuite:    system-test
>            - compiler:     clang
>              testsuite:    test
>              asan:         asan
> @@ -113,6 +113,7 @@ jobs:
>          mkdir logs
>          cp config.log ./logs/
>          cp -r ./*/_build/sub/tests/testsuite.* ./logs/ || true
> +        cp -r ./tests/system-kmod-testsuite.* ./logs/ || true
>          tar -czvf logs.tgz logs/
>  
>      - name: upload logs on failure
> 
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
> 

Acked-by: Mark D. Gray <mark.d.gray@redhat.com>
diff mbox series

Patch

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index d17a96f49..76a2ff459 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -59,6 +59,17 @@  if [ "$TESTSUITE" ]; then
         cat */_build/sub/tests/testsuite.log
         exit 1
     fi
+
+    if [ "$TESTSUITE" = "system-test" ]; then
+        # Reconfigure build with required OPTS, rebuild and run system tests.
+        configure_ovn $OPTS
+        make -j4 || { cat config.log; exit 1; }
+        if ! sudo make -j4 check-kernel RECHECK=yes; then
+            # system-kmod-testsuite.log is necessary for debugging.
+            cat tests/system-kmod-testsuite.log
+            exit 1
+        fi
+    fi
 else
     configure_ovn $OPTS
     make -j4 || { cat config.log; exit 1; }
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 91bd1e538..b963e2244 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -11,7 +11,7 @@  jobs:
   build-linux:
     env:
       dependencies: |
-        automake libtool gcc bc libjemalloc1 libjemalloc-dev    \
+        automake libtool gcc bc libjemalloc2 libjemalloc-dev    \
         libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev  \
         selinux-policy-dev
       m32_dependecies: gcc-multilib
@@ -23,7 +23,7 @@  jobs:
       ASAN:        ${{ matrix.asan }}
 
     name: linux ${{ join(matrix.*, ' ') }}
-    runs-on: ubuntu-18.04
+    runs-on: ubuntu-20.04
 
     strategy:
       fail-fast: false
@@ -35,7 +35,7 @@  jobs:
             opts:         --disable-ssl
 
           - compiler:     gcc
-            testsuite:    test
+            testsuite:    system-test
           - compiler:     clang
             testsuite:    test
             asan:         asan
@@ -113,6 +113,7 @@  jobs:
         mkdir logs
         cp config.log ./logs/
         cp -r ./*/_build/sub/tests/testsuite.* ./logs/ || true
+        cp -r ./tests/system-kmod-testsuite.* ./logs/ || true
         tar -czvf logs.tgz logs/
 
     - name: upload logs on failure