Message ID | 20210402093522.19570.86690.stgit@dceara.remote.csb |
---|---|
State | Accepted |
Headers | show |
Series | Run system tests in GitHub CI. | expand |
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 --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
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(-)