X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Frobot%2Fshared%2Fdefault.robot;h=0a3efc285a31eb27ba1cb43e1f1e85d195e18259;hb=14a71b74b414df7616ccb5ada3d50ecb90d96bae;hp=3b8f2804c1cd7b218863fcc5abbf9f57f7398dfc;hpb=3d5a75be5a88931690898e0fe52e4f48bc67c5ed;p=csit.git diff --git a/resources/libraries/robot/shared/default.robot b/resources/libraries/robot/shared/default.robot index 3b8f2804c1..0a3efc285a 100644 --- a/resources/libraries/robot/shared/default.robot +++ b/resources/libraries/robot/shared/default.robot @@ -1,4 +1,4 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. +# Copyright (c) 2020 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: @@ -58,7 +58,6 @@ | Resource | resources/libraries/robot/overlay/lisp.robot | Resource | resources/libraries/robot/overlay/lispgpe.robot | Resource | resources/libraries/robot/overlay/lisp_api.robot -| Resource | resources/libraries/robot/performance/performance_configuration.robot | Resource | resources/libraries/robot/performance/performance_limits.robot | Resource | resources/libraries/robot/performance/performance_utils.robot | Resource | resources/libraries/robot/shared/interfaces.robot @@ -68,7 +67,6 @@ | Resource | resources/libraries/robot/shared/suite_setup.robot | Resource | resources/libraries/robot/shared/test_teardown.robot | Resource | resources/libraries/robot/shared/test_setup.robot -| Resource | resources/libraries/robot/shared/testing_path.robot | Resource | resources/libraries/robot/shared/traffic.robot | Resource | resources/libraries/robot/shared/vm.robot @@ -113,6 +111,31 @@ | | Verify Kernel Module on All DUTs | ${nodes} | ${module} | | ... | force_load=${force_load} +| Get Keyname for DUT +| | [Documentation] +| | ... | Get the Keyname for the DUT in the keyname list. +| | ... | Returns lowercase keyname value. +| | +| | ... | *Arguments:* +| | ... | - dutx - DUT to find keyname. Type: dict +| | ... | - dut_keys - DUT Keynames to search. Type: list +| | +| | ... | *Example:* +| | +| | ... | \| Get Keyname for DUT \| ${dutx} \| ${duts} \| +| | +| | [Arguments] | ${dutx} | ${dut_keys} +| | +| | FOR | ${key} | IN | @{dut_keys} +| | | ${found_key} | ${value}= | Run Keyword and Ignore Error +| | | ... | Dictionaries Should Be Equal | ${nodes['${key}']} | ${dutx} +| | | Run Keyword If | '${found_key}' == 'PASS' | EXIT FOR LOOP +| | END +| | Run Keyword If | '${found_key}' != 'PASS' +| | ... | Fail | Keyname for ${dutx} not found +| | ${keyname}= | Convert To Lowercase | ${key} +| | Return From Keyword | ${keyname} + | Create base startup configuration of VPP on all DUTs | | [Documentation] | Create base startup configuration of VPP to all DUTs. | | @@ -163,18 +186,8 @@ | | ${rxd_count_int}= | Set variable | ${rxd} | | ${txd_count_int}= | Set variable | ${txd} | | FOR | ${dut} | IN | @{duts} -| | | ${if1_status} | ${value}= | Run Keyword And Ignore Error -| | | ... | Variable Should Exist | ${${dut}_if1} -| | | @{if_list}= | Run Keyword If | '${if1_status}' == 'PASS' -| | | ... | Create List | ${${dut}_if1} -| | | ... | ELSE | Create List | ${${dut}_if1_1} | ${${dut}_if1_2} -| | | ${if2_status} | ${value}= | Run Keyword And Ignore Error -| | | ... | Variable Should Exist | ${${dut}_if2} -| | | Run Keyword If | '${if2_status}' == 'PASS' -| | | ... | Append To List | ${if_list} | ${${dut}_if2} -| | | ... | ELSE -| | | ... | Append To List | ${if_list} | ${${dut}_if2_1} | ${${dut}_if2_2} -| | | ${numa}= | Get interfaces numa node | ${nodes['${dut}']} | @{if_list} +| | | ${numa}= | Get interfaces numa node +| | | ... | ${nodes['${dut}']} | @{${dut}_pf_pci} | | | ${smt_used}= | Is SMT enabled | ${nodes['${dut}']['cpuinfo']} | | | ${skip_cnt}= | Set variable | ${CPU_CNT_SYSTEM} | | | ${cpu_main}= | Cpu list per node str | ${nodes['${dut}']} | ${numa} @@ -193,13 +206,16 @@ | | | ${rxq_count_int}= | Run keyword if | ${rxq_count_int} == 0 | | | ... | Set variable | ${1} | | | ... | ELSE | Set variable | ${rxq_count_int} -| | | Run keyword if | ${cpu_count_int} > 0 -| | | ... | ${dut}.Add CPU Main Core | ${cpu_main} +| | | Run Keyword | ${dut}.Add CPU Main Core | ${cpu_main} | | | Run keyword if | ${cpu_count_int} > 0 | | | ... | ${dut}.Add CPU Corelist Workers | ${cpu_wt} | | | Run keyword if | ${smt_used} | | | ... | Run keyword | ${dut}.Add Buffers Per Numa | ${215040} | ELSE | | | ... | Run keyword | ${dut}.Add Buffers Per Numa | ${107520} +| | | ${ipsec} | Get Match Count | ${TEST TAGS} | IPSEC +| | | ... | case_insensitive=True +| | | Run keyword if | ${ipsec} and ${jumbo} +| | | ... | ${dut}.Add Buffers Default Data Size | 9200 | | | Run keyword if | ${thr_count_int} > 1 | | | ... | Set Tags | MTHREAD | ELSE | Set Tags | STHREAD | | | Set Tags | ${thr_count_int}T${cpu_count_int}C @@ -211,80 +227,23 @@ | | Set Test Variable | ${rxd_count_int} | | Set Test Variable | ${txd_count_int} -| Add DPDK pci devices to all DUTs -| | [Documentation] -| | ... | Add PCI devices to VPP configuration file. -| | -| | FOR | ${dut} | IN | @{duts} -| | | ${if1_status} | ${value}= | Run Keyword And Ignore Error -| | | ... | Variable Should Exist | ${${dut}_if1} -| | | ${if1_pci}= | Run Keyword If | '${if1_status}' == 'PASS' -| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1} -| | | ${if1_1_pci}= | Run Keyword Unless | '${if1_status}' == 'PASS' -| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1_1} -| | | ${if1_2_pci}= | Run Keyword Unless | '${if1_status}' == 'PASS' -| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if1_2} -| | | ${if2_status} | ${value}= | Run Keyword And Ignore Error -| | | ... | Variable Should Exist | ${${dut}_if2} -| | | ${if2_pci}= | Run Keyword If | '${if2_status}' == 'PASS' -| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if2} -| | | ${if2_1_pci}= | Run Keyword Unless | '${if2_status}' == 'PASS' -| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if2_1} -| | | ${if2_2_pci}= | Run Keyword Unless | '${if2_status}' == 'PASS' -| | | ... | Get Interface PCI Addr | ${nodes['${dut}']} | ${${dut}_if2_2} -| | | @{pci_devs}= | Run Keyword If | '${if1_status}' == 'PASS' -| | | ... | Create List | ${if1_pci} -| | | ... | ELSE -| | | ... | Create List | ${if1_1_pci} | ${if1_2_pci} -| | | Run Keyword If | '${if2_status}' == 'PASS' -| | | ... | Append To List | ${pci_devs} | ${if2_pci} -| | | ... | ELSE -| | | ... | Append To List | ${pci_devs} | ${if2_1_pci} | ${if2_2_pci} -| | | Run keyword | ${dut}.Add DPDK Dev | @{pci_devs} -| | | Run Keyword If | '${if1_status}' == 'PASS' -| | | ... | Set Test Variable | ${${dut}_if1_pci} | ${if1_pci} -| | | Run Keyword Unless | '${if1_status}' == 'PASS' -| | | ... | Set Test Variable | ${${dut}_if1_1_pci} | ${if1_1_pci} -| | | Run Keyword Unless | '${if1_status}' == 'PASS' -| | | ... | Set Test Variable | ${${dut}_if1_2_pci} | ${if1_2_pci} -| | | Run Keyword If | '${if2_status}' == 'PASS' -| | | ... | Set Test Variable | ${${dut}_if2_pci} | ${if2_pci} -| | | Run Keyword Unless | '${if2_status}' == 'PASS' -| | | ... | Set Test Variable | ${${dut}_if2_1_pci} | ${if2_1_pci} -| | | Run Keyword Unless | '${if2_status}' == 'PASS' -| | | ... | Set Test Variable | ${${dut}_if2_2_pci} | ${if2_2_pci} -| | END - -| Add DPDK no PCI to all DUTs -| | [Documentation] | Add DPDK no-pci to VPP startup configuration to all DUTs. -| | -| | FOR | ${dut} | IN | @{duts} -| | | Run keyword | ${dut}.Add DPDK no PCI -| | END - -| Add VLAN strip offload switch off between DUTs in 3-node single link topology +| Add DPDK VLAN strip offload switch off between DUTs | | [Documentation] | | ... | Add VLAN Strip Offload switch off on PCI devices between DUTs to VPP | | ... | configuration file. | | -| | Run keyword | DUT1.Add DPDK Dev Parameter | ${dut1_if2_pci} -| | ... | vlan-strip-offload | off -| | Run keyword | DUT2.Add DPDK Dev Parameter | ${dut2_if1_pci} -| | ... | vlan-strip-offload | off - -| Add VLAN strip offload switch off between DUTs in 3-node double link topology -| | [Documentation] -| | ... | Add VLAN Strip Offload switch off on PCI devices between DUTs to VPP -| | ... | configuration file -| | -| | Run keyword | DUT1.Add DPDK Dev Parameter | ${dut1_if2_1_pci} -| | ... | vlan-strip-offload | off -| | Run keyword | DUT1.Add DPDK Dev Parameter | ${dut1_if2_2_pci} -| | ... | vlan-strip-offload | off -| | Run keyword | DUT2.Add DPDK Dev Parameter | ${dut2_if1_1_pci} -| | ... | vlan-strip-offload | off -| | Run keyword | DUT2.Add DPDK Dev Parameter | ${dut2_if1_2_pci} -| | ... | vlan-strip-offload | off +| | FOR | ${pf} | IN RANGE | 1 | ${nic_pfs} + 1 +| | | ${_even}= | Evaluate | ${pf} % 2 +| | | Run Keyword Unless | ${even} +| | | ... | DUT1.Add DPDK Dev Parameter | ${DUT1_${int}${pf}_pci}[0] +| | | ... | vlan-strip-offload | off +| | END +| | FOR | ${pf} | IN RANGE | 1 | ${nic_pfs} + 1 +| | | ${_even}= | Evaluate | ${pf} % 2 +| | | Run Keyword If | ${even} +| | | ... | DUT2.Add DPDK Dev Parameter | ${DUT2_${int}${pf}_pci}[0] +| | | ... | vlan-strip-offload | off +| | END | Add NAT to all DUTs | | [Documentation] | Add NAT configuration to all DUTs. @@ -346,7 +305,6 @@ | | | | ${setup_vpp_pids}= | Get VPP PIDs | ${nodes} | | ${keys}= | Get Dictionary Keys | ${setup_vpp_pids} -| | ${duts}= | Get Matches | ${nodes} | DUT* | | FOR | ${key} | IN | @{keys} | | | ${pid}= | Get From Dictionary | ${setup_vpp_pids} | ${key} | | | Run Keyword If | $pid is None | FAIL | No VPP PID found on node ${key}