Page tree
Skip to end of metadata
Go to start of metadata

 

System under test:

  • Ubuntu 16.04
  • dpdk v16.07
  • collectd master branch(last commit):
    commit 64a931a5af05a08cae0d5af6c81880a5a9b27840
    Merge: 1d49aaf 0400307
    Author: Ruben Kerkhof <ruben@rubenkerkhof.com>
    Date:   Fri Mar 10 15:35:35 2017 +0100
    
        Merge pull request #2213 from maryamtahhan/ovs_enable_platforms
Primary process:
testpmd
Initial collectd.conf for dpdkevents plugin:
<Plugin "dpdkevents">
  <EAL>
     Coremask "0xf"
     MemoryChannels "4"
     ProcessType "secondary"
     FilePrefix "rte"
  </EAL>
  <Event "link_status">
     SendEventsOnUpdate true
     EnabledPortMask 0xffff
     SendNotification false
  </Event>
</Plugin>
 
Summary
Steps
Results
Is Automated
1
Verify link status is collected according to SendEventsOnUpdate field set to True
  1. Set SendEventsOnUpdate field to True.
  2. Start collectd.
  3. Start testpmd
  4. Set port up/down/up
  5. Verify that link status is dispatched only when link state is changed.
PASS 
2
Verify link status is collected according to SendEventsOnUpdate field set to False
  1. Set SendEventsOnUpdate field to False.
  2. Start collectd.
  3. Start testpmd
  4. Set port up and wait read interval.
  5. Verify that link status keeps dispatching every read interval.
PASS 
3Verify metrics are not collected for ports disabled by EnabledPortMask field
  1. Set EnabledPortMask field to to 0x10. This will disable port 0.
  2. Start collectd.
  3. Start testpmd
  4. Set port up/down and wait read interval.
  5. Verify that link status is not dispatched for port this port.
PASS 
4Verify metrics are not collected for ports disabled by EnabledPortMask field and disabled SendEventsOnUpdate.
  1. Set EnabledPortMask field to to 0x10. This will disable port 0.
  2. Set SendEventsOnUpdate field to False.
  3. Start collectd.
  4. Start testpmd
  5. Set port up/down/up
  6. Verify that link status is not dispatched for port this port.
PASS 
5Verify link status is collected according defined PortName field.
  1. Set PortName fiield to 'test_port' value.
  2. Start collectd.
  3. Start testpmd
  4. Set port up/down/up
  5. Verify that link status is dispatched for test_port.
PASS 
6Verify correct notification is sent when SendNotification and SendEventsOnUpdate are true
  1. Set SendEventsOnUpdate SendNotification fields to True.
  2. Start collectd.
  3. Start testpmd
  4. Set port up/down/up
  5. Verify that collectd Notification is present in syslog.

PASS



 
7Verify correct notification is sent when SendNotification is true and SendEventsOnUpdate is false
  1. Set SendEventsOnUpdate to False and SendNotification field to True.
  2. Start collectd.
  3. Start testpmd
  4. Set port up/down/up
  5. Verify that collectd Notification is present in syslog.

PASS

 

 
8Verify that link status is collected when default dpdkevents configuration is applied.
  1. In collectd.conf leave only "LoadPlugin "dpdkevents" line.
  2. Start collectd.
  3. Start testpmd
  4. Verify that link status is dispatched every read interval.

FAIL

Internal JIRA Filed

 
9Verify dpdkevents plugin attemps to reconnect to primary process every read interval
  1. Start collectd
  2. Start testpmd
  3. Wait read interval
  4. Stop testpmd
  5. Parse syslog and verify that dpdkevents attempts to reconnect 
    to primary process every read interval.
PASS 
10Verify dpdkevents plugin dispatch values every 5ms when read interval is set to 0.005
  1. Set read interval for dpdkevents plugin to 0.005 seconds.
  2. Start testpmd
  3. Start collectd
  4. Wait read interval
  5. Verify that values are dispatched every 5 ms.

FAIL

Internal JIRA Filed

 
11Verify dpdkevents plugin collects link status on different nics separately[igb].
  1. Start collectd
  2. Start testpmd
  3. Wait read interval
  4. Verify that link status is dispatched for specified NIC.

FAIL

Internal JIRA Filed

 
12Verify dpdkevents plugin collects link status on different nics separately[ixgbe].
  1. Start collectd
  2. Start testpmd
  3. Wait read interval
  4. Verify that link status is dispatched for specified NIC.

FAIL

Internal JIRA Filed

 
13Verify dpdkevents plugin collects link status on different nics separately[i40e].
  1. Start collectd
  2. Start testpmd
  3. Wait read interval
  4. Verify that link status is dispatched for specified NIC.
PASS 
14Verify that dpdkevents plugin collects link status on VFs related to specific nic[igb].
  1. Make sure that VF is created and bound to vfio-pci driver.
  2. Start collectd
  3. Start testpmd
  4. Wait read interval
  5. Verify that link status is dispatched for specified VF.

FAIL due to

blocker issue

Internal JIRA Filed

 
15Verify that dpdkevents plugin collects link status on VFs related to specific nic[ixgbe].
  1. Make sure that VF is created and bound to vfio-pci driver.
  2. Start collectd
  3. Start testpmd
  4. Wait read interval
  5. Verify that link status is dispatched for specified VF.

FAIL due to

blocker issue

Internal JIRA Filed

 
16Verify that dpdkevents plugin collects link status on VFs related to specific nic[i40e].
  1. Make sure that VF is created and bound to vfio-pci driver.
  2. Start collectd
  3. Start testpmd
  4. Wait read interval
  5. Verify that link status is dispatched for specified VF.
PASS 
17Combination of VF,PF
  1. Make sure that VF is created and bound to vfio-pci driver.
  2. Make sure that PF is bound to igb_uio driver.
  3. Start collectd
  4. Start testpmd
  5. Wait read interval
  6. Verify that link status is dispatched for specified VF and PF.

FAIL due to

blocker issue

Internal JIRA Filed

Requires 2 i40e NICs

in order to bypass mentioned issue

 
18Verify dpdkevents plugin stops collecting link status data after primary process is stopped and resumes collecting when primary process is started again.
  1. Start collectd
  2. Start testpmd
  3. Wait read interval
  4. Stop testpmd
  5. Wait read interval and check that no data is dispatched.
  6. Start testpmd
  7. Wait read interval and check that data is dispatched.
PASS 
19Verify that metrics are collected for new port bound to dpdk.
  1. Start collectd
  2. Start testpmd
  3. Wait read interval
  4. Stop testpmd
  5. Bind additional port to dpdk,
  6. Start testpmd
  7. Wait read interval and check that new metrics are present for new port.

FAIL due to

blocker issue

Internal JIRA Filed

Requires 2 i40e NICs

 

 

 

Keep Alive related tests:

Primary process:
l2fwd-keepalive
Initial collectd.conf for dpdkevents plugin:
<Plugin "dpdkevents">
<EAL>
Coremask "0xf"
MemoryChannels "4"
ProcessType "secondary"
FilePrefix "rte"
</EAL>
<Event "keep_alive">
SendEventsOnUpdate true
LCoreMask "0xf"
KeepAliveShmName "/dpdk_keepalive_shm_name"
SendNotification false
</Event>
</Plugin>
 
Summary
Steps
Results
Is Automated
1Verify Keep Alive event stops dispatching data after primary process is killed.
  1. Start l2fwd-keepalive
  2. Start collectd
  3. Wait read interval
  4. Check that keep alive metrics are dispatched.
  5. Kill primary process.
  6. Check that metrics are not dispatched anymore.

FAIL

Internal JIRA Filed

 
2Verify Keep Alive event resumes dispatching its values when primary process was started after collectd initialization.
  1. Start collectd
  2. Wait read interval
  3. Make sure that dpdkevents attempts to reconnect to primary process every read interval.
  4. Start l2fwd-keepalive
  5. Check that keep alive metrics are dispatched.

FAIL

Internal JIRA Filed

 
3Verify Keep Alive event dispatches core states according to SendEventsOnUpdate field True.
  1. Start l2fwd-keepalive
  2. Start collectd
  3. Wait read interval
  4. Check that keep alive metrics are dispatched only once on update.
PASS 
4Verify Keep Alive event dispatches core states according to LCoreMask field.
  1. Start l2fwd-keepalive
  2. Start collectd
  3. Wait read interval
  4. Check that keep alive metrics are dispatched every read interval only for enabled cores.
PASS 
5Verify Keep Alive event does not dispatch core states if non-existing KeepAliveShmName field value is set.
  1. Do not start l2fwd-keepalive.
  2. Start collectd
  3. Wait read interval
  4. Check that keep alive metrics are not dispatched and warning message is occurred during collected initialization.
PASS 
6Verify Keep Alive event dispatches core states and correct notification is sent when SendNotification and SendEventsOnUpdate fields are true 
  1. Set SendNotification and SendEventsOnUpdate fields to true
  2. Start collectd
  3. Start l2fwd-keepalive.
  4. Wait read interval
  5. Check that keep alive metrics are dispatched.
  6. Parse syslog and check that collectd related notification is present.

FAIL

Internal JIRA Filed

 
7Verify Keep Alive event dispatches core states and correct notification is sent when SendNotification field is true and SendEventsOnUpdate field is false.
  • Set SendNotification and SendEventsOnUpdate field to true and SendEventsOnUpdate to false.
  • Start collectd
  • Start l2fwd-keepalive.
  • Wait read interval
  • Check that keep alive metrics are dispatched.
  • Parse syslog and check that collectd related notification is present.

FAIL

Internal JIRA Filed

 

Testing both events simultaneously: Link status and Keep Alive:

Primary process:
l2fwd-keepalive
Initial collectd.conf for dpdkevents plugin:
<Plugin "dpdkevents">
  <EAL>
     Coremask "0x3"
     MemoryChannels "4"
     ProcessType "secondary"
     FilePrefix "rte"
  </EAL>
  <Event "link_status">
     SendEventsOnUpdate true
     EnabledPortMask 0xffff
     PortName "interface1"
     PortName "interface2"
     SendNotification false
  </Event>
  <Event "keep_alive">
     SendEventsOnUpdate true
     LCoreMask "0xf"
     KeepAliveShmName "/dpdk_keepalive_shm_name"
     SendNotification false
   </Event>
</Plugin>
 
Summary
Steps
Results
Is Automated
1Verify that Keep Alive and link status are dispatched simultaneously when both events are enabled
  1. Enable links status and keep alive events with default configuration in collectd.conf
  2. Start primary process.
  3. Start collectd.
  4. Wait 2 time intervals
  5. Verify that link status and keep alive data are collected.
PASS 
2Verify that Link Status event keeps dispatching metrics when KeepAlive has invalid configuration(did not find SharedMemoryName)
  1. Enable links status and keep alive events.
  2. Set invalid SharedMemoryName for Keep Alive event.
  3. Start primary process.
  4. Start collectd.
  5. Wait 2 time intervals
  6. Verify that link status is collected and keep alive data isn't.

FAIL

Internal JIRA Filed

 
3Verify that Keep Alive event keeps dispatching metrics when Link status event has invalid configuration(incorrect field)
  1. Enable links status and keep alive events.
  2. Set invalid fields in link_status event.
  3. Start primary process.
  4. Start collectd.
  5. Wait 2 time intervals
  6. Verify that keep alive data is collected and link status data isn't.
PASS 

 

Config-less testing:

 
Summary
Steps
Results
Is Automated
1Negative testing of EAL section
  1. Start primary process
  2. Set incorrect values for the following fields separately:
    ('Coremask', ['None', '', '0x1q', '"0xINCORRECT"']),
    ('MemoryChannels', ['"0xNone"', '"0xa"', '', '0xINCORRECT']),
    ('ProcessType', [' ', '""', '"INCORRECT"']),
    ('FilePrefix', ['None', '', '"1"', '"INCORRECT"'])
  3. Start collectd.
  4. Verify that statistic is no collected.
  5. Verify that syslog does not contain 'plugin "dpdkevents" successfully loaded' message.

 FAIL

Internal JIRA Filed

 
2Negative testing of link_status section
  1. Start primary process
  2. Set incorrect values for the following fields separately:
    ('SendEventsOnUpdate', ['None', '', '1', 'INCORRECT']),
    ('EnabledPortMask', ['0xNone', '', '0xINCORRECT']),
    ('PortName', [' ']),
    ('SendNotification', ['None', '', '1', 'INCORRECT'])
  3. Start collectd.
  4. Verify that syslog does not contain 'plugin "dpdkevents" successfully loaded' message.
  5. Verify that statistic is no collected.

  FAIL

Internal JIRA Filed

 
3Negative testing of keep_alive section 
  1. Start primary process
  2. Set incorrect values for the following fields separately:
    ('SendEventsOnUpdate', ['None', '', '1', 'INCORRECT']),
    ('LCoreMask', ['0xNone', '"0xNone"', '', '0xINCORRECT']),
    ('KeepAliveShmName', [' ', '""', '"/INCORRECT"']),
    ('SendNotification', ['None', '', '1', 'INCORRECT'])
  3. Start collectd.
  4. Verify that syslog does not contain 'plugin "dpdkevents" successfully loaded' message.
  5. Verify that statistic is no collected.

  FAIL

Internal JIRA Filed

 
  • No labels