From d40746ab2134b0cedb2199685aab0ca8cea649cb Mon Sep 17 00:00:00 2001 From: Dasa Simkova Date: Thu, 24 Aug 2017 17:25:21 +0200 Subject: CSIT-665: Re-write L1 robot keywords in python Change-Id: Iddd823375ddd17b9abd5f02ee3aea3bfcb625149 Signed-off-by: Dasa Simkova --- resources/libraries/robot/ip/ip6.robot | 26 +++++---- .../robot/performance/performance_setup.robot | 22 +++---- .../robot/performance/performance_utils.robot | 12 ++-- resources/libraries/robot/shared/counters.robot | 68 +++------------------- resources/libraries/robot/shared/default.robot | 18 +----- 5 files changed, 42 insertions(+), 104 deletions(-) (limited to 'resources/libraries/robot') diff --git a/resources/libraries/robot/ip/ip6.robot b/resources/libraries/robot/ip/ip6.robot index 43b0b8c646..f80d98f177 100644 --- a/resources/libraries/robot/ip/ip6.robot +++ b/resources/libraries/robot/ip/ip6.robot @@ -39,11 +39,13 @@ | | ${dst_mac}= | Get Interface Mac | ${dst_node} | ${dst_port} | | ${src_port_name}= | Get interface name | ${src_node} | ${src_port} | | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name} | ${src_mac} -| | | ... | ${dst_mac} | ${src_ip} | ${dst_ip} +| | ... | ${dst_mac} | ${src_ip} | ${dst_ip} | | Run Traffic Script On Node | icmpv6_echo.py | ${tg_node} | ${args} -| | Get interface statistics | ${dst_node} -| | ${ipv6_counter}= | Get interface ipv6 counter | ${dst_node} | ${dst_port} -| | Should Be Equal | ${ipv6_counter} | ${2} | #ICMPv6 neighbor advertisement + ICMPv6 echo request +| | Vpp Dump Stats Table | ${dst_node} +| | ${ipv6_counter}= | Vpp Get Ipv6 Interface Counter | ${dst_node} +| | ... | ${dst_port} +| | Should Be Equal | ${ipv6_counter} | ${2} +| | ... | #ICMPv6 neighbor advertisement + ICMPv6 echo request | Execute IPv6 ICMP echo sweep | | [Documentation] | Type of the src_node must be TG and dst_node must be DUT @@ -61,9 +63,9 @@ | | ${dst_mac}= | Get Interface Mac | ${dst_node} | ${dst_port} | | ${src_port_name}= | Get interface name | ${src_node} | ${src_port} | | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name} -| | | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip} +| | ... | ${src_mac} | ${dst_mac} | ${src_ip} | ${dst_ip} | | ${args}= | Set Variable -| | ... | ${args} --start_size ${start_size} --end_size ${end_size} --step ${step} +| | ... | ${args} --start_size ${start_size} --end_size ${end_size} --step ${step} | | Run Traffic Script On Node | ipv6_sweep_ping.py | ${src_node} | ${args} | | ... | timeout=${180} @@ -81,7 +83,7 @@ | | ${dst_mac}= | Get Interface Mac | ${hop_node} | ${hop_port} | | ${src_port_name}= | Get interface name | ${src_node} | ${src_port} | | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name} | ${src_mac} -| | | ... | ${dst_mac} | ${src_ip} | ${dst_ip} +| | ... | ${dst_mac} | ${src_ip} | ${dst_ip} | | Run Traffic Script On Node | icmpv6_echo.py | ${tg_node} | ${args} @@ -99,7 +101,7 @@ | | ${dst_mac}= | Get Interface Mac | ${hop_node} | ${hop_port} | | ${src_port_name}= | Get interface name | ${src_node} | ${src_port} | | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name} | ${src_mac} -| | | ... | ${dst_mac} | ${src_ip} | ${dst_ip} +| | ... | ${dst_mac} | ${src_ip} | ${dst_ip} | | Run Traffic Script On Node | icmpv6_echo.py | ${tg_node} | ${args} | Send IPv6 ICMP echo request to DUT2 egress interface via DUT1 and verify answer @@ -116,7 +118,7 @@ | | ${dst_mac}= | Get Interface Mac | ${hop_node} | ${hop_port} | | ${src_port_name}= | Get interface name | ${src_node} | ${src_port} | | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name} | ${src_mac} -| | | ... | ${dst_mac} | ${src_ip} | ${dst_ip} +| | ... | ${dst_mac} | ${src_ip} | ${dst_ip} | | Run Traffic Script On Node | icmpv6_echo.py | ${tg_node} | ${args} | Ipv6 tg to tg routed @@ -138,9 +140,9 @@ | | ${src_port_name}= | Get interface name | ${src_node} | ${src_port} | | ${dst_port_name}= | Get interface name | ${dst_node} | ${dst_port} | | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${dst_port_name} | ${src_mac} -| | | ... | ${dst_mac} | ${src_ip} | ${dst_ip} +| | ... | ${dst_mac} | ${src_ip} | ${dst_ip} | | ${args}= | Catenate | ${args} | --src_nh_mac ${src_nh_mac} -| | | ... | --dst_nh_mac ${dst_nh_mac} | --h_num 2 +| | ... | --dst_nh_mac ${dst_nh_mac} | --h_num 2 | | Run Traffic Script On Node | icmpv6_echo_req_resp.py | ${tg_node} | ${args} | Send IPv6 neighbor solicitation and verify answer @@ -156,7 +158,7 @@ | | ${dst_mac}= | Get Interface Mac | ${dst_node} | ${dst_port} | | ${src_port_name}= | Get interface name | ${src_node} | ${src_port} | | ${args}= | Traffic Script Gen Arg | ${src_port_name} | ${src_port_name} | ${src_mac} -| | | ... | ${dst_mac} | ${src_ip} | ${dst_ip} +| | ... | ${dst_mac} | ${src_ip} | ${dst_ip} | | Run Traffic Script On Node | ipv6_ns.py | ${src_node} | ${args} | Configure IPv6 on all DUTs in topology diff --git a/resources/libraries/robot/performance/performance_setup.robot b/resources/libraries/robot/performance/performance_setup.robot index 5838590e31..9f6d5aeac8 100644 --- a/resources/libraries/robot/performance/performance_setup.robot +++ b/resources/libraries/robot/performance/performance_setup.robot @@ -12,6 +12,8 @@ # limitations under the License. *** Settings *** +| Library | resources.libraries.python.DUTSetup +| Library | resources.libraries.python.VhostUser | Resource | resources/libraries/robot/performance/performance_configuration.robot | Resource | resources/libraries/robot/performance/performance_utils.robot | Documentation | Performance suite keywords - Suite and test setups and @@ -240,7 +242,7 @@ | | ... | | [Arguments] | ${topology_type} | ${nic_model} | | ... -| | Show vpp version on all DUTs +| | Show vpp version on all DUTs | ${nodes} | | Set variables in 2-node circular topology with DUT interface model | | ... | ${nic_model} | | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2} @@ -267,7 +269,7 @@ | | [Arguments] | ${topology_type} | ${nic_model} | ${tg_if1_dest_mac} | | ... | ${tg_if2_dest_mac} | | ... -| | Show vpp version on all DUTs +| | Show vpp version on all DUTs | ${nodes} | | Set variables in 2-node circular topology with DUT interface model | | ... | ${nic_model} | | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2} @@ -292,7 +294,7 @@ | | ... | | [Arguments] | ${topology_type} | ${nic_model} | | ... -| | Show vpp version on all DUTs +| | Show vpp version on all DUTs | ${nodes} | | Set variables in 3-node circular topology with DUT interface model | | ... | ${nic_model} | | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2} @@ -425,7 +427,7 @@ | | [Arguments] | ${rate} | ${framesize} | ${topology_type} | | ... | | Show VAT History On All DUTs | ${nodes} -| | Show statistics on all DUTs +| | Show statistics on all DUTs | ${nodes} | | Run Keyword If Test Failed | | ... | Traffic should pass with no loss | ${perf_trial_duration} | ${rate} | | ... | ${framesize} | ${topology_type} | fail_on_loss=${False} @@ -434,13 +436,13 @@ | | [Documentation] | Common test teardown for ndrchk performance tests. | | ... | | Show VAT History On All DUTs | ${nodes} -| | Show statistics on all DUTs +| | Show statistics on all DUTs | ${nodes} | Tear down performance pdrchk test | | [Documentation] | Common test teardown for pdrchk performance tests. | | ... | | Show VAT History On All DUTs | ${nodes} -| | Show statistics on all DUTs +| | Show statistics on all DUTs | ${nodes} | Tear down performance test with vhost and VM with dpdk-testpmd | | [Documentation] | Common test teardown for performance tests which use @@ -466,8 +468,8 @@ | | ... | ${dut2_node}=${None} | ${dut2_vm_refs}=${None} | | ... | | Show VAT History On All DUTs | ${nodes} -| | Show VPP vhost on all DUTs -| | Show statistics on all DUTs +| | Show VPP vhost on all DUTs | ${nodes} +| | Show statistics on all DUTs | ${nodes} | | Run Keyword If Test Failed | | ... | Traffic should pass with no loss | ${perf_trial_duration} | ${rate} | | ... | ${framesize} | ${topology_type} | fail_on_loss=${False} @@ -500,8 +502,8 @@ | | ... | ${dut2_node}=${None} | ${dut2_vm_refs}=${None} | | ... | | Show VAT History On All DUTs | ${nodes} -| | Show VPP vhost on all DUTs -| | Show statistics on all DUTs +| | Show VPP vhost on all DUTs | ${nodes} +| | Show statistics on all DUTs | ${nodes} | | Run keyword unless | ${dut1_node}==${None} | | ... | Tear down guest VM with dpdk-testpmd | ${dut1} | ${dut1_vm_refs} | | Run keyword unless | ${dut2_node}==${None} diff --git a/resources/libraries/robot/performance/performance_utils.robot b/resources/libraries/robot/performance/performance_utils.robot index 6c9f3a5930..e045075686 100644 --- a/resources/libraries/robot/performance/performance_utils.robot +++ b/resources/libraries/robot/performance/performance_utils.robot @@ -454,7 +454,7 @@ | | Run Keyword If | ${ret}==${FALSE} | Clear all counters on all DUTs | | Send traffic on tg | ${duration} | ${rate}pps | ${framesize} | | ... | ${topology_type} | warmup_time=0 -| | Run Keyword If | ${ret}==${FALSE} | Show statistics on all DUTs +| | Run Keyword If | ${ret}==${FALSE} | Show statistics on all DUTs | ${nodes} | | Run keyword and return | Get latency | Traffic should pass with no loss @@ -484,7 +484,7 @@ | | Run Keyword If | ${ret}==${FALSE} | Clear all counters on all DUTs | | Send traffic on tg | ${duration} | ${rate} | ${framesize} | | ... | ${topology_type} | warmup_time=0 -| | Run Keyword If | ${ret}==${FALSE} | Show statistics on all DUTs +| | Run Keyword If | ${ret}==${FALSE} | Show statistics on all DUTs | ${nodes} | | Run Keyword If | ${fail_on_loss} | No traffic loss occurred | Traffic should pass with partial loss @@ -515,7 +515,7 @@ | | Run Keyword If | ${ret}==${FALSE} | Clear all counters on all DUTs | | Send traffic on tg | ${duration} | ${rate} | ${framesize} | | ... | ${topology_type} | warmup_time=0 -| | Run Keyword If | ${ret}==${FALSE} | Show statistics on all DUTs +| | Run Keyword If | ${ret}==${FALSE} | Show statistics on all DUTs | ${nodes} | | Run Keyword If | ${fail_on_loss} | Partial traffic loss accepted | | ... | ${loss_acceptance} | ${loss_acceptance_type} @@ -541,7 +541,9 @@ | | Send traffic on tg | -1 | ${rate} | ${framesize} | ${topology_type} | | ... | warmup_time=0 | async_call=${True} | latency=${False} | | ${ret}= | Is DPDK performance test -| | Run Keyword If | ${ret}==${FALSE} | Clear runtime counters on all DUTs +| | Run Keyword If | ${ret}==${FALSE} +| | ... | Clear runtime counters on all DUTs | ${nodes} | | Sleep | ${duration} -| | Run Keyword If | ${ret}==${FALSE} | Show runtime counters on all DUTs +| | Run Keyword If | ${ret}==${FALSE} +| | ... | Show runtime counters on all DUTs | ${nodes} | | Stop traffic on tg diff --git a/resources/libraries/robot/shared/counters.robot b/resources/libraries/robot/shared/counters.robot index 3591dd5fe7..8a3e611faa 100644 --- a/resources/libraries/robot/shared/counters.robot +++ b/resources/libraries/robot/shared/counters.robot @@ -13,7 +13,7 @@ *** Settings *** | Documentation | VPP counters keywords -| Library | resources/libraries/python/VppCounters.py +| Library | resources.libraries.python.VppCounters *** Keywords *** | Clear interface counters on all vpp nodes in topology @@ -21,71 +21,17 @@ | | [Arguments] | ${nodes} | | Vpp Nodes Clear Interface Counters | ${nodes} -| Get interface statistics -| | [Documentation] | Dump stats table on VPP node -| | [Arguments] | ${node} -| | Vpp Dump Stats Table | ${node} - -| Get interface ipv6 counter -| | [Documentation] | Return IPv6 statistics for node interface -| | [Arguments] | ${node} | ${interface} -| | ${ipv6_counter}= | Vpp Get Ipv6 Interface Counter | ${node} | ${interface} -| | [Return] | ${ipv6_counter} - | Check ipv4 interface counter | | [Documentation] | Check that ipv4 interface counter has right value | | [Arguments] | ${node} | ${interface} | ${value} -| | ${ipv4_counter}= | Vpp get ipv4 interface counter | ${node} | ${interface} +| | ${ipv4_counter}= | Vpp get ipv4 interface counter | ${node} +| | ... | ${interface} | | Should Be Equal | ${ipv4_counter} | ${value} -| Show statistics on all DUTs -| | [Documentation] | Show VPP statistics on all DUTs -| | Sleep | 10 | Waiting for statistics to be collected -| | ${duts}= | Get Matches | ${nodes} | DUT* -| | :FOR | ${dut} | IN | @{duts} -| | | Show vpp statistics | ${nodes['${dut}']} - -| Show vpp statistics -| | [Documentation] | Show [error, hardware, interface] stats -| | [Arguments] | ${node} -| | Vpp Show Errors | ${node} -| | Vpp Show Hardware Detail | ${node} -| | Vpp Show Runtime | ${node} - | Clear all counters on all DUTs | | [Documentation] | Clear runtime, interface, hardware and error counters | | ... | on all DUTs with VPP instance -| | Clear runtime counters on all DUTs -| | Clear interface counters on all DUTs -| | Clear hardware counters on all DUTs -| | Clear error counters on all DUTs - -| Clear runtime counters on all DUTs -| | [Documentation] | Clear VPP runtime counters on all DUTs -| | ${duts}= | Get Matches | ${nodes} | DUT* -| | :FOR | ${dut} | IN | @{duts} -| | | Vpp clear runtime | ${nodes['${dut}']} - -| Clear interface counters on all DUTs -| | [Documentation] | Clear VPP interface counters on all DUTs -| | ${duts}= | Get Matches | ${nodes} | DUT* -| | :FOR | ${dut} | IN | @{duts} -| | | Vpp clear interface counters | ${nodes['${dut}']} - -| Clear hardware counters on all DUTs -| | [Documentation] | Clear VPP hardware counters on all DUTs -| | ${duts}= | Get Matches | ${nodes} | DUT* -| | :FOR | ${dut} | IN | @{duts} -| | | Vpp clear hardware counters | ${nodes['${dut}']} - -| Clear error counters on all DUTs -| | [Documentation] | Clear VPP errors counters on all DUTs -| | ${duts}= | Get Matches | ${nodes} | DUT* -| | :FOR | ${dut} | IN | @{duts} -| | | Vpp clear errors counters | ${nodes['${dut}']} - -| Show runtime counters on all DUTs -| | [Documentation] | Show VPP runtime counters on all DUTs -| | ${duts}= | Get Matches | ${nodes} | DUT* -| | :FOR | ${dut} | IN | @{duts} -| | | Vpp show runtime | ${nodes['${dut}']} +| | Clear runtime counters on all DUTs | ${nodes} +| | Clear interface counters on all DUTs | ${nodes} +| | Clear hardware counters on all DUTs | ${nodes} +| | Clear error counters on all DUTs | ${nodes} diff --git a/resources/libraries/robot/shared/default.robot b/resources/libraries/robot/shared/default.robot index 48b61e5f86..ddf20405fe 100644 --- a/resources/libraries/robot/shared/default.robot +++ b/resources/libraries/robot/shared/default.robot @@ -23,8 +23,8 @@ | Library | resources.libraries.python.TGSetup | Library | resources.libraries.python.L2Util | Library | resources.libraries.python.Tap -| Library | resources/libraries/python/VppConfigGenerator.py -| Library | resources/libraries/python/VppCounters.py +| Library | resources.libraries.python.VppConfigGenerator +| Library | resources.libraries.python.VppCounters | Library | Collections *** Keywords *** @@ -38,13 +38,6 @@ | | ... | | All TGs Set Interface Default Driver | ${nodes} -| Show VPP version on all DUTs -| | [Documentation] | Show VPP version verbose on all DUTs. -| | ... -| | ${duts}= | Get Matches | ${nodes} | DUT* -| | :FOR | ${dut} | IN | @{duts} -| | | Vpp show version verbose | ${nodes['${dut}']} - | Show Vpp Errors On All DUTs | | [Documentation] | Show VPP errors verbose on all DUTs. | | ... @@ -60,13 +53,6 @@ | | | Vpp api trace save | ${nodes['${dut}']} | | | Vpp api trace dump | ${nodes['${dut}']} -| Show VPP vhost on all DUTs -| | [Documentation] | Show Vhost User on all DUTs. -| | ... -| | ${duts}= | Get Matches | ${nodes} | DUT* -| | :FOR | ${dut} | IN | @{duts} -| | | Vpp Show Vhost | ${nodes['${dut}']} - | Show Bridge Domain Data On All DUTs | | [Documentation] | Show Bridge Domain data on all DUTs. | | ... -- cgit 1.2.3-korg