diff mbox series

[ovs-dev,v2,7/9] ci: Allow make check-dpdk to run more tests.

Message ID 170108879302.394857.13089906338480775016.stgit@ebuild
State Changes Requested
Headers show
Series ci: Add remaining check tests to GitHub actions. | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test success github build: passed
ovsrobot/intel-ovs-compilation success test: success

Commit Message

Eelco Chaudron Nov. 27, 2023, 12:40 p.m. UTC
Install additional packages and drivers required by
make check-dpdk.

Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
---
 .ci/dpdk-build.sh                    |    2 +-
 .github/workflows/build-and-test.yml |    2 +-
 python/test_requirements.txt         |    1 +
 3 files changed, 3 insertions(+), 2 deletions(-)

Comments

Ilya Maximets Nov. 27, 2023, 6:14 p.m. UTC | #1
On 11/27/23 13:40, Eelco Chaudron wrote:
> Install additional packages and drivers required by
> make check-dpdk.
> 
> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
> ---
>  .ci/dpdk-build.sh                    |    2 +-
>  .github/workflows/build-and-test.yml |    2 +-
>  python/test_requirements.txt         |    1 +
>  3 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/.ci/dpdk-build.sh b/.ci/dpdk-build.sh
> index aa83e4464..d4c178ee0 100755
> --- a/.ci/dpdk-build.sh
> +++ b/.ci/dpdk-build.sh
> @@ -38,7 +38,7 @@ function build_dpdk()
>      # any DPDK driver.
>      # check-dpdk unit tests requires testpmd and some net/ driver.
>      DPDK_OPTS="$DPDK_OPTS -Denable_apps=test-pmd"
> -    enable_drivers="net/null,net/af_xdp,net/tap,net/virtio"
> +    enable_drivers="net/null,net/af_xdp,net/tap,net/virtio,net/pcap"
>      DPDK_OPTS="$DPDK_OPTS -Denable_drivers=$enable_drivers"
>  
>      # Install DPDK using prefix.
> diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
> index e9a2714fb..1e92a0e2b 100644
> --- a/.github/workflows/build-and-test.yml
> +++ b/.github/workflows/build-and-test.yml
> @@ -5,7 +5,7 @@ on: [push, pull_request]
>  jobs:
>    build-dpdk:
>      env:
> -      dependencies: gcc libbpf-dev libnuma-dev ninja-build pkgconf
> +      dependencies: gcc libbpf-dev libnuma-dev libpcap-dev ninja-build pkgconf
>        CC: gcc
>        DPDK_GIT: https://dpdk.org/git/dpdk-stable
>        DPDK_VER: 22.11.1
> diff --git a/python/test_requirements.txt b/python/test_requirements.txt
> index c85ce41ad..5043c71e2 100644
> --- a/python/test_requirements.txt
> +++ b/python/test_requirements.txt
> @@ -2,4 +2,5 @@ netaddr
>  pyftpdlib
>  pyparsing
>  pytest
> +scapy

I'd vote against enabling scapy-based tests.  They are mainly randomized
autovalidator tests that we cannot meaningfully test in GHA anyway.  The
one that is about configuration is also questionable, it should not really
need any real traffic.

In addition, these tests consume too much CPU on a very resource-limited
system like GHA.

Best regards, Ilya Maximets.
Eelco Chaudron Nov. 28, 2023, 7:49 a.m. UTC | #2
On 27 Nov 2023, at 19:14, Ilya Maximets wrote:

> On 11/27/23 13:40, Eelco Chaudron wrote:
>> Install additional packages and drivers required by
>> make check-dpdk.
>>
>> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
>> ---
>>  .ci/dpdk-build.sh                    |    2 +-
>>  .github/workflows/build-and-test.yml |    2 +-
>>  python/test_requirements.txt         |    1 +
>>  3 files changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/.ci/dpdk-build.sh b/.ci/dpdk-build.sh
>> index aa83e4464..d4c178ee0 100755
>> --- a/.ci/dpdk-build.sh
>> +++ b/.ci/dpdk-build.sh
>> @@ -38,7 +38,7 @@ function build_dpdk()
>>      # any DPDK driver.
>>      # check-dpdk unit tests requires testpmd and some net/ driver.
>>      DPDK_OPTS="$DPDK_OPTS -Denable_apps=test-pmd"
>> -    enable_drivers="net/null,net/af_xdp,net/tap,net/virtio"
>> +    enable_drivers="net/null,net/af_xdp,net/tap,net/virtio,net/pcap"
>>      DPDK_OPTS="$DPDK_OPTS -Denable_drivers=$enable_drivers"
>>
>>      # Install DPDK using prefix.
>> diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
>> index e9a2714fb..1e92a0e2b 100644
>> --- a/.github/workflows/build-and-test.yml
>> +++ b/.github/workflows/build-and-test.yml
>> @@ -5,7 +5,7 @@ on: [push, pull_request]
>>  jobs:
>>    build-dpdk:
>>      env:
>> -      dependencies: gcc libbpf-dev libnuma-dev ninja-build pkgconf
>> +      dependencies: gcc libbpf-dev libnuma-dev libpcap-dev ninja-build pkgconf
>>        CC: gcc
>>        DPDK_GIT: https://dpdk.org/git/dpdk-stable
>>        DPDK_VER: 22.11.1
>> diff --git a/python/test_requirements.txt b/python/test_requirements.txt
>> index c85ce41ad..5043c71e2 100644
>> --- a/python/test_requirements.txt
>> +++ b/python/test_requirements.txt
>> @@ -2,4 +2,5 @@ netaddr
>>  pyftpdlib
>>  pyparsing
>>  pytest
>> +scapy
>
> I'd vote against enabling scapy-based tests.  They are mainly randomized
> autovalidator tests that we cannot meaningfully test in GHA anyway.  The
> one that is about configuration is also questionable, it should not really
> need any real traffic.
>
> In addition, these tests consume too much CPU on a very resource-limited
> system like GHA.

What about I keep this patch (with a more clear commit message), and add OVS_CHECK_GITHUB_ACTION() for the scapy tests. This way we can still use the build scripts for offline CI?

//Eelco
Ilya Maximets Nov. 28, 2023, 12:12 p.m. UTC | #3
On 11/28/23 08:49, Eelco Chaudron wrote:
> 
> 
> On 27 Nov 2023, at 19:14, Ilya Maximets wrote:
> 
>> On 11/27/23 13:40, Eelco Chaudron wrote:
>>> Install additional packages and drivers required by
>>> make check-dpdk.
>>>
>>> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
>>> ---
>>>  .ci/dpdk-build.sh                    |    2 +-
>>>  .github/workflows/build-and-test.yml |    2 +-
>>>  python/test_requirements.txt         |    1 +
>>>  3 files changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/.ci/dpdk-build.sh b/.ci/dpdk-build.sh
>>> index aa83e4464..d4c178ee0 100755
>>> --- a/.ci/dpdk-build.sh
>>> +++ b/.ci/dpdk-build.sh
>>> @@ -38,7 +38,7 @@ function build_dpdk()
>>>      # any DPDK driver.
>>>      # check-dpdk unit tests requires testpmd and some net/ driver.
>>>      DPDK_OPTS="$DPDK_OPTS -Denable_apps=test-pmd"
>>> -    enable_drivers="net/null,net/af_xdp,net/tap,net/virtio"
>>> +    enable_drivers="net/null,net/af_xdp,net/tap,net/virtio,net/pcap"
>>>      DPDK_OPTS="$DPDK_OPTS -Denable_drivers=$enable_drivers"
>>>
>>>      # Install DPDK using prefix.
>>> diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
>>> index e9a2714fb..1e92a0e2b 100644
>>> --- a/.github/workflows/build-and-test.yml
>>> +++ b/.github/workflows/build-and-test.yml
>>> @@ -5,7 +5,7 @@ on: [push, pull_request]
>>>  jobs:
>>>    build-dpdk:
>>>      env:
>>> -      dependencies: gcc libbpf-dev libnuma-dev ninja-build pkgconf
>>> +      dependencies: gcc libbpf-dev libnuma-dev libpcap-dev ninja-build pkgconf
>>>        CC: gcc
>>>        DPDK_GIT: https://dpdk.org/git/dpdk-stable
>>>        DPDK_VER: 22.11.1
>>> diff --git a/python/test_requirements.txt b/python/test_requirements.txt
>>> index c85ce41ad..5043c71e2 100644
>>> --- a/python/test_requirements.txt
>>> +++ b/python/test_requirements.txt
>>> @@ -2,4 +2,5 @@ netaddr
>>>  pyftpdlib
>>>  pyparsing
>>>  pytest
>>> +scapy
>>
>> I'd vote against enabling scapy-based tests.  They are mainly randomized
>> autovalidator tests that we cannot meaningfully test in GHA anyway.  The
>> one that is about configuration is also questionable, it should not really
>> need any real traffic.
>>
>> In addition, these tests consume too much CPU on a very resource-limited
>> system like GHA.
> 
> What about I keep this patch (with a more clear commit message), and add OVS_CHECK_GITHUB_ACTION() for the scapy tests. This way we can still use the build scripts for offline CI?

OK.  If installing scapy and libpcap doesn't take much time, should be fine.
diff mbox series

Patch

diff --git a/.ci/dpdk-build.sh b/.ci/dpdk-build.sh
index aa83e4464..d4c178ee0 100755
--- a/.ci/dpdk-build.sh
+++ b/.ci/dpdk-build.sh
@@ -38,7 +38,7 @@  function build_dpdk()
     # any DPDK driver.
     # check-dpdk unit tests requires testpmd and some net/ driver.
     DPDK_OPTS="$DPDK_OPTS -Denable_apps=test-pmd"
-    enable_drivers="net/null,net/af_xdp,net/tap,net/virtio"
+    enable_drivers="net/null,net/af_xdp,net/tap,net/virtio,net/pcap"
     DPDK_OPTS="$DPDK_OPTS -Denable_drivers=$enable_drivers"
 
     # Install DPDK using prefix.
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
index e9a2714fb..1e92a0e2b 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -5,7 +5,7 @@  on: [push, pull_request]
 jobs:
   build-dpdk:
     env:
-      dependencies: gcc libbpf-dev libnuma-dev ninja-build pkgconf
+      dependencies: gcc libbpf-dev libnuma-dev libpcap-dev ninja-build pkgconf
       CC: gcc
       DPDK_GIT: https://dpdk.org/git/dpdk-stable
       DPDK_VER: 22.11.1
diff --git a/python/test_requirements.txt b/python/test_requirements.txt
index c85ce41ad..5043c71e2 100644
--- a/python/test_requirements.txt
+++ b/python/test_requirements.txt
@@ -2,4 +2,5 @@  netaddr
 pyftpdlib
 pyparsing
 pytest
+scapy
 tftpy