diff mbox series

[ovs-dev,v5,11/12] ci: Allow make check-dpdk to run the MFEX tests.

Message ID 170298986942.1693084.8364060269011072888.stgit@ebuild
State Accepted
Commit 67c53a89df5cdf9c93b99345fd2bd3d1e6aa7dcc
Delegated to: Eelco Chaudron
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 fail github build: failed

Commit Message

Eelco Chaudron Dec. 19, 2023, 12:44 p.m. UTC
Currently, if you use the python/test_requirements.txt file to
set up your test environment the MFEX tests will be skipped due
to the Scapy package not being included. This is fixed as part
of this patch.

The test case change will make sure the 'MFEX Configuration' test
will run without the need for Scapy and its auto-generated tests.

In addition, we exclude the traffic-related MFEX tests from running
on GitHub actions due to limited resources.

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 +
 tests/system-dpdk.at                 |    6 +++---
 4 files changed, 6 insertions(+), 5 deletions(-)

Comments

Simon Horman Dec. 19, 2023, 6:38 p.m. UTC | #1
On Tue, Dec 19, 2023 at 01:44:29PM +0100, Eelco Chaudron wrote:
> Currently, if you use the python/test_requirements.txt file to
> set up your test environment the MFEX tests will be skipped due
> to the Scapy package not being included. This is fixed as part
> of this patch.
> 
> The test case change will make sure the 'MFEX Configuration' test
> will run without the need for Scapy and its auto-generated tests.
> 
> In addition, we exclude the traffic-related MFEX tests from running
> on GitHub actions due to limited resources.
> 
> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>

Acked-by: Simon Horman <horms@ovn.org>
Simon Horman Dec. 19, 2023, 6:45 p.m. UTC | #2
On Tue, Dec 19, 2023 at 06:38:57PM +0000, Simon Horman wrote:
> On Tue, Dec 19, 2023 at 01:44:29PM +0100, Eelco Chaudron wrote:
> > Currently, if you use the python/test_requirements.txt file to
> > set up your test environment the MFEX tests will be skipped due
> > to the Scapy package not being included. This is fixed as part
> > of this patch.
> > 
> > The test case change will make sure the 'MFEX Configuration' test
> > will run without the need for Scapy and its auto-generated tests.
> > 
> > In addition, we exclude the traffic-related MFEX tests from running
> > on GitHub actions due to limited resources.
> > 
> > Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
> 
> Acked-by: Simon Horman <horms@ovn.org>

I do notice that, perhaps by chance, the GitHub actions failed
on this particular patch as the linux clang test assan job
ran for more than 30 minutes.

Maybe we can bump timeout-minutes up a bit in build-and-test.yaml?

Link: https://github.com/ovsrobot/ovs/actions/runs/7262690093
Eelco Chaudron Dec. 20, 2023, 7:38 a.m. UTC | #3
On 19 Dec 2023, at 19:45, Simon Horman wrote:

> On Tue, Dec 19, 2023 at 06:38:57PM +0000, Simon Horman wrote:
>> On Tue, Dec 19, 2023 at 01:44:29PM +0100, Eelco Chaudron wrote:
>>> Currently, if you use the python/test_requirements.txt file to
>>> set up your test environment the MFEX tests will be skipped due
>>> to the Scapy package not being included. This is fixed as part
>>> of this patch.
>>>
>>> The test case change will make sure the 'MFEX Configuration' test
>>> will run without the need for Scapy and its auto-generated tests.
>>>
>>> In addition, we exclude the traffic-related MFEX tests from running
>>> on GitHub actions due to limited resources.
>>>
>>> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
>>
>> Acked-by: Simon Horman <horms@ovn.org>
>
> I do notice that, perhaps by chance, the GitHub actions failed
> on this particular patch as the linux clang test assan job
> ran for more than 30 minutes.
>
> Maybe we can bump timeout-minutes up a bit in build-and-test.yaml?

Yes, I did notice this also, but I did over 200 runs on GitHub and it did not happen before. So for now I assume it’s a glitch, but I plan to submit another patch merging ubsan/asan (like OVN) and add this for some dp tests also. Which will probably result in splitting the run. But this needs needs this patch merged first.

//Eelco

> Link: https://github.com/ovsrobot/ovs/actions/runs/7262690093
Eelco Chaudron Dec. 20, 2023, 1:23 p.m. UTC | #4
On 20 Dec 2023, at 8:38, Eelco Chaudron wrote:

> On 19 Dec 2023, at 19:45, Simon Horman wrote:
>
>> On Tue, Dec 19, 2023 at 06:38:57PM +0000, Simon Horman wrote:
>>> On Tue, Dec 19, 2023 at 01:44:29PM +0100, Eelco Chaudron wrote:
>>>> Currently, if you use the python/test_requirements.txt file to
>>>> set up your test environment the MFEX tests will be skipped due
>>>> to the Scapy package not being included. This is fixed as part
>>>> of this patch.
>>>>
>>>> The test case change will make sure the 'MFEX Configuration' test
>>>> will run without the need for Scapy and its auto-generated tests.
>>>>
>>>> In addition, we exclude the traffic-related MFEX tests from running
>>>> on GitHub actions due to limited resources.
>>>>
>>>> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
>>>
>>> Acked-by: Simon Horman <horms@ovn.org>
>>
>> I do notice that, perhaps by chance, the GitHub actions failed
>> on this particular patch as the linux clang test assan job
>> ran for more than 30 minutes.
>>
>> Maybe we can bump timeout-minutes up a bit in build-and-test.yaml?
>
> Yes, I did notice this also, but I did over 200 runs on GitHub and it did not happen before. So for now I assume it’s a glitch, but I plan to submit another patch merging ubsan/asan (like OVN) and add this for some dp tests also. Which will probably result in splitting the run. But this needs needs this patch merged first.
>
> //Eelco

Hi Simon,

I noticed you marked the patch series as ‘change requested’, is this because of the above? If so, I do not think this should be part of this series. I looked at the recent runs, and this test takes an average of 13 minutes, so I assume something was wrong outside of OVS, with the Github infra causing the extreme delay.

//Eelco
Simon Horman Dec. 20, 2023, 1:32 p.m. UTC | #5
On Wed, Dec 20, 2023 at 02:23:16PM +0100, Eelco Chaudron wrote:
> 
> 
> On 20 Dec 2023, at 8:38, Eelco Chaudron wrote:
> 
> > On 19 Dec 2023, at 19:45, Simon Horman wrote:
> >
> >> On Tue, Dec 19, 2023 at 06:38:57PM +0000, Simon Horman wrote:
> >>> On Tue, Dec 19, 2023 at 01:44:29PM +0100, Eelco Chaudron wrote:
> >>>> Currently, if you use the python/test_requirements.txt file to
> >>>> set up your test environment the MFEX tests will be skipped due
> >>>> to the Scapy package not being included. This is fixed as part
> >>>> of this patch.
> >>>>
> >>>> The test case change will make sure the 'MFEX Configuration' test
> >>>> will run without the need for Scapy and its auto-generated tests.
> >>>>
> >>>> In addition, we exclude the traffic-related MFEX tests from running
> >>>> on GitHub actions due to limited resources.
> >>>>
> >>>> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
> >>>
> >>> Acked-by: Simon Horman <horms@ovn.org>
> >>
> >> I do notice that, perhaps by chance, the GitHub actions failed
> >> on this particular patch as the linux clang test assan job
> >> ran for more than 30 minutes.
> >>
> >> Maybe we can bump timeout-minutes up a bit in build-and-test.yaml?
> >
> > Yes, I did notice this also, but I did over 200 runs on GitHub and it did not happen before. So for now I assume it’s a glitch, but I plan to submit another patch merging ubsan/asan (like OVN) and add this for some dp tests also. Which will probably result in splitting the run. But this needs needs this patch merged first.
> >
> > //Eelco
> 
> Hi Simon,
> 
> I noticed you marked the patch series as ‘change requested’, is this because of the above? If so, I do not think this should be part of this series. I looked at the recent runs, and this test takes an average of 13 minutes, so I assume something was wrong outside of OVS, with the Github infra causing the extreme delay.

Yes, sorry, I was a bit hasty there.
I'll set the patches as "Under Review" and delegate them to you.

Given your explanation above I have no objections to this series being
merged.
Eelco Chaudron Dec. 20, 2023, 1:39 p.m. UTC | #6
On 20 Dec 2023, at 14:32, Simon Horman wrote:

> On Wed, Dec 20, 2023 at 02:23:16PM +0100, Eelco Chaudron wrote:
>>
>>
>> On 20 Dec 2023, at 8:38, Eelco Chaudron wrote:
>>
>>> On 19 Dec 2023, at 19:45, Simon Horman wrote:
>>>
>>>> On Tue, Dec 19, 2023 at 06:38:57PM +0000, Simon Horman wrote:
>>>>> On Tue, Dec 19, 2023 at 01:44:29PM +0100, Eelco Chaudron wrote:
>>>>>> Currently, if you use the python/test_requirements.txt file to
>>>>>> set up your test environment the MFEX tests will be skipped due
>>>>>> to the Scapy package not being included. This is fixed as part
>>>>>> of this patch.
>>>>>>
>>>>>> The test case change will make sure the 'MFEX Configuration' test
>>>>>> will run without the need for Scapy and its auto-generated tests.
>>>>>>
>>>>>> In addition, we exclude the traffic-related MFEX tests from running
>>>>>> on GitHub actions due to limited resources.
>>>>>>
>>>>>> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
>>>>>
>>>>> Acked-by: Simon Horman <horms@ovn.org>
>>>>
>>>> I do notice that, perhaps by chance, the GitHub actions failed
>>>> on this particular patch as the linux clang test assan job
>>>> ran for more than 30 minutes.
>>>>
>>>> Maybe we can bump timeout-minutes up a bit in build-and-test.yaml?
>>>
>>> Yes, I did notice this also, but I did over 200 runs on GitHub and it did not happen before. So for now I assume it’s a glitch, but I plan to submit another patch merging ubsan/asan (like OVN) and add this for some dp tests also. Which will probably result in splitting the run. But this needs needs this patch merged first.
>>>
>>> //Eelco
>>
>> Hi Simon,
>>
>> I noticed you marked the patch series as ‘change requested’, is this because of the above? If so, I do not think this should be part of this series. I looked at the recent runs, and this test takes an average of 13 minutes, so I assume something was wrong outside of OVS, with the Github infra causing the extreme delay.
>
> Yes, sorry, I was a bit hasty there.
> I'll set the patches as "Under Review" and delegate them to you.
>
> Given your explanation above I have no objections to this series being
> merged.

Thanks, I’ll try to merge them before the end of the week!
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
diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at
index af092a200..d19062d98 100644
--- a/tests/system-dpdk.at
+++ b/tests/system-dpdk.at
@@ -819,6 +819,7 @@  dnl --------------------------------------------------------------------------
 dnl MFEX Autovalidator
 AT_SETUP([OVS-DPDK - MFEX Autovalidator])
 AT_KEYWORDS([dpdk])
+OVS_CHECK_GITHUB_ACTION()
 OVS_DPDK_PRE_CHECK()
 OVS_DPDK_START([--no-pci])
 AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev])
@@ -852,6 +853,7 @@  dnl --------------------------------------------------------------------------
 dnl MFEX Autovalidator Fuzzy
 AT_SETUP([OVS-DPDK - MFEX Autovalidator Fuzzy])
 AT_KEYWORDS([dpdk])
+OVS_CHECK_GITHUB_ACTION()
 OVS_DPDK_PRE_CHECK()
 OVS_DPDK_START([--no-pci])
 AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev])
@@ -886,13 +888,11 @@  dnl --------------------------------------------------------------------------
 AT_SETUP([OVS-DPDK - MFEX Configuration])
 AT_KEYWORDS([dpdk])
 OVS_DPDK_PRE_CHECK()
-AT_SKIP_IF([! $PYTHON3 -c "import scapy"], [], [])
-AT_CHECK([$PYTHON3 $srcdir/mfex_fuzzy.py test_traffic.pcap 1], [], [stdout])
 OVS_DPDK_START([--no-pci])
 AT_CHECK([ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0x1])
 dnl Add userspace bridge and attach it to OVS
 AT_CHECK([ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev])
-AT_CHECK([ovs-vsctl add-port br0 p1 -- set Interface p1 type=dpdk options:dpdk-devargs=net_pcap1,rx_pcap=test_traffic.pcap,infinite_rx=1], [], [stdout], [stderr])
+AT_CHECK([ovs-vsctl add-port br0 p1 -- set Interface p1 type=dpdk options:dpdk-devargs=net_null0,no-rx=1], [], [stdout], [stderr])
 AT_CHECK([ovs-vsctl show], [], [stdout])
 
 AT_CHECK([ovs-appctl dpif-netdev/miniflow-parser-set scalar 1], [2],