X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fshared%2Fcontainer.robot;h=c8320b750867936edcf0f5e72437144e92e2d4ea;hb=refs%2Fchanges%2F78%2F20278%2F27;hp=d1ec6d2a033a99c66a8ba14f527bc0ef24d19136;hpb=26637ca4fdb026cea585df4c9e6c0fc2c07492ba;p=csit.git diff --git a/resources/libraries/robot/shared/container.robot b/resources/libraries/robot/shared/container.robot index d1ec6d2a03..c8320b7508 100644 --- a/resources/libraries/robot/shared/container.robot +++ b/resources/libraries/robot/shared/container.robot @@ -41,6 +41,13 @@ | | [Arguments] | ${nf_chains}=${1} | ${nf_nodes}=${1} | ${nf_chain}=${1} | | ... | ${nf_node}=${1} | ${auto_scale}=${True} | ${nested}=${False} | | ... +| | ${nf_dtcr_status} | ${value}= | Run Keyword And Ignore Error +| | ... | Variable Should Exist | ${nf_dtcr} +| | ${nf_dtcr}= | Run Keyword If | '${nf_dtcr_status}' == 'PASS' +| | ... | Set Variable | ${nf_dtcr} | ELSE | Set Variable | ${1} +| | ${nf_dtc}= | Run Keyword Unless | ${nested} +| | ... | Set Variable If | ${auto_scale} | ${cpu_count_int} +| | ... | ${nf_dtc} | | ${duts}= | Get Matches | ${nodes} | DUT* | | :FOR | ${dut} | IN | @{duts} | | | ${nf_id}= | Evaluate | (${nf_chain} - ${1}) * ${nf_nodes} + ${nf_node} @@ -56,9 +63,10 @@ | | | ... | ${root}/usr/share/vpp/:/usr/share/vpp/ | | | ${nf_cpus}= | Set Variable | ${None} | | | ${nf_cpus}= | Run Keyword Unless | ${nested} -| | | ... | Create network function CPU list | ${dut} -| | | ... | chains=${nf_chains} | nodeness=${nf_nodes} | chain_id=${nf_chain} -| | | ... | node_id=${nf_node} | auto_scale=${auto_scale} +| | | ... | Get Affinity NF | ${nodes} | ${dut} +| | | ... | nf_chains=${nf_chains} | nf_nodes=${nf_nodes} +| | | ... | nf_chain=${nf_chain} | nf_node=${nf_node} +| | | ... | vs_dtc=${cpu_count_int} | nf_dtc=${nf_dtc} | nf_dtcr=${nf_dtcr} | | | &{cont_args}= | Create Dictionary | | | ... | name=${dut}_${container_group}${nf_id}${uuid} | | | ... | node=${nodes['${dut}']} | mnt=${mnt} | env=${env} @@ -173,3 +181,76 @@ | | ... | all DUT nodes. | | ... | | Run Keyword | ${group}.Destroy all containers + +| Start containers for performance test +| | [Documentation] +| | ... | Start containers for performance test. +| | ... +| | ... | *Arguments:* +| | ... | - nf_chains: Total number of chains. Type: integer +| | ... | - nf_nodes: Total number of nodes per chain. Type: integer +| | ... | - auto_scale - If True, use same amount of Dataplane threads for +| | ... | network function as DUT, otherwise use single physical core for +| | ... | every network function. Type: boolean +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Start containers for performance test \| 1 \| 1 \| +| | ... +| | [Arguments] | ${nf_chains}=${1} | ${nf_nodes}=${1} | ${auto_scale}=${True} +| | ... +| | Set Test Variable | @{container_groups} | @{EMPTY} +| | Set Test Variable | ${container_group} | CNF +| | Set Test Variable | ${nf_nodes} +| | Import Library | resources.libraries.python.ContainerUtils.ContainerManager +| | ... | engine=${container_engine} | WITH NAME | ${container_group} +| | Construct chains of containers on all DUTs | ${nf_chains} | ${nf_nodes} +| | ... | auto_scale=${auto_scale} +| | Acquire all '${container_group}' containers +| | Create all '${container_group}' containers +| | Configure VPP in all '${container_group}' containers +| | Stop VPP service on all DUTs | ${nodes} +| | Start VPP in all '${container_group}' containers +| | Restart VPP service on all DUTs | ${nodes} +| | Verify VPP on all DUTs | ${nodes} +| | Save VPP PIDs +| | Append To List | ${container_groups} | ${container_group} + +| Start containers for device test +| | [Documentation] +| | ... | Start containers for device test. +| | ... +| | ... | *Arguments:* +| | ... | - nf_chains: Total number of chains (Optional). Type: integer, default +| | ... | value: ${1} +| | ... | - nf_nodes: Total number of nodes per chain (Optional). Type: integer, +| | ... | default value: ${1} +| | ... +| | ... | _NOTE:_ This KW sets following test case variables: +| | ... | - dcr_uuid - Parent container UUID. +| | ... | - dcr_root - Parent container overlay. +| | ... +| | ... | *Example:* +| | ... +| | ... | \| Set up functional test with containers \| 1 \| 1 \| +| | ... +| | [Arguments] | ${nf_chains}=${1} | ${nf_nodes}=${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} +| | ... +| | ${dcr_uuid}= | Get Environment Variable | CSIT_DUT1_UUID +| | ${dcr_root}= | Run Keyword | Get Docker Mergeddir | ${nodes['DUT1']} +| | ... | ${dcr_uuid} +| | Set Test Variable | ${dcr_uuid} +| | Set Test Variable | ${dcr_root} +| | ... +| | Construct chains of containers on all DUTs | ${nf_chains} | ${nf_nodes} +| | ... | nested=${True} +| | Acquire all '${container_group}' containers +| | Create all '${container_group}' containers +| | Configure VPP in all '${container_group}' containers +| | Start VPP in all '${container_group}' containers +| | Append To List | ${container_groups} | ${container_group}