X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fshared%2Ftest_teardown.robot;h=6bfb532fbed569bf1a8896839c4ddcbe15ffedbd;hp=8ba914b946d056216603a0f9d36980767b99019c;hb=03984cf5e2affcb715559fad5f68b8ba165ff8cd;hpb=c4528bcd137c0813d34b1b248bc92670736e78e6 diff --git a/resources/libraries/robot/shared/test_teardown.robot b/resources/libraries/robot/shared/test_teardown.robot index 8ba914b946..6bfb532fbe 100644 --- a/resources/libraries/robot/shared/test_teardown.robot +++ b/resources/libraries/robot/shared/test_teardown.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2022 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: @@ -14,107 +14,202 @@ """Keywords used in test teardowns.""" *** Settings *** -| Resource | resources/libraries/robot/shared/container.robot +| Resource | resources/libraries/robot/shared/default.robot | Library | resources.libraries.python.PapiHistory | Library | resources.libraries.python.topology.Topology | Variables | resources/libraries/python/Constants.py -| ... +| | Documentation | Test teardown keywords. *** Keywords *** | Tear down test | | [Documentation] -| | ... | Common test teardown for tests. -| | ... +| | ... | Common test teardown for VPP tests. +| | | | ... | *Arguments:* | | ... | - ${actions} - Additional teardown action. Type: list -| | ... +| | | | [Arguments] | @{actions} -| | ... +| | | | Remove All Added Ports On All DUTs From Topology | ${nodes} | | Show PAPI History On All DUTs | ${nodes} | | Run Keyword If Test Failed +| | ... | Show Log On All DUTs | ${nodes} +| | Run Keyword If Test Failed | | ... | Get Core Files on All Nodes | ${nodes} | | Run Keyword If Test Failed | | ... | Verify VPP PID in Teardown -| | :FOR | ${action} | IN | @{actions} +| | Run Keyword If Test Failed +| | ... | VPP Show Memory On All DUTs | ${nodes} +| | FOR | ${action} | IN | @{actions} | | | Run Keyword | Additional Test Tear Down Action For ${action} +| | END | | Clean Sockets On All Nodes | ${nodes} +| | Finalize Test Export -| Additional Test Tear Down Action For performance +| Tear down test raw | | [Documentation] -| | ... | Additional teardown for tests which uses performance measurement. -| | ... +| | ... | Common test teardown for raw tests. +| | +| | ... | *Arguments:* +| | ... | - ${actions} - Additional teardown action. Type: list +| | +| | [Arguments] | @{actions} +| | +| | Remove All Added Ports On All DUTs From Topology | ${nodes} +| | FOR | ${action} | IN | @{actions} +| | | Run Keyword | Additional Test Tear Down Action For ${action} +| | END +| | Clean Sockets On All Nodes | ${nodes} +| | Finalize Test Export + +# Additional Test Tear Down Actions in alphabetical order +| Additional Test Tear Down Action For acl +| | [Documentation] +| | ... | Additional teardown for tests which uses ACL feature. +| | +| | Run Keyword If Test Failed +| | ... | Vpp Log Plugin Acl Settings | ${dut1} | | Run Keyword If Test Failed -| | ... | Send traffic at specified rate | ${PERF_TRIAL_DURATION} | 10000pps -| | ... | ${frame_size} | ${traffic_profile} | pkt_trace=${True} +| | ... | Vpp Log Plugin Acl Interface Assignment | ${dut1} -| Additional Test Tear Down Action For packet_trace +| Additional Test Tear Down Action For classify | | [Documentation] -| | ... | Additional teardown for tests which uses packet trace. -| | ... -| | Show Packet Trace on All DUTs | ${nodes} +| | ... | Additional teardown for tests which uses classify tables. +| | +| | Run Keyword If Test Failed +| | ... | Show Classify Tables Verbose on all DUTs | ${nodes} | Additional Test Tear Down Action For container | | [Documentation] | | ... | Additional teardown for tests which uses containers. -| | ... -| | :FOR | ${container_group} | IN | @{container_groups} +| | +| | FOR | ${container_group} | IN | @{container_groups} | | | Destroy all '${container_group}' containers +| | END -| Additional Test Tear Down Action For vhost +| Additional Test Tear Down Action For nginx | | [Documentation] -| | ... | Additional teardown for tests which uses vhost(s) and VM(s). -| | ... -| | Show VPP vhost on all DUTs | ${nodes} -| | ${vnf_status} | ${value}= | Run Keyword And Ignore Error -| | ... | Keyword Should Exist | vnf_manager.Kill All VMs -| | Run Keyword If | '${vnf_status}' == 'PASS' | vnf_manager.Kill All VMs +| | ... | Additional teardown for tests which uses nginx. +| | +| | FOR | ${dut} | IN | @{duts} +| | | Kill Program | ${nodes['${dut}']} | nginx +| | END -| Additional Test Tear Down Action For nat +| Additional Test Tear Down Action For det44 | | [Documentation] -| | ... | Additional teardown for tests which uses NAT feature. -| | ... -| | :FOR | ${dut} | IN | @{duts} +| | ... | Additional teardown for tests which uses DET44 feature. +| | +| | FOR | ${dut} | IN | @{duts} | | | Run Keyword If Test Failed -| | | ... | Show NAT verbose | ${nodes['${dut}']} +| | | ... | Show DET44 verbose | ${nodes['${dut}']} +| | END -| Additional Test Tear Down Action For namespace +| Additional Test Tear Down Action For geneve4 | | [Documentation] -| | ... | Additional teardown for tests which uses namespace. -| | ... -| | :FOR | ${dut} | IN | @{duts} -| | | Clean Up Namespaces | ${nodes['${dut}']} +| | ... | Additional teardown for tests which uses GENEVE IPv4 tunnel. +| | +| | FOR | ${dut} | IN | @{duts} +| | | Run Keyword If Test Failed +| | | ... | Show Geneve Tunnel Data | ${nodes['${dut}']} +| | END + +| Additional Test Tear Down Action For iPerf3 +| | [Documentation] +| | ... | Additional teardown for test which uses iPerf3 server. +| | +| | Run Keyword And Ignore Error +| | ... | Teardown iPerf | ${nodes['${iperf_server_node}']} + +| Additional Test Tear Down Action For ipsec_sa +| | [Documentation] +| | ... | Additional teardown for tests which uses IPSec security association. +| | +| | FOR | ${dut} | IN | @{duts} +| | | Run Keyword If Test Failed +| | | ... | Show Ipsec Security Association | ${nodes['${dut}']} +| | END + +| Additional Test Tear Down Action For ipsec_all +| | [Documentation] +| | ... | Additional teardown for tests which use varied IPSec configuration. +| | ... | Databases. +| | +| | FOR | ${dut} | IN | @{duts} +| | | Run Keyword If Test Failed +| | | ... | Vpp Ipsec Show All | ${nodes['${dut}']} +| | END | Additional Test Tear Down Action For linux_bridge | | [Documentation] | | ... | Additional teardown for tests which uses linux_bridge. -| | ... -| | :FOR | ${dut} | IN | @{duts} +| | +| | FOR | ${dut} | IN | @{duts} | | | Linux Del Bridge | ${nodes['${dut}']} | ${bid_TAP} - -| Additional Test Tear Down Action For acl -| | [Documentation] -| | ... | Additional teardown for tests which uses ACL feature. -| | ... -| | Run Keyword If Test Failed -| | ... | Vpp Log Plugin Acl Settings | ${dut1} -| | Run Keyword If Test Failed -| | ... | Vpp Log Plugin Acl Interface Assignment | ${dut1} +| | END | Additional Test Tear Down Action For macipacl | | [Documentation] | | ... | Additional teardown for tests which uses MACIP ACL feature. -| | ... +| | | | Run Keyword If Test Failed | | ... | Vpp Log Macip Acl Settings | ${dut1} | | Run Keyword If Test Failed | | ... | Vpp Log Macip Acl Interface Assignment | ${dut1} +| Additional Test Tear Down Action For namespace +| | [Documentation] +| | ... | Additional teardown for tests which uses namespace. +| | +| | FOR | ${dut} | IN | @{duts} +| | | Clean Up Namespaces | ${nodes['${dut}']} +| | END + +| Additional Test Tear Down Action For nat-ed +| | [Documentation] +| | ... | Additional teardown for tests which uses NAT feature. +| | +| | FOR | ${dut} | IN | @{duts} +| | | Show NAT44 Config | ${nodes['${dut}']} +| | | Show NAT44 Summary | ${nodes['${dut}']} +| | | Show NAT Base Data | ${nodes['${dut}']} +| | | Vpp Get Ip Table Summary | ${nodes['${dut}']} +| | END + +| Additional Test Tear Down Action For packet_trace +| | [Documentation] +| | ... | Additional teardown for tests which uses packet trace. +| | +| | Show Packet Trace on All DUTs | ${nodes} + +| Additional Test Tear Down Action For telemetry +| | [Documentation] +| | ... | Additional teardown for tests which uses telemetry reads. +| | +| | Run Telemetry On All DUTs +| | ... | ${nodes} | profile=${telemetry_profile}.yaml + +| Additional Test Tear Down Action For performance +| | [Documentation] +| | ... | Additional teardown for tests which uses performance measurement. +| | ... | Optionally, call \${resetter} (if defined) to reset DUT state. +| | +| | Run Keyword If Test Passed | Return From Keyword +| | ${use_latency} = | Get Use Latency +| | ${rate_for_teardown} = | Get Rate For Teardown +| | Call Resetter +| | Set Test Variable | \${extended_debug} | ${True} +| | Send traffic at specified rate +| | ... | trial_duration=${1.0} +| | ... | rate=${rate_for_teardown} +| | ... | trial_multiplicity=${1} +| | ... | use_latency=${use_latency} +| | ... | duration_limit=${1.0} + | Additional Test Tear Down Action For srv6 | | [Documentation] | | ... | Additional teardown for tests which uses SRv6. -| | ... +| | | | Run Keyword If Test Failed | | ... | Show SR Policies on all DUTs | ${nodes} | | Run Keyword If Test Failed @@ -122,12 +217,19 @@ | | Run Keyword If Test Failed | | ... | Show SR LocalSIDs on all DUTs | ${nodes} -| Additional Test Tear Down Action For ligato +| Additional Test Tear Down Action For vhost | | [Documentation] -| | ... | Additional teardown for performance tests with Ligato. -| | ... -| | Run Keyword If Test Failed -| | ... | 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 +| | ... | Additional teardown for tests which uses vhost(s) and VM(s). +| | +| | Show VPP vhost on all DUTs | ${nodes} +| | ${vnf_status} | ${value}= | Run Keyword And Ignore Error +| | ... | Keyword Should Exist | vnf_manager.Kill All VMs +| | Run Keyword If | '${vnf_status}' == 'PASS' | vnf_manager.Kill All VMs + +| Additional Test Tear Down Action For vhost-pt +| | [Documentation] +| | ... | Additional teardown for tests which uses pci-passtrough and VM(s). +| | +| | ${vnf_status} | ${value}= | Run Keyword And Ignore Error +| | ... | Keyword Should Exist | vnf_manager.Kill All VMs +| | Run Keyword If | '${vnf_status}' == 'PASS' | vnf_manager.Kill All VMs