From 852b10b6724f0ae221e45f1ccb3f8020077b1f33 Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Wed, 9 Jan 2019 13:15:09 +0000 Subject: CSIT-1389 Refactor current keywords for multichaining - CNF (II) Change-Id: Ic6af8ebf59589bea66322fc87a33218c7dc0c132 Signed-off-by: Peter Mikus --- .../robot/performance/performance_setup.robot | 75 ++++++++++------------ resources/libraries/robot/shared/container.robot | 11 ++-- 2 files changed, 38 insertions(+), 48 deletions(-) (limited to 'resources/libraries/robot') diff --git a/resources/libraries/robot/performance/performance_setup.robot b/resources/libraries/robot/performance/performance_setup.robot index a63a7df1c1..4078196372 100644 --- a/resources/libraries/robot/performance/performance_setup.robot +++ b/resources/libraries/robot/performance/performance_setup.robot @@ -468,29 +468,6 @@ | | Run Keyword If | '${crypto_type}' == 'HW_cryptodev' | | ... | Configure kernel module on all DUTs | vfio_pci | force_load=${True} -| Set up performance topology with containers -| | [Documentation] -| | ... | Suite preparation phase that starts containers -| | ... -| | ... | *Arguments:* -| | ... | - chains: Total number of chains. Type: integer -| | ... | - nodeness: Total number of nodes per chain. Type: integer -| | ... -| | ... | *Example:* -| | ... -| | ... | \| Set up performance topology with containers \| 1 \| 1 \| -| | ... -| | [Arguments] | ${chains}=${1} | ${nodeness}=${1} -| | ... -| | Set Suite Variable | @{container_groups} | @{EMPTY} -| | Construct chains of containers on all DUTs | ${chains} | ${nodeness} -| | Acquire all 'CNF' containers -| | Create all 'CNF' containers -| | Configure VPP in all 'CNF' containers -| | Stop VPP service on all DUTs | ${nodes} -| | Install VPP in all 'CNF' containers -| | Start VPP service on all DUTs | ${nodes} - | Set up performance test suite with MEMIF | | [Documentation] | | ... | Append memif_plugin.so to the list of enabled plugins. @@ -601,30 +578,12 @@ | | ... | | Teardown traffic generator | ${tg} -| Tear down 2-node performance topology with container -| | [Documentation] -| | ... | Suite teardown phase with traffic generator teardown and container -| | ... | destroy. -| | ... -| | Teardown traffic generator | ${tg} -| | :FOR | ${group} | IN | @{container_groups} -| | | Destroy all '${group}' containers - | Tear down 3-node performance topology | | [Documentation] | | ... | Suite teardown phase with traffic generator teardown. | | ... | | Teardown traffic generator | ${tg} -| Tear down 3-node performance topology with container -| | [Documentation] -| | ... | Suite teardown phase with traffic generator teardown and container -| | ... | destroy. -| | ... -| | Teardown traffic generator | ${tg} -| | :FOR | ${group} | IN | @{container_groups} -| | | Destroy all '${group}' containers - # Tests setups | Set up performance test @@ -655,6 +614,33 @@ | | Apply Kubernetes resource on all duts | ${nodes} | | ... | pods/contiv-vswitch.yaml +| Set up performance test with containers +| | [Documentation] +| | ... | Common test setup for performance tests with containers +| | ... +| | ... | *Arguments:* +| | ... | - chains: Total number of chains. Type: integer +| | ... | - nodeness: Total number of nodes per chain. Type: integer +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Set up performance test with containers \| 1 \| 1 \| +| | ... +| | [Arguments] | ${chains}=${1} | ${nodeness}=${1} +| | ... +| | Set Test Variable | @{container_groups} | @{EMPTY} +| | Set Test Variable | ${container_group} | CNF +| | Import Library | resources.libraries.python.ContainerUtils.ContainerManager +| | ... | engine=${container_engine} | WITH NAME | ${container_group} +| | Construct chains of containers on all DUTs | ${chains} | ${nodeness} +| | Acquire all '${container_group}' containers +| | 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 service on all DUTs | ${nodes} +| | Append To List | ${container_groups} | ${container_group} + # Tests teardowns | Tear down performance discovery test @@ -700,6 +686,13 @@ | | Show VAT History On All DUTs | ${nodes} | | Show statistics on all DUTs | ${nodes} +| Tear down performance test with container +| | [Documentation] +| | ... | Common test teardown for performance tests which uses containers. +| | ... +| | :FOR | ${container_group} | IN | @{container_groups} +| | | Destroy all '${container_group}' containers + | 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. diff --git a/resources/libraries/robot/shared/container.robot b/resources/libraries/robot/shared/container.robot index e4748dbf60..c39e24cf3a 100644 --- a/resources/libraries/robot/shared/container.robot +++ b/resources/libraries/robot/shared/container.robot @@ -33,9 +33,6 @@ | | [Arguments] | ${chains}=${1} | ${nodeness}=${1} | ${chain_id}=${1} | | ... | ${node_id}=${1} | | ... -| | ${group}= | Set Variable | CNF -| | Import Library | resources.libraries.python.ContainerUtils.ContainerManager -| | ... | engine=${container_engine} | WITH NAME | ${group} | | ${duts}= | Get Matches | ${nodes} | DUT* | | :FOR | ${dut} | IN | @{duts} | | | ${env}= | Create List | DEBIAN_FRONTEND=noninteractive @@ -43,10 +40,10 @@ | | | ${nf_cpus}= | Create network function CPU list | ${dut} | | | ... | chains=${chains} | nodeness=${nodeness} | chain_id=${chain_id} | | | ... | node_id=${node_id} | auto_scale=${True} -| | | Run Keyword | ${group}.Construct container -| | | ... | name=${dut}_${group}${chain_id}${node_id} | node=${nodes['${dut}']} -| | | ... | mnt=${mnt} | env=${env} | cpuset_cpus=${nf_cpus} -| | Append To List | ${container_groups} | ${group} +| | | Run Keyword | ${container_group}.Construct container +| | | ... | name=${dut}_${container_group}${chain_id}${node_id} +| | | ... | node=${nodes['${dut}']} | mnt=${mnt} | env=${env} +| | | ... | cpuset_cpus=${nf_cpus} | Construct chain of containers on all DUTs | | [Documentation] | Construct 1 chain of 1..N CNFs on all DUT nodes. -- cgit 1.2.3-korg