From 058dfaa4ad10b8fd3df7da7793f4633ac2afe64c Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Wed, 11 May 2016 15:07:06 +0200 Subject: Add test cases with "dpdk no-multi-seg" in vpp startup config - JIRA: CSIT-73 - Add ability to configure no-multi-seg parameter in VPP startup configuration - Add keywords to selectively configure parameters in startup configuration - Modify testcases Change-Id: I3c5c0a1cc2b1156d5a87ff36628b50793dd9ac5f Signed-off-by: Peter Mikus --- resources/libraries/robot/default.robot | 90 +++++++++++++++++++++++------ resources/libraries/robot/performance.robot | 4 +- 2 files changed, 74 insertions(+), 20 deletions(-) (limited to 'resources/libraries/robot') diff --git a/resources/libraries/robot/default.robot b/resources/libraries/robot/default.robot index 8e03e62983..59c5e137a0 100644 --- a/resources/libraries/robot/default.robot +++ b/resources/libraries/robot/default.robot @@ -28,9 +28,9 @@ | | [Documentation] | Prepare all TGs before traffic scripts execution | | All TGs Set Interface Default Driver | ${nodes} -| Setup '${m}' worker threads and rss '${n}' without HTT on all DUTs +| Add '${m}' worker threads and rss '${n}' without HTT to all DUTs | | [Documentation] | Setup M worker threads without HTT and rss N in startup -| | ... | configuration of VPP on all DUTs +| | ... | configuration of VPP to all DUTs | | ${cpu}= | Catenate | main-core | 0 | corelist-workers | | ${cpu}= | Run Keyword If | '${m}' == '1' | Catenate | ${cpu} | 1 | | ... | ELSE IF | '${m}' == '2' | Catenate | ${cpu} | 1-2 @@ -38,11 +38,11 @@ | | ... | ELSE IF | '${m}' == '6' | Catenate | ${cpu} | 1-6 | | ... | ELSE | Fail | Not supported combination | | ${rss}= | Catenate | rss | ${n} -| | Setup worker threads and rss on all DUTs | ${cpu} | ${rss} +| | Add worker threads and rss to all DUTs | ${cpu} | ${rss} -| Setup '${m}' worker threads and rss '${n}' with HTT on all DUTs +| Add '${m}' worker threads and rss '${n}' with HTT to all DUTs | | [Documentation] | Setup M worker threads with HTT and rss N in startup -| | ... | configuration of VPP on all DUTs +| | ... | configuration of VPP to all DUTs | | ${cpu}= | Catenate | main-core | 0 | corelist-workers | | ${cpu}= | Run Keyword If | '${m}' == '2' | Catenate | ${cpu} | 1,10 | | ... | ELSE IF | '${m}' == '4' | Catenate | ${cpu} | 1-2,10-11 @@ -50,24 +50,67 @@ | | ... | ELSE IF | '${m}' == '8' | Catenate | ${cpu} | 1-4,10-13 | | ... | ELSE | Fail | Not supported combination | | ${rss}= | Catenate | rss | ${n} -| | Setup worker threads and rss on all DUTs | ${cpu} | ${rss} +| | Add worker threads and rss to all DUTs | ${cpu} | ${rss} -| Setup worker threads and rss on all DUTs -| | [Documentation] | Setup worker threads and rss in startup configuration of -| | ... | VPP on all DUTs +| Add worker threads and rss to all DUTs +| | [Documentation] | Setup worker threads and rss in VPP startup configuration +| | ... | to all DUTs +| | ... +| | ... | *Arguments:* +| | ... | - ${cpu} - CPU configuration. Type: string +| | ... | - ${rss} - RSS configuration. Type: string +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Add worker threads and rss to all DUTs \| main-core 0 \ +| | ... | \| rss 2 | | [Arguments] | ${cpu} | ${rss} | | ${duts}= | Get Matches | ${nodes} | DUT* | | :FOR | ${dut} | IN | @{duts} | | | Add CPU config | ${nodes['${dut}']} | | | ... | ${cpu} -| | | Add PCI device | ${nodes['${dut}']} | | | Add RSS config | ${nodes['${dut}']} | | | ... | ${rss} -| | | Apply config | ${nodes['${dut}']} -| Reset startup configuration of VPP on all DUTs -| | [Documentation] | Reset startup configuration of VPP on all DUTs -| | ${cpu}= | Catenate | main-core | 1 +| Add all PCI devices to all DUTs +| | [Documentation] | Add all available PCI devices from topology file to VPP +| | ... | startup configuration to all DUTs +| | ${duts}= | Get Matches | ${nodes} | DUT* +| | :FOR | ${dut} | IN | @{duts} +| | | Add PCI device | ${nodes['${dut}']} + +| Add PCI device to DUT +| | [Documentation] | Add PCI device to VPP startup configuration +| | ... | to DUT specified as argument +| | ... +| | ... | *Arguments:* +| | ... | - ${node} - DUT node. Type: dictionary +| | ... | - ${pci_address} - PCI address. Type: string +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Add PCI device to DUT \| ${nodes['DUT1']} \ +| | ... | \| 0000:00:00.0 +| | [Arguments] | ${node} | ${pci_address} +| | Add PCI device | ${node} | ${pci_address} + +| Add No Multi Seg to all DUTs +| | [Documentation] | Add No Multi Seg to VPP startup configuration to all +| | ... | DUTs +| | ${duts}= | Get Matches | ${nodes} | DUT* +| | :FOR | ${dut} | IN | @{duts} +| | | Add No Multi Seg Config | ${nodes['${dut}']} + +| Add Max Tx Queues '${m}' to all DUTs +| | [Documentation] | Add Max Tx Queues M to VPP startup configuration to all +| | ... | DUTs +| | ${queues}= | Catenate | max-tx-queues | ${m} +| | ${duts}= | Get Matches | ${nodes} | DUT* +| | :FOR | ${dut} | IN | @{duts} +| | | Add Max Tx Queues Config | ${nodes['${dut}']} | ${queues} + +| Remove startup configuration of VPP from all DUTs +| | [Documentation] | Remove VPP startup configuration from all DUTs | | ${duts}= | Get Matches | ${nodes} | DUT* | | :FOR | ${dut} | IN | @{duts} | | | Remove All PCI Devices | ${nodes['${dut}']} @@ -75,8 +118,19 @@ | | | Remove Socketmem Config | ${nodes['${dut}']} | | | Remove Heapsize Config | ${nodes['${dut}']} | | | Remove RSS Config | ${nodes['${dut}']} -| | | Add CPU Config | ${nodes['${dut}']} -| | | ... | ${cpu} -| | | Add PCI Device | ${nodes['${dut}']} -| | | Apply Config | ${nodes['${dut}']} +| | | Remove Max Tx Queues Config | ${nodes['${dut}']} +| | | Remove No Multi Seg Config | ${nodes['${dut}']} +| Setup default startup configuration of VPP on all DUTs +| | [Documentation] | Setup default startup configuration of VPP to all DUTs +| | Remove startup configuration of VPP from all DUTs +| | Add '1' worker threads and rss '1' without HTT to all DUTs +| | Add all PCI devices to all DUTs +| | Apply startup configuration on all VPP DUTs + +| Apply startup configuration on all VPP DUTs +| | [Documentation] | Apply startup configuration of VPP and restart VPP on all +| | ... | DUTs +| | ${duts}= | Get Matches | ${nodes} | DUT* +| | :FOR | ${dut} | IN | @{duts} +| | | Apply Config | ${nodes['${dut}']} diff --git a/resources/libraries/robot/performance.robot b/resources/libraries/robot/performance.robot index 6c06288f53..73f5bb726a 100644 --- a/resources/libraries/robot/performance.robot +++ b/resources/libraries/robot/performance.robot @@ -146,7 +146,7 @@ | 3-node Performance Suite Setup | | [Arguments] | ${topology_type} -| | Reset startup configuration of VPP on all DUTs +| | Setup default startup configuration of VPP on all DUTs | | Update All Interface Data On All Nodes | ${nodes} | | 3-node circular Topology Variables Setup | | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2} @@ -156,7 +156,7 @@ 3-node Performance Suite Setup with DUT's NIC model | | [Arguments] | ${topology_type} | ${nic_model} -| | Reset startup configuration of VPP on all DUTs +| | Setup default startup configuration of VPP on all DUTs | | Update All Interface Data On All Nodes | ${nodes} | | 3-node circular Topology Variables Setup with DUT interface model | | ... | ${nic_model} -- cgit 1.2.3-korg