X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fperformance%2Fperformance_setup.robot;h=f484eeb71f42ef1a366afea9cfd8b55178a2d6f0;hb=af05b72edc65aaecd6efc635eef9902a32d247ee;hp=a70742f448f97e82d69ffaf4e59457ca00d0e9c4;hpb=75e2e7bbbfc1da40f8c742870ec12204846c9bf9;p=csit.git diff --git a/resources/libraries/robot/performance/performance_setup.robot b/resources/libraries/robot/performance/performance_setup.robot index a70742f448..f484eeb71f 100644 --- a/resources/libraries/robot/performance/performance_setup.robot +++ b/resources/libraries/robot/performance/performance_setup.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. +# Copyright (c) 2019 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -199,6 +199,12 @@ | | Set Suite Variable | ${dut2_if1_2} | | Set Suite Variable | ${dut2_if2} +| Tear down guest VM +| | [Documentation] +| | ... | Stop all qemu processes running on nodes. +| | ... +| | Run Keyword | vnf_manager.Kill All VMs + | Tear down guest VM with dpdk-testpmd | | [Documentation] | | ... | Stop all qemu processes with dpdk-testpmd running on ${dut_node}. @@ -221,32 +227,6 @@ | | | ${vm}= | Get From Dictionary | ${dut_vm_refs} | ${vm_name} | | | ${index}= | Evaluate | ${index} + 1 | | | Dpdk Testpmd Stop | ${vm} -| | | Run Keyword | ${vm_name}.Qemu Set Node | ${dut_node} -| | | Run Keyword | ${vm_name}.Qemu Clear Socks -| | | Run Keyword If | '${index}' == '${vms_number}' | ${vm_name}.Qemu Kill All - -| Tear down guest VM -| | [Documentation] -| | ... | Stop all qemu processes running on ${dut_node}. -| | ... | Argument is dictionary of all qemu nodes running with its names. -| | ... -| | ... | *Arguments:* -| | ... | - dut_node - Node where to clean qemu. Type: dictionary -| | ... | - dut_vm_refs - VM references on node. Type: dictionary -| | ... -| | ... | *Example:* -| | ... -| | ... | \| Tear down guest VM \| ${node['DUT1']} \ -| | ... | \| ${dut_vm_refs} \| -| | ... -| | [Arguments] | ${dut_node} | ${dut_vm_refs} -| | ${vms_number}= | Get Length | ${dut_vm_refs} -| | ${index}= | Set Variable | ${0} -| | :FOR | ${vm_name} | IN | @{dut_vm_refs} -| | | ${vm}= | Get From Dictionary | ${dut_vm_refs} | ${vm_name} -| | | ${index}= | Evaluate | ${index} + 1 -| | | Run Keyword | ${vm_name}.Qemu Set Node | ${dut_node} -| | | Run Keyword | ${vm_name}.Qemu Clear Socks | | | Run Keyword If | '${index}' == '${vms_number}' | ${vm_name}.Qemu Kill All # Suite setups @@ -467,24 +447,25 @@ | | ... | *Arguments:* | | ... | - topology_type - Topology type. Type: string | | ... | - nic_model - Interface model. Type: string -| | ... | - crypto_type - Crypto device type - HW_cryptodev or SW_cryptodev -| | ... | (Optional). Type: string, default value: HW_cryptodev +| | ... | - crypto_type - Crypto device type - HW_DH895xcc or HW_C3xxx or +| | ... | SW_cryptodev. Type: string, default value: HW_DH895xcc | | ... | | ... | *Example:* | | ... | | ... | \| Set up IPSec performance test suite \| L2 \ -| | ... | \| Intel-X520-DA2 \| +| | ... | \| Intel-X520-DA2 \| HW_DH895xcc \| | | ... -| | [Arguments] | ${topology_type} | ${nic_model} | ${crypto_type}=HW_cryptodev +| | [Arguments] | ${topology_type} | ${nic_model} | ${crypto_type}=HW_DH895xcc | | ... | | Set up 3-node performance topology with DUT's NIC model | | ... | ${topology_type} | ${nic_model} +| | Return From Keyword If | '${crypto_type}' == 'SW_cryptodev' | | ${numvfs}= | Set Variable If -| | ... | '${crypto_type}' == 'HW_cryptodev' | ${32} -| | ... | '${crypto_type}' == 'SW_cryptodev' | ${0} -| | Configure crypto device on all DUTs | force_init=${True} | numvfs=${numvfs} -| | Run Keyword If | '${crypto_type}' == 'HW_cryptodev' -| | ... | Configure kernel module on all DUTs | vfio_pci | force_load=${True} +| | ... | '${crypto_type}' == 'HW_DH895xcc' | ${32} +| | ... | '${crypto_type}' == 'HW_C3xxx' | ${16} +| | Configure crypto device on all DUTs | ${crypto_type} | numvfs=${numvfs} +| | ... | force_init=${True} +| | Configure kernel module on all DUTs | vfio_pci | force_load=${True} | Set up performance test suite with MEMIF | | [Documentation] @@ -607,13 +588,13 @@ | Set up performance test | | [Documentation] | Common test setup for performance tests. | | ... -| | Reset VAT History On All DUTs | ${nodes} +| | Reset PAPI 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} +| | Reset PAPI History On All DUTs | ${nodes} | | Create base startup configuration of VPP for TCP tests on all DUTs | Set up performance test with Ligato Kubernetes @@ -660,15 +641,22 @@ | | Create all '${container_group}' containers | | Configure VPP in all '${container_group}' containers | | Stop VPP service on all DUTs | ${nodes} -| | Install VPP in all '${container_group}' containers +| | Start VPP in all '${container_group}' containers | | Start VPP service on all DUTs | ${nodes} | | Append To List | ${container_groups} | ${container_group} # Tests teardowns +| Tear down performance test +| | [Documentation] | Common test teardown for performance tests. +| | ... +| | Remove All Added Ports On All DUTs From Topology | ${nodes} +| | Show PAPI History On All DUTs | ${nodes} +| | Get Core Files on All Nodes | ${nodes} +| | Set Test Variable | ${pkt_trace} | ${True} + | Tear down performance discovery test -| | [Documentation] | Common test teardown for ndrdisc and pdrdisc performance \ -| | ... | tests. +| | [Documentation] | Common test teardown for ndrpdr performance tests. | | ... | | ... | *Arguments:* | | ... | - rate - Rate for sending packets. Type: string @@ -682,10 +670,8 @@ | | ... | | [Arguments] | ${rate} | ${framesize} | ${topology_type} | | ... -| | Remove All Added Ports On All DUTs From Topology | ${nodes} -| | Show VAT History On All DUTs | ${nodes} -| | Run Keyword If Test Failed -| | ... | Set Test Variable | ${pkt_trace} | ${True} +| | Tear down performance test +| | 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} @@ -694,8 +680,7 @@ | | [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 | Tear down performance test with wrk | | [Documentation] | Common test teardown for ndrdisc and pdrdisc performance \ @@ -705,9 +690,7 @@ | | ... | | ... | \| Tear down performance test with wrk \| | | ... -| | 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 test | Tear down performance test with container | | [Documentation] @@ -716,6 +699,22 @@ | | :FOR | ${container_group} | IN | @{container_groups} | | | Destroy all '${container_group}' containers +| Tear down performance test with vhost +| | [Documentation] | Common test teardown for performance tests which use +| | ... | vhost(s) and VM(s). +| | ... +| | ... | *Arguments:* +| | ... | - rate - Rate for sending packets. Type: string +| | ... | - framesize - L2 Frame Size [B]. Type: integer +| | ... | - topology_type - Topology type. Type: string +| | ... +| | [Arguments] | ${rate} | ${framesize} | ${topology_type} +| | ... +| | Tear down performance discovery test | ${rate} | ${framesize} +| | ... | ${topology_type} +| | Show VPP vhost on all DUTs | ${nodes} +| | Tear down guest VM + | Tear down performance test with vhost and VM with dpdk-testpmd | | [Documentation] | Common test teardown for performance tests which use | | ... | vhost(s) and VM(s) with dpdk-testpmd. @@ -739,19 +738,23 @@ | | ... | ${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} +| | Tear down performance discovery test | ${rate} | ${framesize} +| | ... | ${topology_type} | | 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} | | 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 mrr test with vhost and VM with dpdk-testpmd +| Tear down performance mrr test with vhost +| | [Documentation] | Common test teardown for mrr tests which use +| | ... | vhost(s) and VM(s). +| | ... +| | Tear down performance mrr test +| | Show VPP vhost on all DUTs | ${nodes} +| | Tear down guest VM + +| Tear down performance 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. | | ... @@ -770,10 +773,8 @@ | | [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} +| | Tear down performance mrr test | | 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} @@ -817,72 +818,13 @@ | | [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 +| | Tear down performance mrr test with vhost and VM with dpdk-testpmd | | ... | ${dut1_node} | ${dut1_vm_refs} | | ... | ${dut2_node} | ${dut2_vm_refs} | | Run Keyword If Test Failed | 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. -| | ... -| | ... | *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 -| | ... -| | ... | *Example:* -| | ... -| | ... | \| Tear down performance pdrchk test with vhost and VM with \ -| | ... | dpdk-testpmd \| 4.0mpps \| 64 \| 3-node-IPv4 \| ${node['DUT1']} \ -| | ... | \| ${dut_vm_refs} \| ${node['DUT2']} \| ${dut_vm_refs} \| -| | ... -| | [Arguments] | ${rate} | ${framesize} | ${topology_type} -| | ... | ${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 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. @@ -1044,8 +986,7 @@ | | ... | | ... | \| 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} +| | Tear down performance mrr test | | 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}