aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/robot
diff options
context:
space:
mode:
authorJan Gelety <jgelety@cisco.com>2019-03-18 13:30:11 +0100
committerJan Gelety <jgelety@cisco.com>2019-05-31 08:00:11 +0000
commitfe1975eb1ac994df1bd759deda7154bb7dd9d7a7 (patch)
tree694e0f5920cac8f71e4ffbff9f9223c1a217cba6 /resources/libraries/robot
parent245ea1de4f111c159a50bc309f53db3f520453ed (diff)
CSIT-1468: InterfaceUtil migration from VAT to PAPI
Change-Id: I0062710d58996be767a852dc00545fedd60a5c72 Signed-off-by: Jan Gelety <jgelety@cisco.com>
Diffstat (limited to 'resources/libraries/robot')
-rw-r--r--resources/libraries/robot/ip/ip4.robot14
-rw-r--r--resources/libraries/robot/ip/ip6.robot14
-rw-r--r--resources/libraries/robot/overlay/vxlan.robot58
-rw-r--r--resources/libraries/robot/performance/performance_configuration.robot12
-rw-r--r--resources/libraries/robot/shared/interfaces.robot11
5 files changed, 84 insertions, 25 deletions
diff --git a/resources/libraries/robot/ip/ip4.robot b/resources/libraries/robot/ip/ip4.robot
index d811d0deea..bb0ae5be4c 100644
--- a/resources/libraries/robot/ip/ip4.robot
+++ b/resources/libraries/robot/ip/ip4.robot
@@ -40,6 +40,20 @@
| | :FOR | ${interface} | IN | @{interfaces}
| | | Set Interface State | @{interface} | up | if_type=name
+| Get interface Ipv4 addresses
+| | [Documentation] | Get IPv4 address for the given interface of the node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - DUT node data. Type: dictionary
+| | ... | - interface - Name of the interface on the VPP node. Type: string
+| | ...
+| | [Arguments] | ${node} | ${interface}
+| | ...
+| | [Return] | ${ip_data}
+| | ...
+| | ${ip_data}= | VPP get interface ip addresses
+| | ... | ${node} | ${interface} | ipv4
+
| Configure routes for IPv4 test
| | [Documentation] | Setup routing on all VPP nodes required for IPv4 tests
| | [Arguments] | ${nodes} | ${nodes_addr}
diff --git a/resources/libraries/robot/ip/ip6.robot b/resources/libraries/robot/ip/ip6.robot
index a780144443..6ef781f07e 100644
--- a/resources/libraries/robot/ip/ip6.robot
+++ b/resources/libraries/robot/ip/ip6.robot
@@ -26,6 +26,20 @@
| Documentation | IPv6 keywords
*** Keywords ***
+| Get interface Ipv6 addresses
+| | [Documentation] | Get IPv6 address for the given interface of the node.
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - DUT node data. Type: dictionary
+| | ... | - interface - Name of the interface on the VPP node. Type: string
+| | ...
+| | [Arguments] | ${node} | ${interface}
+| | ...
+| | [Return] | ${ip_data}
+| | ...
+| | ${ip_data}= | VPP get interface ip addresses
+| | ... | ${node} | ${interface} | ipv6
+
| Send IPv6 icmp echo request to DUT1 ingress inteface and verify answer
| | [Documentation] | Type of the src_node must be TG and dst_node must be DUT
| | [Arguments] | ${tg_node} | ${dut_node} | ${nodes_addr}
diff --git a/resources/libraries/robot/overlay/vxlan.robot b/resources/libraries/robot/overlay/vxlan.robot
index 69f4c10a88..66ffa3dfa1 100644
--- a/resources/libraries/robot/overlay/vxlan.robot
+++ b/resources/libraries/robot/overlay/vxlan.robot
@@ -17,19 +17,21 @@
| Resource | resources/libraries/robot/shared/interfaces.robot
| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot
| Resource | resources/libraries/robot/l2/l2_xconnect.robot
-| Library | resources.libraries.python.L2Util
+| Library | resources.libraries.python.InterfaceUtil
| Library | resources.libraries.python.IPUtil
| Library | resources.libraries.python.IPv4Util
| Library | resources.libraries.python.IPv6Util
| Library | resources.libraries.python.IPv4Setup
+| Library | resources.libraries.python.L2Util
| Library | resources.libraries.python.NodePath
*** Keywords ***
| Configure IP addresses and neighbors on interfaces
| | [Documentation] | *Set IPv4 addresses on interfaces on DUTs.*
-| | ... | If interface index is None then is determines with Get Interface Sw Index
-| | ... | in this case it is required the interface to be present in topology dict.
-| | ... | It also executes VPP IP Probe to determine MACs to IPs on DUTs
+| | ... | If interface index is None then is determines with Get Interface Sw
+| | ... | Index in this case it is required the interface to be present in
+| | ... | topology dict. It also executes VPP IP Probe to determine MACs to IPs
+| | ... | on DUTs.
| | ...
| | ... | _Set testcase variables with IP addresses and prefix length:_
| | ... | - ${dut1s_ip_address}
@@ -37,35 +39,38 @@
| | ... | - ${duts_ip_address_prefix}
| | ...
| | [Arguments] | ${DUT1} | ${DUT1_INT_NAME} | ${DUT1_INT_INDEX}
-| | ... | ${DUT2} | ${DUT2_INT_NAME} | ${DUT2_INT_INDEX}
+| | ... | ${DUT2} | ${DUT2_INT_NAME} | ${DUT2_INT_INDEX}
| | Set Test Variable | ${dut1s_ip_address} | 172.16.0.1
| | Set Test Variable | ${dut2s_ip_address} | 172.16.0.2
| | Set Test Variable | ${duts_ip_address_prefix} | 24
| | ${DUT1_INT_KEY}= | Run Keyword If | ${DUT1_INT_INDEX} is None
-| | | ... | Get Interface by name | ${DUT1} | ${DUT1_INT_NAME}
+| | ... | Get Interface by name | ${DUT1} | ${DUT1_INT_NAME}
| | ${DUT2_INT_KEY}= | Run Keyword If | ${DUT2_INT_INDEX} is None
-| | | ... | Get Interface by name | ${DUT2} | ${DUT2_INT_NAME}
+| | ... | Get Interface by name | ${DUT2} | ${DUT2_INT_NAME}
| | ${DUT1_INT_INDEX}= | Run Keyword If | ${DUT1_INT_INDEX} is None
-| | | ... | Get Interface Sw Index | ${DUT1} | ${DUT1_INT_KEY}
-| | | ... | ELSE | Set Variable | ${DUT1_INT_INDEX}
+| | ... | Get Interface Sw Index | ${DUT1} | ${DUT1_INT_KEY}
+| | ... | ELSE | Set Variable | ${DUT1_INT_INDEX}
| | ${DUT2_INT_INDEX}= | Run Keyword If | ${DUT2_INT_INDEX} is None
-| | | ... | Get Interface Sw Index | ${DUT2} | ${DUT2_INT_KEY}
-| | | ... | ELSE | Set Variable | ${DUT2_INT_INDEX}
+| | ... | Get Interface Sw Index | ${DUT2} | ${DUT2_INT_KEY}
+| | ... | ELSE | Set Variable | ${DUT2_INT_INDEX}
| | ${DUT1_INT_MAC}= | Vpp Get Interface Mac | ${DUT1} | ${DUT1_INT_INDEX}
| | ${DUT2_INT_MAC}= | Vpp Get Interface Mac | ${DUT2} | ${DUT2_INT_INDEX}
| | Set Interface Address | ${DUT1} | ${DUT1_INT_INDEX}
| | ... | ${dut1s_ip_address} | ${duts_ip_address_prefix}
| | Set Interface Address | ${DUT2} | ${DUT2_INT_INDEX}
| | ... | ${dut2s_ip_address} | ${duts_ip_address_prefix}
-| | Add IP Neighbor | ${DUT1} | ${DUT1_INT_INDEX} | ${dut2s_ip_address} | ${DUT2_INT_MAC}
-| | Add IP Neighbor | ${DUT2} | ${DUT2_INT_INDEX} | ${dut1s_ip_address} | ${DUT1_INT_MAC}
+| | Add IP Neighbor | ${DUT1} | ${DUT1_INT_INDEX} | ${dut2s_ip_address}
+| | ... | ${DUT2_INT_MAC}
+| | Add IP Neighbor | ${DUT2} | ${DUT2_INT_INDEX} | ${dut1s_ip_address}
+| | ... | ${DUT1_INT_MAC}
| Add interfaces to L2BD
| | [Arguments] | ${DUT} | ${BID} | ${INTERFACE_1} | ${INTERFACE_2}
| | Vpp Add L2 Bridge Domain | ${DUT} | ${BID} | ${INTERFACE_1} | ${INTERFACE_2}
| Create vlan interfaces for VXLAN
-| | [Documentation] | *Create VLAN subinterface on interfaces on DUTs with given VLAN ID.*
+| | [Documentation] | *Create VLAN subinterface on interfaces on DUTs with given
+| | ... | VLAN ID.*
| | ...
| | ... | _Set testcase variables with name and index of created interfaces:_
| | ... | - ${dut1s_vlan_name}
@@ -77,9 +82,9 @@
| | ${INT1_NAME}= | Get interface name | ${DUT1} | ${INT1}
| | ${INT2_NAME}= | Get interface name | ${DUT2} | ${INT2}
| | ${dut1s_vlan_name} | ${dut1s_vlan_index}= | Create Vlan Subinterface
-| | | ... | ${DUT1} | ${INT1_NAME} | ${VLAN}
+| | ... | ${DUT1} | ${INT1_NAME} | ${VLAN}
| | ${dut2s_vlan_name} | ${dut2s_vlan_index}= | Create Vlan Subinterface
-| | | ... | ${DUT2} | ${INT2_NAME} | ${VLAN}
+| | ... | ${DUT2} | ${INT2_NAME} | ${VLAN}
| | Set Interface State | ${DUT1} | ${dut1s_vlan_index} | up
| | Set Interface State | ${DUT2} | ${dut2s_vlan_index} | up
| | Set Test Variable | ${dut1s_vlan_name}
@@ -111,8 +116,9 @@
| | ...
| | ... | *Example:*
| | ...
-| | ... | \| Send VXLAN encapsulated packet and verify received packet \| ${tg_node} \| port4 \| port4 \
-| | ... | \| fa:16:3e:6d:f9:c5 \| fa:16:3e:e6:6d:9a \| 192.168.0.1 \
+| | ... | \| Send VXLAN encapsulated packet and verify received packet \
+| | ... | \| ${tg_node} \| port4 \| port4 \
+| | ... | \| fa:16:3e:6d:f9:c5 \| fa:16:3e:e6:6d:9a \| 192.168.0.1 \
| | ... | \| 192.168.0.2 \| ${101} \| 192.168.0.2 \| 192.168.0.1 \| ${102} \|
| | ...
| | [Arguments] | ${tg_node} | ${tx_if} | ${rx_if}
@@ -132,4 +138,18 @@
| | ... | --rx_src_ip ${rx_src_ip}
| | ... | --rx_dst_ip ${rx_dst_ip}
| | ... | --rx_vni ${rx_vni}
-| | Run Traffic Script On Node | send_vxlan_check_vxlan.py | ${tg_node} | ${args}
+| | Run Traffic Script On Node | send_vxlan_check_vxlan.py | ${tg_node}
+| | ... | ${args}
+
+| Get VXLAN dump
+| | [Documentation] | Get VXLAN dump.
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - DUT node data. Type: dictionary
+| | ... | - interface - Interface on the VPP node (Optional). Type: string
+| | ...
+| | [Arguments] | ${dut_node} | ${interface}=${None}
+| | ...
+| | [Return] | ${vxlan_dump}
+| | ...
+| | ${vxlan_dump}= | VXLAN Dump | ${dut_node} | ${interface}
diff --git a/resources/libraries/robot/performance/performance_configuration.robot b/resources/libraries/robot/performance/performance_configuration.robot
index 8a305e4409..bd6a56eba6 100644
--- a/resources/libraries/robot/performance/performance_configuration.robot
+++ b/resources/libraries/robot/performance/performance_configuration.robot
@@ -64,7 +64,7 @@
| | | ... | Set Interface State | ${nodes['${dut}']} | ${${dut}_if2_1} | up
| | | Run Keyword Unless | '${if2_status}' == 'PASS'
| | | ... | Set Interface State | ${nodes['${dut}']} | ${${dut}_if2_2} | up
-| | All VPP Interfaces Ready Wait | ${nodes} | timeout=${600}
+| | All VPP Interfaces Ready Wait | ${nodes} | retries=${300}
| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
| | | ${if1_status} | ${value}= | Run Keyword And Ignore Error
@@ -83,7 +83,7 @@
| | | ... | VPP Set Interface MTU | ${nodes['${dut}']} | ${${dut}_if2_1}
| | | Run Keyword Unless | '${if2_status}' == 'PASS'
| | | ... | VPP Set Interface MTU | ${nodes['${dut}']} | ${${dut}_if2_2}
-| | All VPP Interfaces Ready Wait | ${nodes} | timeout=${600}
+| | All VPP Interfaces Ready Wait | ${nodes} | retries=${300}
| Set single interfaces in path up
| | [Documentation]
@@ -104,7 +104,7 @@
| | | ... | Set Interface State | ${nodes['${dut}']} | ${${dut}_if1_1} | up
| | | Run Keyword Unless | '${if1_status}' == 'PASS'
| | | ... | Set Interface State | ${nodes['${dut}']} | ${${dut}_if1_2} | up
-| | All VPP Interfaces Ready Wait | ${nodes} | timeout=${600}
+| | All VPP Interfaces Ready Wait | ${nodes} | retries=${300}
| | ${duts}= | Get Matches | ${nodes} | DUT*
| | :FOR | ${dut} | IN | @{duts}
| | | ${if1_status} | ${value}= | Run Keyword And Ignore Error
@@ -2305,7 +2305,7 @@
| | ... | rxq_count_int=${rxq_count_int}
| | Run Keyword | vnf_manager.Start All VMs | pinning=${True}
| | Run Keyword If | ${use_tuned_cfs} | vnf_manager.Set Scheduler All VMs
-| | All VPP Interfaces Ready Wait | ${nodes} | timeout=${600}
+| | All VPP Interfaces Ready Wait | ${nodes} | retries=${300}
| | VPP round robin RX placement on all DUTs | ${nodes} | prefix=Virtual
| Configure guest VM with dpdk-testpmd connected via vhost-user
@@ -2434,7 +2434,7 @@
| | | Configure guest VMs with dpdk-testpmd connected via vhost-user on node
| | | ... | ${dut} | vm_count=${vm_count} | jumbo=${jumbo}
| | | ... | perf_qemu_qsz=${perf_qemu_qsz} | use_tuned_cfs=${False}
-| | All VPP Interfaces Ready Wait | ${nodes} | timeout=${90}
+| | All VPP Interfaces Ready Wait | ${nodes} | retries=${45}
| | VPP round robin RX placement on all DUTs | ${nodes} | prefix=Virtual
| Configure guest VM with dpdk-testpmd-mac connected via vhost-user
@@ -2573,7 +2573,7 @@
| | | Configure guest VMs with dpdk-testpmd-mac connected via vhost-user on node
| | | ... | ${dut} | vm_count=${vm_count} | jumbo=${jumbo}
| | | ... | perf_qemu_qsz=${perf_qemu_qsz} | use_tuned_cfs=${False}
-| | All VPP Interfaces Ready Wait | ${nodes} | timeout=${90}
+| | All VPP Interfaces Ready Wait | ${nodes} | retries=${45}
| | VPP round robin RX placement on all DUTs | ${nodes} | prefix=Virtual
| Initialize LISP IPv4 forwarding in 3-node circular topology
diff --git a/resources/libraries/robot/shared/interfaces.robot b/resources/libraries/robot/shared/interfaces.robot
index c2b897d6a0..5b6ebc743d 100644
--- a/resources/libraries/robot/shared/interfaces.robot
+++ b/resources/libraries/robot/shared/interfaces.robot
@@ -33,3 +33,14 @@
| | ${eth_mtu}= | Evaluate | ${mtu} - 14 - 4
| | Set Interface Ethernet MTU | ${tg_node} | ${tg_port} | ${eth_mtu}
+| Get Vhost dump
+| | [Documentation] | Get vhost-user dump.
+| | ...
+| | ... | *Arguments:*
+| | ... | - node - DUT node data. Type: dictionary
+| | ...
+| | [Arguments] | ${dut_node}
+| | ...
+| | [Return] | ${vhost_dump}
+| | ...
+| | ${vhost_dump}= | Vhost User Dump | ${dut_node}