Anuket Project
vHost devices executed tests
Test Environment details:
Bare Metal, Ubuntu 16.04.1 LTS
Repo/branch used:
collectd/master branch (git clone git://github.com/collectd/collectd.git).
DPDK stats: DPDK vhost interface to retrieve stats.
Tests precondition:
Latest DPDK installed (17.02, also try with DPDK 16.04).
DPDK configuration:
Configuration details -
Collectd configuration:
LoadPlugin dpdkstat
<Plugin dpdkstat>
<EAL>
Coremask "0x2"
MemoryChannels "4"
ProcessType "secondary"
FilePrefix "rte"
</EAL>
# SharedMemObj "dpdk_collectd_stats_0"
EnabledPortMask 0xffff
# PortName "interface1"
# PortName "interface2"
</Plugin>
Table#1: DPDK stats vhost interface tests.
# | Test summary | Steps | Expected | Test Result | Comments |
|---|---|---|---|---|---|
1 | Verify vhost DPDK stats upon collectd restart. |
|
|
|
|
2 | Verify vhost DPDK stats with different time interval. |
|
|
|
|
3 | Verify vhost DPDK stats with default configuration. |
|
|
|
|
4 | Verify vhost DPDK stats counters number for available driver. |
|
|
| MT: Please note the number of stats supported for a vhost port - will be only a subset of that of a physical port. SA: Just will dump counters for driver tested. |
5 | Verify vhost DPDK Xstats counters number for available driver. |
|
|
|
|
6 | Verify vhost DPDK stats for Rx packets/bytes counters. |
|
|
|
|
7 | Verify vhost DPDK stats for packets with different size. |
|
|
|
|
8 | Verify vhost DPDK stats for unicast/multicast/broadcast packets. |
|
|
|
|
9 | Verify vhost DPDK Xstats not available for DPDK 16.04. |
|
|
|
|
DPDK events: DPDK vhost interface to retrieve link status.
Collectd configuration:
<Plugin "dpdkevents">
<EAL>
Coremask "0xf"
MemoryChannels "4"
ProcessType "secondary"
FilePrefix "rte"
</EAL>
<Event "link_status">
SendEventsOnUpdate true
EnabledPortMask 0xffff
SendNotification false
</Event>
</Plugin>
Table#2: DPDK events vhost interface tests.
# | Test summary | Steps | Expected | Test Result | Comments |
|---|---|---|---|---|---|
1 | Verify vhost DPDK metrics upon SendEventsOnUpdate set to true/false. |
| 3. Verify link status is dispatched as statistic accordingly. 5. Verify link status is not dispatched as statistic. |
|
|
2 | Verify vhost DPDK metrics are not collected for ports disabled by EnabledPortMask. |
| 3. Verify that link status is not dispatched for port this port. 5. Verify link status is dispatched for this port. |
|
|
3 | Verify vhost DPDK metrics not collected for ports disabled by EnabledPortMask and disabled by SendEventsOnUpdate. |
| 3. Verify link status is not dispatched as statistic accordingly. |
|
|
4 | Verify link status is collected according to defined PortName field. |
| 3. Verify link status is dispatched for port name 'test_port'. |
|
|
5 | Verify vhost DPDK link status correct notification is sent when SendNotification and SendEventsOnUpdate are true. |
| 3. Verify link status is dispatched only when link state is changed. Verify notification about link status changed is present in syslog. |
|
|
6 | Verify vhost DPDK link status correct notification is sent when SendNotification is true and SendEventsOnUpdate is false. |
| 3. Verify link status is dispatched every read interval. Verify notification about link status changed is present in syslog. |
|
|
7 | Verify vhost DPDK link status is collected when default dpdkevents configuration is applied. |
| 2. Verify link status is dispatched as statistic every read interval. |
|
|
8 | Verify vhost DPDK events plugin attemps to reconnect to primary process every read interval. |
| 3. Check syslog for attempts to reconnect to primary process every read interval. |
|
|
9 | Verify vhost DPDK events plugin dispatch values every 5ms. |
| 3. Verify values are dispatched every 5 ms. |
|
|
10 | Verify vhost DPDK events plugin stops collecting link status data after primary process is stopped and resumes collecting when primary process is started again. |
| 3. Wait read interval and check that no data is dispatched. 4. Wait read interval and check that data is dispatched. |
|
|
OVS stats: native vhost interface (tap device) and DPDK vhost interface to retrieve statistic.
OVS stats: DPDK vhost interface to retrieve statistic.
Tests precondition:
OVS (with DPDK) is started with OVS bridge/port added to configuration.
OVS/DPDK vhost tap configuration:
OVS with DPDK is build/configured.
Collectd configuration:
<Plugin ovs_stats>
Port "6640"
Address "127.0.0.1"
Socket "/var/run/openvswitch/db.sock"
Bridges "br0"
</Plugin>
Table#4: OVS stats DPDK vhost interface tests.
# | Test summary | Steps | Expected | Test Result | Comments |
|---|---|---|---|---|---|
1 | Verify vhost OVS stats upon collectd restart. |
|
|
|
|
2 | Verify vhost OVS stats with different time interval. |
|
|
|
|
3 | Verify vhost OVS stats with default configuration. |
|
|
|
|
4 | Verify vhost OVS stats for Rx packets/bytes counters. |
|
|
|
|
5 | Verify vhost OVS stats for packets with different size. |
|
|
|
|
6 | Verify vhost OVS stats for unicast/multicast/broadcast packets. |
|
|
|
|