Skip to content

Commit

Permalink
system-dpdk: Refactor common logs matching.
Browse files Browse the repository at this point in the history
Move EAL logs and commonly ignored logs to a common macro.
Remove/update obsolete ones (like i40e [1], timer [2], EAL [3][4] logs).
Set log level for DPDK drivers to error only: the rationale is that we are
not testing DPDK drivers in system-dpdk.
Extend regex on hugepage logs since a check on hugepages availability is
already present on OVS side, and as a consequence, we don't care about
the warnings on availability for certain hugepage size.
Add logs checks for MFEX tests that were missing them.

1: https://git.dpdk.org/dpdk/commit/?id=a075ce2b3e8c
2: https://git.dpdk.org/dpdk/commit/?id=c1077933d45b
3: https://git.dpdk.org/dpdk/commit/?id=e9b3d79b0696
4: https://git.dpdk.org/dpdk/commit/?id=c69150679891

Signed-off-by: David Marchand <[email protected]>
Reviewed-by: Maxime Coquelin <[email protected]>
Acked-by: Eelco Chaudron <[email protected]>
Signed-off-by: Ilya Maximets <[email protected]>
  • Loading branch information
david-marchand authored and igsilya committed Jan 3, 2022
1 parent b366fa2 commit d446dcb
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 32 deletions.
3 changes: 3 additions & 0 deletions tests/system-dpdk-macros.at
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ m4_define([OVS_DPDK_START],
dnl Enable DPDK functionality
AT_CHECK([ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true])

dnl Change DPDK drivers log levels so that tests only catch errors
AT_CHECK([ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-extra=--log-level=pmd.*:error])

dnl Start ovs-vswitchd.
AT_CHECK([ovs-vswitchd --detach --no-chdir --pidfile --log-file -vvconn -vofproto_dpif -vunixctl], [0], [stdout], [stderr])
AT_CAPTURE_FILE([ovs-vswitchd.log])
Expand Down
60 changes: 28 additions & 32 deletions tests/system-dpdk.at
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ m4_define([CONFIGURE_VETH_OFFLOADS],

AT_BANNER([OVS-DPDK unit tests])

m4_define([SYSTEM_DPDK_ALLOWED_LOGS],[
\@does not exist. The Open vSwitch kernel module is probably not loaded.@d
\@EAL: No \(available\|free\) .*hugepages reported@d
\@Failed to enable flow control@d
\@TELEMETRY: No legacy callbacks, legacy socket not created@d
])

dnl --------------------------------------------------------------------------
dnl Check if EAL init is successful
AT_SETUP([OVS-DPDK - EAL init])
Expand All @@ -12,11 +19,7 @@ OVS_DPDK_START()
AT_CHECK([grep "DPDK Enabled - initializing..." ovs-vswitchd.log], [], [stdout])
AT_CHECK([grep "EAL" ovs-vswitchd.log], [], [stdout])
AT_CHECK([grep "DPDK Enabled - initialized" ovs-vswitchd.log], [], [stdout])
OVS_VSWITCHD_STOP(["/Global register is changed during/d
/EAL: Invalid NUMA socket, default to 0/d
/EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !/d
/EAL: No free hugepages reported in hugepages-1048576kB/d
/TELEMETRY: No legacy callbacks, legacy socket not created/d"])
OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]")
AT_CLEANUP
dnl --------------------------------------------------------------------------

Expand All @@ -38,12 +41,7 @@ sleep 2

dnl Clean up
AT_CHECK([ovs-vsctl del-port br10 phy0], [], [stdout], [stderr])
OVS_VSWITCHD_STOP(["/does not exist. The Open vSwitch kernel module is probably not loaded./d
/Failed to enable flow control/d
/Global register is changed during/d
/EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !/d
/EAL: No free hugepages reported in hugepages-1048576kB/d
/TELEMETRY: No legacy callbacks, legacy socket not created/d"])
OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]")
AT_CLEANUP
dnl --------------------------------------------------------------------------

Expand All @@ -69,14 +67,9 @@ AT_CHECK([grep "VHOST_CONFIG: $OVS_RUNDIR/dpdkvhostclient0: reconnecting..." ovs

dnl Clean up
AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], [stderr])
OVS_VSWITCHD_STOP(["\@does not exist. The Open vSwitch kernel module is probably not loaded.@d
\@Failed to enable flow control@d
OVS_VSWITCHD_STOP("m4_join([], [SYSTEM_DPDK_ALLOWED_LOGS], [
\@VHOST_CONFIG: failed to connect to $OVS_RUNDIR/dpdkvhostclient0: No such file or directory@d
\@Global register is changed during@d
\@EAL: Invalid NUMA socket, default to 0@d
\@EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !@d
\@EAL: No free hugepages reported in hugepages-1048576kB@d
\@TELEMETRY: No legacy callbacks, legacy socket not created@d"])
])")
AT_CLEANUP
dnl --------------------------------------------------------------------------

Expand Down Expand Up @@ -146,17 +139,12 @@ pkill -f -x -9 'tail -f /dev/null'

dnl Clean up
AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuser0], [], [stdout], [stderr])
OVS_VSWITCHD_STOP(["\@does not exist. The Open vSwitch kernel module is probably not loaded.@d
\@Failed to enable flow control@d
OVS_VSWITCHD_STOP("m4_join([], [SYSTEM_DPDK_ALLOWED_LOGS], [
\@VHOST_CONFIG: recvmsg failed@d
\@VHOST_CONFIG: failed to connect to $OVS_RUNDIR/dpdkvhostuser0: No such file or directory@d
\@Global register is changed during@d
\@dpdkvhostuser ports are considered deprecated; please migrate to dpdkvhostuserclient ports.@d
\@failed to enumerate system datapaths: No such file or directory@d
\@EAL: Invalid NUMA socket, default to 0@d
\@EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !@d
\@EAL: No free hugepages reported in hugepages-1048576kB@d
\@TELEMETRY: No legacy callbacks, legacy socket not created@d"])
])")
AT_CLEANUP
dnl --------------------------------------------------------------------------

Expand Down Expand Up @@ -223,17 +211,12 @@ pkill -f -x -9 'tail -f /dev/null'

dnl Clean up
AT_CHECK([ovs-vsctl del-port br10 dpdkvhostuserclient0], [], [stdout], [stderr])
OVS_VSWITCHD_STOP(["\@does not exist. The Open vSwitch kernel module is probably not loaded.@d
\@Failed to enable flow control@d
OVS_VSWITCHD_STOP("m4_join([], [SYSTEM_DPDK_ALLOWED_LOGS], [
\@VHOST_CONFIG: recvmsg failed@d
\@VHOST_CONFIG: failed to connect to $OVS_RUNDIR/dpdkvhostclient0: No such file or directory@d
\@Global register is changed during@d
\@dpdkvhostuser ports are considered deprecated; please migrate to dpdkvhostuserclient ports.@d
\@failed to enumerate system datapaths: No such file or directory@d
\@EAL: Invalid NUMA socket, default to 0@d
\@EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles !@d
\@EAL: No free hugepages reported in hugepages-1048576kB@d
\@TELEMETRY: No legacy callbacks, legacy socket not created@d"])
])")
AT_CLEANUP
dnl --------------------------------------------------------------------------

Expand All @@ -260,6 +243,7 @@ OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics | grep -oP 'rx_packe

dnl Clean up
AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]")
AT_CLEANUP
dnl --------------------------------------------------------------------------

Expand Down Expand Up @@ -287,6 +271,7 @@ OVS_WAIT_UNTIL([test `ovs-vsctl get interface p1 statistics | grep -oP 'rx_packe

dnl Clean up
AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
OVS_VSWITCHD_STOP("[SYSTEM_DPDK_ALLOWED_LOGS]")
AT_CLEANUP
dnl --------------------------------------------------------------------------

Expand Down Expand Up @@ -394,5 +379,16 @@ ovs-appctl: ovs-vswitchd: server returned an error

dnl Clean up
AT_CHECK([ovs-vsctl del-port br0 p1], [], [stdout], [stderr])
OVS_VSWITCHD_STOP("m4_join([], [SYSTEM_DPDK_ALLOWED_LOGS], [
\@Error: unknown argument 1.@d
\@Error: invalid study_pkt_cnt value: xyz.@d
\@Error: unknown argument abcd.@d
\@Error: -pmd option requires a thread id argument.@d
\@Error: invalid study_pkt_cnt value: abcd.@d
\@Error: miniflow extract parser not changed, PMD thread passed is not valid: 'zero'. Pass a valid pmd thread ID.@d
\@Error: no miniflow extract name provided. Output of miniflow-parser-get shows implementation list.@d
\@Error: unknown miniflow extract implementation superstudy.@d
\@Error: invalid study_pkt_cnt value: -pmd.@d
])")
AT_CLEANUP dnl
dnl --------------------------------------------------------------------------

0 comments on commit d446dcb

Please sign in to comment.