X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fperformance%2Fperformance_setup.robot;h=eef624e50c4cb740b70d8d0160502d3fcec4f13b;hb=5d6479beed22bb3d14a39e9c130946959c13f03e;hp=f1ad973bb89af7bddcc05e82cf07f92a39214591;hpb=54ad6efd342695d0a7dad5380cc989a8d846f518;p=csit.git diff --git a/resources/libraries/robot/performance/performance_setup.robot b/resources/libraries/robot/performance/performance_setup.robot index f1ad973bb8..eef624e50c 100644 --- a/resources/libraries/robot/performance/performance_setup.robot +++ b/resources/libraries/robot/performance/performance_setup.robot @@ -16,6 +16,7 @@ | Library | resources.tools.wrk.wrk | Resource | resources/libraries/robot/performance/performance_configuration.robot | Resource | resources/libraries/robot/performance/performance_utils.robot +| Resource | resources/libraries/robot/tcp/tcp_setup.robot | Documentation | Performance suite keywords - Suite and test setups and | ... | teardowns. @@ -386,6 +387,55 @@ | | Configure VPP in all 'VNF' containers | | Install VPP in all 'VNF' containers +| Set up performance test suite with MEMIF +| | [Documentation] +| | ... | Append memif_plugin.so to the list of enabled plugins. +| | ... +| | Set Suite Variable | @{plugins_to_enable} +| | Append To List | ${plugins_to_enable} | memif_plugin.so + +| Set up performance test suite with NAT +| | [Documentation] +| | ... | Append nat_plugin.so to the list of enabled plugins. +| | ... +| | Set Suite Variable | @{plugins_to_enable} +| | Append To List | ${plugins_to_enable} | nat_plugin.so + +| Set up performance test suite with ACL +| | [Documentation] +| | ... | Append acl_plugin.so to the list of enabled plugins. +| | ... +| | Set Suite Variable | @{plugins_to_enable} +| | Append To List | ${plugins_to_enable} | acl_plugin.so + +| Set up performance test suite with Static SRv6 proxy +| | [Documentation] +| | ... | Append srv6as_plugin.so to the list of enabled plugins. +| | ... +| | Set Suite Variable | @{plugins_to_enable} +| | Append To List | ${plugins_to_enable} | srv6as_plugin.so + +| Set up performance test suite with Dynamic SRv6 proxy +| | [Documentation] +| | ... | Append srv6ad_plugin.so to the list of enabled plugins. +| | ... +| | Set Suite Variable | @{plugins_to_enable} +| | Append To List | ${plugins_to_enable} | srv6ad_plugin.so + +| Set up performance test suite with Masquerading SRv6 proxy +| | [Documentation] +| | ... | Append srv6am_plugin.so to the list of enabled plugins. +| | ... +| | Set Suite Variable | @{plugins_to_enable} +| | Append To List | ${plugins_to_enable} | srv6am_plugin.so + +| Set up performance test suite with LACP mode link bonding +| | [Documentation] +| | ... | Append lacp_plugin.so to the list of enabled plugins. +| | ... +| | Set Suite Variable | @{plugins_to_enable} +| | Append To List | ${plugins_to_enable} | lacp_plugin.so + | Set up 3-node performance topology with wrk and DUT's NIC model | | [Documentation] | | ... | Suite preparation phase that setup default startup configuration of @@ -434,13 +484,13 @@ # Suite teardowns -| Tear down 3-node performance topology +| Tear down 2-node performance topology | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown. | | ... | | Teardown traffic generator | ${tg} -| Tear down 3-node performance topology with container +| Tear down 2-node performance topology with container | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown and container | | ... | destroy. @@ -449,13 +499,13 @@ | | :FOR | ${group} | IN | @{container_groups} | | | Destroy all '${group}' containers -| Tear down 2-node performance topology +| Tear down 3-node performance topology | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown. | | ... | | Teardown traffic generator | ${tg} -| Tear down 2-node performance topology with container +| Tear down 3-node performance topology with container | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown and container | | ... | destroy. @@ -472,6 +522,12 @@ | | Reset VAT History On All DUTs | ${nodes} | | Create base startup configuration of VPP on all DUTs +| Set up tcp performance test +| | [Documentation] | Common test setup for TCP performance tests. +| | ... +| | Reset VAT History On All DUTs | ${nodes} +| | Create base startup configuration of VPP for TCP tests on all DUTs + | Set up performance test with Ligato Kubernetes | | [Documentation] | Common test setup for performance tests with Ligato \ | | ... | Kubernetes. @@ -508,7 +564,8 @@ | | ... | | Remove All Added Ports On All DUTs From Topology | ${nodes} | | Show VAT History On All DUTs | ${nodes} -| | Show statistics on all DUTs | ${nodes} +| | Run Keyword If Test Failed +| | ... | Set Test Variable | ${pkt_trace} | ${True} | | Run Keyword If Test Failed | | ... | Traffic should pass with no loss | ${perf_trial_duration} | ${rate} | | ... | ${framesize} | ${topology_type} | fail_on_loss=${False} @@ -518,14 +575,19 @@ | | ... | | Remove All Added Ports On All DUTs From Topology | ${nodes} | | Show VAT History On All DUTs | ${nodes} -| | Show statistics on all DUTs | ${nodes} | Tear down performance pdrchk test | | [Documentation] | Common test teardown for pdrchk performance tests. | | ... | | Remove All Added Ports On All DUTs From Topology | ${nodes} | | Show VAT History On All DUTs | ${nodes} -| | Show statistics on all DUTs | ${nodes} + +| Tear down performance mrr test +| | [Documentation] | Common test teardown for max-received-rate performance +| | ... | tests. +| | ... +| | Remove All Added Ports On All DUTs From Topology | ${nodes} +| | Show VAT History On All DUTs | ${nodes} | Tear down performance test with wrk | | [Documentation] | Common test teardown for ndrdisc and pdrdisc performance \ @@ -574,6 +636,79 @@ | | Run keyword unless | ${dut2_node}==${None} | | ... | Tear down guest VM with dpdk-testpmd | ${dut2} | ${dut2_vm_refs} +| Tear down mrr test with vhost and VM with dpdk-testpmd +| | [Documentation] | Common test teardown for mrr tests which use +| | ... | vhost(s) and VM(s) with dpdk-testpmd. +| | ... +| | ... | *Arguments:* +| | ... | - dut1_node - Node where to clean qemu. Type: dictionary +| | ... | - dut1_vm_refs - VM references on node. Type: dictionary +| | ... | - dut2_node - Node where to clean qemu. Type: dictionary +| | ... | - dut2_vm_refs - VM references on node. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Tear down performance test with vhost and VM with dpdk-testpmd \ +| | ... | \| ${node['DUT1']} \| ${dut_vm_refs} \ +| | ... | \| ${node['DUT2']} \| ${dut_vm_refs} \| +| | ... +| | [Arguments] | ${dut1_node}=${None} | ${dut1_vm_refs}=${None} +| | ... | ${dut2_node}=${None} | ${dut2_vm_refs}=${None} +| | ... +| | Remove All Added Ports On All DUTs From Topology | ${nodes} +| | Show VAT History On All DUTs | ${nodes} +| | 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} +| | ... | Tear down guest VM with dpdk-testpmd | ${dut2} | ${dut2_vm_refs} + +| Tear down performance test with vhost and VM with dpdk-testpmd and ACL +| | [Documentation] | Common test teardown for performance tests which use +| | ... | vhost(s) and VM(s) with ACL and dpdk-testpmd. +| | ... +| | ... | *Arguments:* +| | ... | - rate - Rate for sending packets. Type: string +| | ... | - framesize - L2 Frame Size [B]. Type: integer +| | ... | - topology_type - Topology type. Type: string +| | ... | - dut1_node - Node where to clean qemu. Type: dictionary +| | ... | - dut1_vm_refs - VM references on node. Type: dictionary +| | ... | - dut2_node - Node where to clean qemu. Type: dictionary +| | ... | - dut2_vm_refs - VM references on node. Type: dictionary +| | ... +| | [Arguments] | ${rate} | ${framesize} | ${topology_type} +| | ... | ${dut1_node}=${None} | ${dut1_vm_refs}=${None} +| | ... | ${dut2_node}=${None} | ${dut2_vm_refs}=${None} +| | ... +| | Tear down performance test with vhost and VM with dpdk-testpmd +| | ... | ${rate} | ${framesize} | ${topology_type} +| | ... | ${dut1_node} | ${dut1_vm_refs} +| | ... | ${dut2_node} | ${dut2_vm_refs} +| | Vpp Log Plugin Acl Settings | ${dut1} +| | Run Keyword If Test Failed | Run Keyword And Ignore Error +| | ... | Vpp Log Plugin Acl Interface Assignment | ${dut1} + +| Tear down mrr test with vhost and VM with dpdk-testpmd and ACL +| | [Documentation] | Common test teardown for mrr tests which use +| | ... | vhost(s) and VM(s) with ACL and dpdk-testpmd. +| | ... +| | ... | *Arguments:* +| | ... | - dut1_node - Node where to clean qemu. Type: dictionary +| | ... | - dut1_vm_refs - VM references on node. Type: dictionary +| | ... | - dut2_node - Node where to clean qemu. Type: dictionary +| | ... | - dut2_vm_refs - VM references on node. Type: dictionary +| | ... +| | [Arguments] | ${dut1_node}=${None} | ${dut1_vm_refs}=${None} +| | ... | ${dut2_node}=${None} | ${dut2_vm_refs}=${None} +| | ... +| | Tear down mrr test with vhost and VM with dpdk-testpmd +| | ... | ${dut1_node} | ${dut1_vm_refs} +| | ... | ${dut2_node} | ${dut2_vm_refs} +| | Vpp Log Plugin Acl Settings | ${dut1} +| | Run Keyword If Test Failed | Run Keyword And Ignore Error +| | ... | Vpp Log Plugin Acl Interface Assignment | ${dut1} + | Tear down performance pdrchk test with vhost and VM with dpdk-testpmd | | [Documentation] | Common test teardown for performance pdrchk tests which \ | | ... | use vhost(s) and VM(s) with dpdk-testpmd. @@ -606,22 +741,49 @@ | | Run keyword unless | ${dut2_node}==${None} | | ... | Tear down guest VM with dpdk-testpmd | ${dut2} | ${dut2_vm_refs} -| Tear down DPDK 3-node performance topology +| Tear down performance mrr test with vhost and VM with dpdk-testpmd +| | [Documentation] | Common test teardown for performance mrr tests which \ +| | ... | use vhost(s) and VM(s) with dpdk-testpmd. +| | ... +| | ... | *Arguments:* +| | ... | - dut1_node - Node where to clean qemu. Type: dictionary +| | ... | - dut1_vm_refs - VM references on node. Type: dictionary +| | ... | - dut2_node - Node where to clean qemu. Type: dictionary +| | ... | - dut2_vm_refs - VM references on node. Type: dictionary +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Tear down performance mrr test with vhost and VM with \ +| | ... | dpdk-testpmd \| ${node['DUT1']} \| ${dut_vm_refs} \| ${node['DUT2']} \ +| | ... | \| ${dut_vm_refs} \| +| | ... +| | [Arguments] | ${dut1_node}=${None} | ${dut1_vm_refs}=${None} +| | ... | ${dut2_node}=${None} | ${dut2_vm_refs}=${None} +| | ... +| | Remove All Added Ports On All DUTs From Topology | ${nodes} +| | Show VAT History On All DUTs | ${nodes} +| | Show VPP vhost 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} +| | ... | Tear down guest VM with dpdk-testpmd | ${dut2} | ${dut2_vm_refs} + +| Tear down DPDK 2-node performance topology | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown. | | ... | Cleanup DPDK test environment. | | ... | | Teardown traffic generator | ${tg} | | Cleanup DPDK Environment | ${dut1} | ${dut1_if1} | ${dut1_if2} -| | Cleanup DPDK Environment | ${dut2} | ${dut2_if1} | ${dut2_if2} -| Tear down DPDK 2-node performance topology +| Tear down DPDK 3-node performance topology | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown. | | ... | Cleanup DPDK test environment. | | ... | | Teardown traffic generator | ${tg} | | Cleanup DPDK Environment | ${dut1} | ${dut1_if1} | ${dut1_if2} +| | Cleanup DPDK Environment | ${dut2} | ${dut2_if1} | ${dut2_if2} | Tear down performance discovery test with NAT | | [Documentation] | Common test teardown for ndrdisc and pdrdisc performance \ @@ -644,6 +806,16 @@ | | Show NAT verbose | ${dut1} | | Show NAT verbose | ${dut2} +| Tear down mrr test with NAT +| | [Documentation] | Common test teardown for mrr performance \ +| | ... | tests with NAT feature used. +| | ... +| | ... | \| Tear down mrr test with NAT \| +| | ... +| | Tear down performance mrr test +| | Show NAT verbose | ${dut1} +| | Show NAT verbose | ${dut2} + | Tear down performance test with ACL | | [Documentation] | Common test teardown for ndrdisc and pdrdisc performance \ | | ... | tests with ACL feature used. @@ -666,6 +838,19 @@ | | Run Keyword If Test Failed | Run Keyword And Ignore Error | | ... | Vpp Log Plugin Acl Interface Assignment | ${dut1} +| Tear down mrr test with ACL +| | [Documentation] | Common test teardown for mrr performance \ +| | ... | tests with ACL feature used. +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Tear down mrr test with ACL \| +| | ... +| | Tear down performance mrr test +| | Vpp Log Plugin Acl Settings | ${dut1} +| | Run Keyword If Test Failed | Run Keyword And Ignore Error +| | ... | Vpp Log Plugin Acl Interface Assignment | ${dut1} + | Tear down performance test with MACIP ACL | | [Documentation] | Common test teardown for ndrdisc and pdrdisc performance \ | | ... | tests with MACIP ACL feature used. @@ -689,6 +874,20 @@ | | Run Keyword And Ignore Error | | ... | Vpp Log Macip Acl Interface Assignment | ${dut1} +| Tear down mrr test with MACIP ACL +| | [Documentation] | Common test teardown for mrr performance \ +| | ... | tests with MACIP ACL feature used. +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Tear down mrr test with MACIP ACL \| +| | ... +| | Tear down performance mrr test +| | Run Keyword If Test Failed | Run Keyword And Ignore Error +| | ... | Vpp Log Macip Acl Settings | ${dut1} +| | Run Keyword And Ignore Error +| | ... | Vpp Log Macip Acl Interface Assignment | ${dut1} + | Tear down performance test with Ligato Kubernetes | | [Documentation] | Common test teardown for ndrdisc and pdrdisc performance \ | | ... | tests with Ligato Kubernetes. @@ -697,4 +896,42 @@ | | ... | Get Kubernetes logs on all DUTs | ${nodes} | csit | | Run Keyword If Test Failed | | ... | Describe Kubernetes resource on all DUTs | ${nodes} | csit -| | Delete Kubernetes resource on all DUTs | ${nodes} | csit \ No newline at end of file +| | Delete Kubernetes resource on all DUTs | ${nodes} | csit + +| Tear down performance test with SRv6 with encapsulation +| | [Documentation] | Common test teardown for ndrdisc and pdrdisc performance \ +| | ... | tests with SRv6 with encapsulation feature used. +| | ... +| | ... | *Arguments:* +| | ... | - rate - Rate for sending packets. Type: string +| | ... | - framesize - L2 Frame Size [B]. Type: integer/string +| | ... | - traffic_profile - Traffic profile. Type: string +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Tear down performance test with SRv6 with encapsulation \ +| | ... | \| 100000pps \| 64 \| ${traffic_profile} \| +| | ... +| | [Arguments] | ${rate} | ${framesize} | ${traffic_profile} +| | ... +| | Tear down performance discovery test | ${rate} | ${framesize} +| | ... | ${traffic_profile} +| | Run Keyword If Test Failed | Show SR Policies on all DUTs | ${nodes} +| | Run Keyword If Test Failed +| | ... | Show SR Steering Policies on all DUTs | ${nodes} +| | Run Keyword If Test Failed | Show SR LocalSIDs on all DUTs | ${nodes} + +| Tear down mrr test with SRv6 with encapsulation +| | [Documentation] | Common test teardown for mrr tests with SRv6 with \ +| | ... | encapsulation feature used. +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Tear down mrr test with SRv6 with encapsulation \| +| | ... +| | Remove All Added Ports On All DUTs From Topology | ${nodes} +| | Show VAT History On All DUTs | ${nodes} +| | Run Keyword If Test Failed | Show SR Policies on all DUTs | ${nodes} +| | Run Keyword If Test Failed +| | ... | Show SR Steering Policies on all DUTs | ${nodes} +| | Run Keyword If Test Failed | Show SR LocalSIDs on all DUTs | ${nodes}