Re: [ovs-dev] [PATCH V3 1/7] Disable unsupported kernel builds

2022-07-11 Thread Gregory Rose




On 7/8/2022 11:26 PM, David Marchand wrote:

On Fri, Jul 8, 2022 at 10:06 PM Greg Rose  wrote:


Remove kernel based github workflows since the OVS kernel driver is
no longer supported since Release 2.18


I won't comment on the debian parts, those are handled by Frode series.

This patch removes all unit tests, which is not wanted.

As discussed, rather than drop kernel building completely, we want to
stop testing build of the kmod against a list of kernels.
AFXDP still needs a kernel recent enough to be tested.

The main part needed for stopping kmod building in GHA runs, is to
update the linux-build.sh script.
See proposal diff at the end of this mail.

And then you can preserve most of this yml with minimal updates.
See comments below:



Signed-off-by: Greg Rose 
---
  .github/workflows/build-and-test.yml | 53 
  1 file changed, 53 deletions(-)

diff --git a/.github/workflows/build-and-test.yml 
b/.github/workflows/build-and-test.yml
index 9e3583781..64454c5ea 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -9,21 +9,14 @@ jobs:
  automake libtool gcc bc libjemalloc1 libjemalloc-dev\
  libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev  \
  ninja-build selinux-policy-dev
-  deb_dependencies: |
-linux-headers-$(uname -r) build-essential fakeroot devscripts equivs
-  AFXDP:   ${{ matrix.afxdp }}


Let's keep testing AFXDP.



ASAN:${{ matrix.asan }}
UBSAN:   ${{ matrix.ubsan }}
CC:  ${{ matrix.compiler }}
-  DEB_PACKAGE: ${{ matrix.deb_package }}
DPDK:${{ matrix.dpdk }}
DPDK_SHARED: ${{ matrix.dpdk_shared }}
-  KERNEL:  ${{ matrix.kernel }}
-  KERNEL_LIST: ${{ matrix.kernel_list }}


KERNEL must be kept, so that we can still select which kernel version
to build OVS (+AFXDP) against.



LIBS:${{ matrix.libs }}
M32: ${{ matrix.m32 }}
OPTS:${{ matrix.opts }}
-  TESTSUITE:   ${{ matrix.testsuite }}


TESTSUITE is needed for running unit tests.




  name: linux ${{ join(matrix.*, ' ') }}
  runs-on: ubuntu-18.04
@@ -38,56 +31,13 @@ jobs:
- compiler: clang
  opts: --disable-ssl

-  - compiler: gcc
-testsuite:test
-kernel:   3.16


We can keep this block above, just dropping the kernel version.



- compiler: clang
  testsuite:test
-kernel:   3.16
  asan: asan
- compiler: clang
  testsuite:test
-kernel:   3.16
  ubsan:ubsan


Ack.




-  - compiler: gcc
-testsuite:test
-opts: --enable-shared
-  - compiler: clang
-testsuite:test
-opts: --enable-shared
-
-  - compiler: gcc
-testsuite:test
-dpdk: dpdk
-  - compiler: clang
-testsuite:test
-dpdk: dpdk
-
-  - compiler: gcc
-testsuite:test
-libs: -ljemalloc
-  - compiler: clang
-testsuite:test
-libs: -ljemalloc


This whole block is not related to kmod, and must be kept.


-
-  - compiler: gcc
-kernel_list:  5.8 5.5 5.4 4.19
-  - compiler: clang
-kernel_list:  5.8 5.5 5.4 4.19
-
-  - compiler: gcc
-kernel_list:  4.14 4.9 4.4 3.16
-  - compiler: clang
-kernel_list:  4.14 4.9 4.4 3.16


Ack for this.



-
-  - compiler: gcc
-afxdp:afxdp
-kernel:   5.3
-  - compiler: clang
-afxdp:afxdp
-kernel:   5.3
-


Let's keep this block untouched too.


With all suggestions above, this gives the following diff:

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index a8c437aaf9..bbed8b68a8 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -91,9 +91,6 @@ function install_kernel()
  sudo sed -i '/^# define __always_inline .*/i # undef __always_inline' 
\
  /usr/include/x86_64-linux-gnu/sys/cdefs.h || true
  EXTRA_OPTS="${EXTRA_OPTS} --enable-afxdp"
-else
-EXTRA_OPTS="${EXTRA_OPTS} --with-linux=$(pwd)"
-echo "Installed kernel source in $(pwd)"
  fi
  popd
  }
@@ -187,20 +184,9 @@ function configure_ovs()

  function build_ovs()
  {
-local KERNEL=$1
-
  configure_ovs $OPTS
  make selinux-policy
-
-# Only build datapath if we are testing kernel w/o running testsuite and
-# AF_XDP support.
-if [ "${KERNEL}" ] && ! [ "$AFXDP" ]; then
-pushd datapath
-make -j4
-popd
-else
-make -j4
-fi
+make -j

Re: [ovs-dev] [PATCH V3 1/7] Disable unsupported kernel builds

2022-07-08 Thread David Marchand
On Fri, Jul 8, 2022 at 10:06 PM Greg Rose  wrote:
>
> Remove kernel based github workflows since the OVS kernel driver is
> no longer supported since Release 2.18

I won't comment on the debian parts, those are handled by Frode series.

This patch removes all unit tests, which is not wanted.

As discussed, rather than drop kernel building completely, we want to
stop testing build of the kmod against a list of kernels.
AFXDP still needs a kernel recent enough to be tested.

The main part needed for stopping kmod building in GHA runs, is to
update the linux-build.sh script.
See proposal diff at the end of this mail.

And then you can preserve most of this yml with minimal updates.
See comments below:

>
> Signed-off-by: Greg Rose 
> ---
>  .github/workflows/build-and-test.yml | 53 
>  1 file changed, 53 deletions(-)
>
> diff --git a/.github/workflows/build-and-test.yml 
> b/.github/workflows/build-and-test.yml
> index 9e3583781..64454c5ea 100644
> --- a/.github/workflows/build-and-test.yml
> +++ b/.github/workflows/build-and-test.yml
> @@ -9,21 +9,14 @@ jobs:
>  automake libtool gcc bc libjemalloc1 libjemalloc-dev\
>  libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev  \
>  ninja-build selinux-policy-dev
> -  deb_dependencies: |
> -linux-headers-$(uname -r) build-essential fakeroot devscripts equivs
> -  AFXDP:   ${{ matrix.afxdp }}

Let's keep testing AFXDP.


>ASAN:${{ matrix.asan }}
>UBSAN:   ${{ matrix.ubsan }}
>CC:  ${{ matrix.compiler }}
> -  DEB_PACKAGE: ${{ matrix.deb_package }}
>DPDK:${{ matrix.dpdk }}
>DPDK_SHARED: ${{ matrix.dpdk_shared }}
> -  KERNEL:  ${{ matrix.kernel }}
> -  KERNEL_LIST: ${{ matrix.kernel_list }}

KERNEL must be kept, so that we can still select which kernel version
to build OVS (+AFXDP) against.


>LIBS:${{ matrix.libs }}
>M32: ${{ matrix.m32 }}
>OPTS:${{ matrix.opts }}
> -  TESTSUITE:   ${{ matrix.testsuite }}

TESTSUITE is needed for running unit tests.


>
>  name: linux ${{ join(matrix.*, ' ') }}
>  runs-on: ubuntu-18.04
> @@ -38,56 +31,13 @@ jobs:
>- compiler: clang
>  opts: --disable-ssl
>
> -  - compiler: gcc
> -testsuite:test
> -kernel:   3.16

We can keep this block above, just dropping the kernel version.


>- compiler: clang
>  testsuite:test
> -kernel:   3.16
>  asan: asan
>- compiler: clang
>  testsuite:test
> -kernel:   3.16
>  ubsan:ubsan

Ack.


>
> -  - compiler: gcc
> -testsuite:test
> -opts: --enable-shared
> -  - compiler: clang
> -testsuite:test
> -opts: --enable-shared
> -
> -  - compiler: gcc
> -testsuite:test
> -dpdk: dpdk
> -  - compiler: clang
> -testsuite:test
> -dpdk: dpdk
> -
> -  - compiler: gcc
> -testsuite:test
> -libs: -ljemalloc
> -  - compiler: clang
> -testsuite:test
> -libs: -ljemalloc

This whole block is not related to kmod, and must be kept.

> -
> -  - compiler: gcc
> -kernel_list:  5.8 5.5 5.4 4.19
> -  - compiler: clang
> -kernel_list:  5.8 5.5 5.4 4.19
> -
> -  - compiler: gcc
> -kernel_list:  4.14 4.9 4.4 3.16
> -  - compiler: clang
> -kernel_list:  4.14 4.9 4.4 3.16

Ack for this.


> -
> -  - compiler: gcc
> -afxdp:afxdp
> -kernel:   5.3
> -  - compiler: clang
> -afxdp:afxdp
> -kernel:   5.3
> -

Let's keep this block untouched too.


With all suggestions above, this gives the following diff:

diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index a8c437aaf9..bbed8b68a8 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -91,9 +91,6 @@ function install_kernel()
 sudo sed -i '/^# define __always_inline .*/i # undef __always_inline' \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h || true
 EXTRA_OPTS="${EXTRA_OPTS} --enable-afxdp"
-else
-EXTRA_OPTS="${EXTRA_OPTS} --with-linux=$(pwd)"
-echo "Installed kernel source in $(pwd)"
 fi
 popd
 }
@@ -187,20 +184,9 @@ function configure_ovs()

 function build_ovs()
 {
-local KERNEL=$1
-
 configure_ovs $OPTS
 make selinux-policy
-
-# Only build datapath if we are testing kernel w/o running testsuite and
-# AF_XDP support.
-if [ "${KERNEL}" ] && ! [ "$AFXDP" ]; then
-pushd datapath
-  

[ovs-dev] [PATCH V3 1/7] Disable unsupported kernel builds

2022-07-08 Thread Greg Rose
Remove kernel based github workflows since the OVS kernel driver is
no longer supported since Release 2.18

Signed-off-by: Greg Rose 
---
 .github/workflows/build-and-test.yml | 53 
 1 file changed, 53 deletions(-)

diff --git a/.github/workflows/build-and-test.yml 
b/.github/workflows/build-and-test.yml
index 9e3583781..64454c5ea 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -9,21 +9,14 @@ jobs:
 automake libtool gcc bc libjemalloc1 libjemalloc-dev\
 libssl-dev llvm-dev libelf-dev libnuma-dev libpcap-dev  \
 ninja-build selinux-policy-dev
-  deb_dependencies: |
-linux-headers-$(uname -r) build-essential fakeroot devscripts equivs
-  AFXDP:   ${{ matrix.afxdp }}
   ASAN:${{ matrix.asan }}
   UBSAN:   ${{ matrix.ubsan }}
   CC:  ${{ matrix.compiler }}
-  DEB_PACKAGE: ${{ matrix.deb_package }}
   DPDK:${{ matrix.dpdk }}
   DPDK_SHARED: ${{ matrix.dpdk_shared }}
-  KERNEL:  ${{ matrix.kernel }}
-  KERNEL_LIST: ${{ matrix.kernel_list }}
   LIBS:${{ matrix.libs }}
   M32: ${{ matrix.m32 }}
   OPTS:${{ matrix.opts }}
-  TESTSUITE:   ${{ matrix.testsuite }}
 
 name: linux ${{ join(matrix.*, ' ') }}
 runs-on: ubuntu-18.04
@@ -38,56 +31,13 @@ jobs:
   - compiler: clang
 opts: --disable-ssl
 
-  - compiler: gcc
-testsuite:test
-kernel:   3.16
   - compiler: clang
 testsuite:test
-kernel:   3.16
 asan: asan
   - compiler: clang
 testsuite:test
-kernel:   3.16
 ubsan:ubsan
 
-  - compiler: gcc
-testsuite:test
-opts: --enable-shared
-  - compiler: clang
-testsuite:test
-opts: --enable-shared
-
-  - compiler: gcc
-testsuite:test
-dpdk: dpdk
-  - compiler: clang
-testsuite:test
-dpdk: dpdk
-
-  - compiler: gcc
-testsuite:test
-libs: -ljemalloc
-  - compiler: clang
-testsuite:test
-libs: -ljemalloc
-
-  - compiler: gcc
-kernel_list:  5.8 5.5 5.4 4.19
-  - compiler: clang
-kernel_list:  5.8 5.5 5.4 4.19
-
-  - compiler: gcc
-kernel_list:  4.14 4.9 4.4 3.16
-  - compiler: clang
-kernel_list:  4.14 4.9 4.4 3.16
-
-  - compiler: gcc
-afxdp:afxdp
-kernel:   5.3
-  - compiler: clang
-afxdp:afxdp
-kernel:   5.3
-
   - compiler: gcc
 dpdk: dpdk
 opts: --enable-shared
@@ -111,9 +61,6 @@ jobs:
 m32:  m32
 opts: --disable-ssl
 
-  - compiler: gcc
-deb_package:  deb
-
 steps:
 - name: checkout
   uses: actions/checkout@v2
-- 
2.17.1

___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev