From: gvrangan Date: Sat, 12 Nov 2016 01:12:31 +0000 (+0000) Subject: Get IpAddresses of instances from console log X-Git-Tag: release/boron-sr2~52 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=6dedbfd60c551a70936d1fe64b99c6b65bd7f182;p=integration%2Ftest.git Get IpAddresses of instances from console log * Remove the hardcoded IP Addressess Change-Id: I218fe0404e70f3442d9ec1166f7b4b1c2774f93e Signed-off-by: gvrangan Signed-off-by: Jamo Luhrsen --- diff --git a/csit/libraries/OpenStackOperations.robot b/csit/libraries/OpenStackOperations.robot index 157cc941e3..154e644c5d 100644 --- a/csit/libraries/OpenStackOperations.robot +++ b/csit/libraries/OpenStackOperations.robot @@ -222,10 +222,16 @@ Verify VMs Received DHCP Lease ... that the instance is fully up and ready. ${devstack_conn_id}= Get ControlNode Connection Switch Connection ${devstack_conn_id} + ${ip_list} Create List : FOR ${vm} IN @{vm_list} \ ${output}= Write Commands Until Prompt nova console-log ${vm} | grep -i "obtained" 30s + \ ${dhcp_ip_line}= Write Commands Until Prompt nova console-log ${vm} | grep "^nameserver" 30s \ Log ${output} + \ @{output_words} Split String ${output} + \ @{dhcp_output_words} Split String ${dhcp_ip_line} \ Should Contain ${output} obtained + \ Append To List ${ip_list} @{output_words}[2] + [Return] ${ip_list} @{dhcp_output_words}[1] View Vm Console [Arguments] ${vm_instance_names} @@ -263,9 +269,9 @@ Ping From DHCP Should Not Succeed Should Not Contain ${output} 64 bytes Ping From Instance - [Arguments] ${dest_vm} + [Arguments] ${dest_vm_ip} [Documentation] Ping to the expected destination ip. - ${output}= Write Commands Until Expected Prompt ping -c 3 ${dest_vm} ${OS_SYSTEM_PROMPT} + ${output}= Write Commands Until Expected Prompt ping -c 3 ${dest_vm_ip} ${OS_SYSTEM_PROMPT} Log ${output} [Return] ${output} @@ -304,12 +310,13 @@ Check Metadata Access Should Contain ${output} 200 Execute Command on VM Instance - [Arguments] ${net_name} ${src_ip} ${cmd} ${user}=cirros ${password}=cubswin:) + [Arguments] ${net_name} ${vm_ip} ${cmd} ${user}=cirros ${password}=cubswin:) [Documentation] Login to the vm instance using ssh in the network, executes a command inside the VM and returns the ouput. ${devstack_conn_id} = Get ControlNode Connection Switch Connection ${devstack_conn_id} ${net_id} = Get Net Id ${net_name} ${devstack_conn_id} - ${output} = Write Commands Until Expected Prompt sudo ip netns exec qdhcp-${net_id} ssh ${user}@${src_ip} -o ConnectTimeout=10 -o StrictHostKeyChecking=no d: + Log ${vm_ip} + ${output} = Write Commands Until Expected Prompt sudo ip netns exec qdhcp-${net_id} ssh ${user}@${vm_ip} -o ConnectTimeout=10 -o StrictHostKeyChecking=no d: Log ${output} ${output} = Write Commands Until Expected Prompt ${password} ${OS_SYSTEM_PROMPT} Log ${output} @@ -319,13 +326,13 @@ Execute Command on VM Instance [Return] ${output} Test Operations From Vm Instance - [Arguments] ${net_name} ${src_ip} ${list_of_local_dst_ips} ${l2_or_l3}=l2 ${list_of_external_dst_ips}=${NONE} ${user}=cirros - ... ${password}=cubswin:) + [Arguments] ${net_name} ${src_ip} ${dest_ips} ${user}=cirros ${password}=cubswin:) [Documentation] Login to the vm instance using ssh in the network. ${devstack_conn_id}= Get ControlNode Connection Switch Connection ${devstack_conn_id} + Log ${src_ip} ${net_id}= Get Net Id ${net_name} ${devstack_conn_id} - ${output}= Write Commands Until Expected Prompt sudo ip netns exec qdhcp-${net_id} ssh ${user}@${src_ip} -o ConnectTimeout=10 -o StrictHostKeyChecking=no d: + ${output}= Write Commands Until Expected Prompt sudo ip netns exec qdhcp-${net_id} ssh -o ConnectTimeout=10 -o StrictHostKeyChecking=no ${user}@${src_ip} d: Log ${output} ${output}= Write Commands Until Expected Prompt ${password} ${OS_SYSTEM_PROMPT} Log ${output} @@ -333,11 +340,12 @@ Test Operations From Vm Instance Run Keyword If ${rcode} Write Commands Until Expected Prompt ifconfig ${OS_SYSTEM_PROMPT} Run Keyword If ${rcode} Write Commands Until Expected Prompt route ${OS_SYSTEM_PROMPT} Run Keyword If ${rcode} Write Commands Until Expected Prompt arp -an ${OS_SYSTEM_PROMPT} - : FOR ${dest_ip} IN @{list_of_local_dst_ips} + : FOR ${dest_ip} IN @{dest_ips} \ Log ${dest_ip} + \ ${string_empty}= Run Keyword And Return Status Should Be Empty ${dest_ip} + \ Run Keyword If ${string_empty} Continue For Loop \ Run Keyword If ${rcode} Check Ping ${dest_ip} Run Keyword If ${rcode} Check Metadata Access - Run Keyword If '${l2_or_l3}' == 'l3' Ping Other Instances ${list_of_external_dst_ips} [Teardown] Exit From Vm Console Ping Other Instances @@ -346,7 +354,7 @@ Ping Other Instances ${rcode}= Run Keyword And Return Status Check If Console Is VmInstance : FOR ${dest_ip} IN @{list_of_external_dst_ips} \ Log ${dest_ip} - \ Run Keyword If ${rcode} Check Ping ${dest_ip} + \ Check Ping ${dest_ip} Create Router [Arguments] ${router_name} diff --git a/csit/suites/openstack/connectivity/01_l2_tests.robot b/csit/suites/openstack/connectivity/01_l2_tests.robot index 6a8db15f2e..9924f34ca8 100644 --- a/csit/suites/openstack/connectivity/01_l2_tests.robot +++ b/csit/suites/openstack/connectivity/01_l2_tests.robot @@ -18,11 +18,6 @@ Resource ../../../libraries/SetupUtils.robot @{SUBNETS_NAME} l2_subnet_1 l2_subnet_2 @{NET_1_VM_INSTANCES} MyFirstInstance_1 MySecondInstance_1 MyThirdInstance_1 @{NET_2_VM_INSTANCES} MyFirstInstance_2 MySecondInstance_2 MyThirdInstance_2 -@{NET_1_VM_IPS} 30.0.0.3 30.0.0.4 30.0.0.5 -@{NET_2_VM_IPS} 40.0.0.3 40.0.0.4 40.0.0.5 -@{VM_IPS_NOT_DELETED} 30.0.0.4 30.0.0.5 -@{GATEWAY_IPS} 30.0.0.1 40.0.0.1 -@{DHCP_IPS} 30.0.0.2 40.0.0.2 @{SUBNETS_RANGE} 30.0.0.0/24 40.0.0.0/24 *** Test Cases *** @@ -65,70 +60,63 @@ Check Vm Instances Have Ip Address # for dhcp addresses : FOR ${vm} IN @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} \ Wait Until Keyword Succeeds 15s 5s Verify VM Is ACTIVE ${vm} - Wait Until Keyword Succeeds 180s 10s Verify VMs Received DHCP Lease @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} + ${NET1_VM_IPS} ${NET1_DHCP_IP} Wait Until Keyword Succeeds 180s 10s Verify VMs Received DHCP Lease @{NET_1_VM_INSTANCES} + ${NET2_VM_IPS} ${NET2_DHCP_IP} Wait Until Keyword Succeeds 180s 10s Verify VMs Received DHCP Lease @{NET_2_VM_INSTANCES} + Append To List ${NET1_VM_IPS} ${NET1_DHCP_IP} + Set Suite Variable ${NET1_VM_IPS} + Append To List ${NET2_VM_IPS} ${NET2_DHCP_IP} + Set Suite Variable ${NET2_VM_IPS} [Teardown] Run Keywords Show Debugs ${NET_1_VM_INSTANCES} ... AND Show Debugs ${NET_2_VM_INSTANCES} ... AND Get OvsDebugInfo Ping Vm Instance1 In l2_network_1 [Documentation] Check reachability of vm instances by pinging to them. - Ping Vm From DHCP Namespace l2_network_1 @{NET_1_VM_IPS}[0] + Ping Vm From DHCP Namespace l2_network_1 @{NET1_VM_IPS}[0] Ping Vm Instance2 In l2_network_1 [Documentation] Check reachability of vm instances by pinging to them. - Ping Vm From DHCP Namespace l2_network_1 @{NET_1_VM_IPS}[1] + Ping Vm From DHCP Namespace l2_network_1 @{NET1_VM_IPS}[1] Ping Vm Instance3 In l2_network_1 [Documentation] Check reachability of vm instances by pinging to them. - Ping Vm From DHCP Namespace l2_network_1 @{NET_1_VM_IPS}[2] + Ping Vm From DHCP Namespace l2_network_1 @{NET1_VM_IPS}[2] Ping Vm Instance1 In l2_network_2 [Documentation] Check reachability of vm instances by pinging to them. - Ping Vm From DHCP Namespace l2_network_2 @{NET_2_VM_IPS}[0] + Ping Vm From DHCP Namespace l2_network_2 @{NET2_VM_IPS}[0] Ping Vm Instance2 In l2_network_2 [Documentation] Check reachability of vm instances by pinging to them. - Ping Vm From DHCP Namespace l2_network_2 @{NET_2_VM_IPS}[1] + Ping Vm From DHCP Namespace l2_network_2 @{NET2_VM_IPS}[1] Ping Vm Instance3 In l2_network_2 [Documentation] Check reachability of vm instances by pinging to them. - Ping Vm From DHCP Namespace l2_network_2 @{NET_2_VM_IPS}[2] + Ping Vm From DHCP Namespace l2_network_2 @{NET2_VM_IPS}[2] Connectivity Tests From Vm Instance1 In l2_network_1 - [Documentation] Logging to the vm instance1 - ${dst_ip_list}= Create List @{NET_1_VM_IPS}[1] @{DHCP_IPS}[0] @{NET_1_VM_IPS}[2] - Log ${dst_ip_list} - Test Operations From Vm Instance l2_network_1 @{NET_1_VM_IPS}[0] ${dst_ip_list} + [Documentation] Login to the vm instance and test some operations + Test Operations From Vm Instance l2_network_1 @{NET1_VM_IPS}[0] ${NET1_VM_IPS} Connectivity Tests From Vm Instance2 In l2_network_1 - [Documentation] Logging to the vm instance2 - ${dst_ip_list}= Create List @{NET_1_VM_IPS}[0] @{DHCP_IPS}[0] @{NET_1_VM_IPS}[2] - Log ${dst_ip_list} - Test Operations From Vm Instance l2_network_1 @{NET_1_VM_IPS}[1] ${dst_ip_list} + [Documentation] Login to the vm instance and test operations + Test Operations From Vm Instance l2_network_1 @{NET1_VM_IPS}[1] ${NET1_VM_IPS} Connectivity Tests From Vm Instance3 In l2_network_1 - [Documentation] Logging to the vm instance2 - ${dst_ip_list}= Create List @{NET_1_VM_IPS}[0] @{DHCP_IPS}[0] @{NET_1_VM_IPS}[1] - Log ${dst_ip_list} - Test Operations From Vm Instance l2_network_1 @{NET_1_VM_IPS}[2] ${dst_ip_list} + [Documentation] Login to the vm instance and test operations + Test Operations From Vm Instance l2_network_1 @{NET1_VM_IPS}[2] ${NET1_VM_IPS} Connectivity Tests From Vm Instance1 In l2_network_2 - [Documentation] Logging to the vm instance using generated key pair. - ${dst_ip_list}= Create List @{NET_2_VM_IPS}[1] @{DHCP_IPS}[1] @{NET_2_VM_IPS}[2] - Log ${dst_ip_list} - Test Operations From Vm Instance l2_network_2 @{NET_2_VM_IPS}[0] ${dst_ip_list} + [Documentation] Login to the vm instance and test operations + Test Operations From Vm Instance l2_network_2 @{NET2_VM_IPS}[0] ${NET2_VM_IPS} Connectivity Tests From Vm Instance2 In l2_network_2 [Documentation] Logging to the vm instance using generated key pair. - ${dst_ip_list}= Create List @{NET_2_VM_IPS}[0] @{DHCP_IPS}[1] @{NET_2_VM_IPS}[2] - Log ${dst_ip_list} - Test Operations From Vm Instance l2_network_2 @{NET_2_VM_IPS}[1] ${dst_ip_list} + Test Operations From Vm Instance l2_network_2 @{NET2_VM_IPS}[1] ${NET2_VM_IPS} Connectivity Tests From Vm Instance3 In l2_network_2 - [Documentation] Logging to the vm instance using generated key pair. - ${dst_ip_list}= Create List @{NET_2_VM_IPS}[0] @{DHCP_IPS}[1] @{NET_2_VM_IPS}[1] - Log ${dst_ip_list} - Test Operations From Vm Instance l2_network_2 @{NET_2_VM_IPS}[2] ${dst_ip_list} + [Documentation] Login to the vm instance using generated key pair. + Test Operations From Vm Instance l2_network_2 @{NET2_VM_IPS}[2] ${NET2_VM_IPS} Delete A Vm Instance [Documentation] Delete Vm instances using instance names. diff --git a/csit/suites/openstack/connectivity/02_l3_tests.robot b/csit/suites/openstack/connectivity/02_l3_tests.robot index 50cf045d5e..d2e1102580 100644 --- a/csit/suites/openstack/connectivity/02_l3_tests.robot +++ b/csit/suites/openstack/connectivity/02_l3_tests.robot @@ -18,10 +18,6 @@ Resource ../../../libraries/DevstackUtils.robot @{SUBNETS_NAME} subnet_1 subnet_2 @{NET_1_VM_INSTANCES} l3_instance_net_1_1 l3_instance_net_1_2 l3_instance_net_1_3 @{NET_2_VM_INSTANCES} l3_instance_net_2_1 l3_instance_net_2_2 l3_instance_net_2_3 -@{NET_1_VM_IPS} 50.0.0.3 50.0.0.4 50.0.0.5 -@{NET_2_VM_IPS} 60.0.0.3 60.0.0.4 60.0.0.5 -@{GATEWAY_IPS} 50.0.0.1 60.0.0.1 -@{DHCP_IPS} 50.0.0.2 60.0.0.2 @{SUBNETS_RANGE} 50.0.0.0/24 60.0.0.0/24 *** Test Cases *** @@ -54,7 +50,12 @@ Check Vm Instances Have Ip Address # for dhcp addresses : FOR ${vm} IN @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} \ Wait Until Keyword Succeeds 15s 5s Verify VM Is ACTIVE ${vm} - Wait Until Keyword Succeeds 180s 10s Verify VMs Received DHCP Lease @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} + ${NET1_L3_VM_IPS} ${NET1_DHCP_IP} Wait Until Keyword Succeeds 180s 10s Verify VMs Received DHCP Lease @{NET_1_VM_INSTANCES} + ${NET2_L3_VM_IPS} ${NET2_DHCP_IP} Wait Until Keyword Succeeds 180s 10s Verify VMs Received DHCP Lease @{NET_2_VM_INSTANCES} + Set Suite Variable ${NET1_L3_VM_IPS} + Set Suite Variable ${NET1_DHCP_IP} + Set Suite Variable ${NET2_L3_VM_IPS} + Set Suite Variable ${NET2_DHCP_IP} [Teardown] Run Keywords Show Debugs ${NET_1_VM_INSTANCES} ... AND Show Debugs ${NET_2_VM_INSTANCES} ... AND Get OvsDebugInfo @@ -70,75 +71,63 @@ Add Interfaces To Router Ping Vm Instance1 In network_2 From network_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - Ping Vm From DHCP Namespace network_1 @{NET_2_VM_IPS}[0] + Ping Vm From DHCP Namespace network_1 @{NET2_L3_VM_IPS}[0] Ping Vm Instance2 In network_2 From network_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - Ping Vm From DHCP Namespace network_1 @{NET_2_VM_IPS}[1] + Ping Vm From DHCP Namespace network_1 @{NET2_L3_VM_IPS}[1] Ping Vm Instance3 In network_2 From network_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - Ping Vm From DHCP Namespace network_1 @{NET_2_VM_IPS}[2] + Ping Vm From DHCP Namespace network_1 @{NET2_L3_VM_IPS}[2] Ping Vm Instance1 In network_1 From network_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - Ping Vm From DHCP Namespace network_2 @{NET_1_VM_IPS}[0] + Ping Vm From DHCP Namespace network_2 @{NET1_L3_VM_IPS}[0] Ping Vm Instance2 In network_1 From network_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - Ping Vm From DHCP Namespace network_2 @{NET_1_VM_IPS}[1] + Ping Vm From DHCP Namespace network_2 @{NET1_L3_VM_IPS}[1] Ping Vm Instance3 In network_1 From network_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - Ping Vm From DHCP Namespace network_2 @{NET_1_VM_IPS}[2] + Ping Vm From DHCP Namespace network_2 @{NET1_L3_VM_IPS}[2] Connectivity Tests From Vm Instance1 In network_1 - [Documentation] Logging to the vm instance using generated key pair. - ${dst_ip_list}= Create List @{DHCP_IPS}[0] @{NET_1_VM_IPS}[1] @{NET_1_VM_IPS}[2] - Log ${dst_ip_list} - ${other_dst_ip_list}= Create List @{DHCP_IPS}[1] @{NET_2_VM_IPS}[0] @{NET_2_VM_IPS}[1] @{NET_2_VM_IPS}[2] - Log ${other_dst_ip_list} - Test Operations From Vm Instance network_1 @{NET_1_VM_IPS}[0] ${dst_ip_list} l2_or_l3=l3 list_of_external_dst_ips=${other_dst_ip_list} + [Documentation] Login to the VM instance and test operations + ${dst_list}= Create List @{NET1_L3_VM_IPS} @{NET2_L3_VM_IPS} + Log ${dst_list} + Test Operations From Vm Instance network_1 @{NET1_L3_VM_IPS}[0] ${dst_list} Connectivity Tests From Vm Instance2 In network_1 - [Documentation] Logging to the vm instance using generated key pair. - ${dst_ip_list}= Create List @{DHCP_IPS}[0] @{NET_1_VM_IPS}[1] @{NET_1_VM_IPS}[2] - Log ${dst_ip_list} - ${other_dst_ip_list}= Create List @{DHCP_IPS}[1] @{NET_2_VM_IPS}[0] @{NET_2_VM_IPS}[1] @{NET_2_VM_IPS}[2] - Log ${other_dst_ip_list} - Test Operations From Vm Instance network_1 @{NET_1_VM_IPS}[1] ${dst_ip_list} l2_or_l3=l3 list_of_external_dst_ips=${other_dst_ip_list} + [Documentation] Login to the vm instance and test operations + ${dst_list}= Create List @{NET1_L3_VM_IPS} @{NET2_L3_VM_IPS} + Log ${dst_list} + Test Operations From Vm Instance network_1 @{NET1_L3_VM_IPS}[1] ${dst_list} Connectivity Tests From Vm Instance3 In network_1 - [Documentation] Logging to the vm instance using generated key pair. - ${dst_ip_list}= Create List @{DHCP_IPS}[0] @{NET_1_VM_IPS}[1] @{NET_1_VM_IPS}[2] - Log ${dst_ip_list} - ${other_dst_ip_list}= Create List @{DHCP_IPS}[1] @{NET_2_VM_IPS}[0] @{NET_2_VM_IPS}[1] @{NET_2_VM_IPS}[2] - Log ${other_dst_ip_list} - Test Operations From Vm Instance network_1 @{NET_1_VM_IPS}[2] ${dst_ip_list} l2_or_l3=l3 list_of_external_dst_ips=${other_dst_ip_list} + [Documentation] Login to the vm instance and test operations + ${dst_list}= Create List @{NET1_L3_VM_IPS} @{NET2_L3_VM_IPS} + Log ${dst_list} + Test Operations From Vm Instance network_1 @{NET1_L3_VM_IPS}[2] ${dst_list} Connectivity Tests From Vm Instance1 In network_2 - [Documentation] Logging to the vm instance using generated key pair. - ${dst_ip_list}= Create List @{DHCP_IPS}[1] @{NET_2_VM_IPS}[1] @{NET_2_VM_IPS}[2] - Log ${dst_ip_list} - ${other_dst_ip_list}= Create List @{DHCP_IPS}[0] @{NET_1_VM_IPS}[0] @{NET_1_VM_IPS}[1] @{NET_1_VM_IPS}[2] - Log ${other_dst_ip_list} - Test Operations From Vm Instance network_2 @{NET_2_VM_IPS}[0] ${dst_ip_list} l2_or_l3=l3 list_of_external_dst_ips=${other_dst_ip_list} + [Documentation] Login to the vm instance and test operations + ${dst_list}= Create List @{NET1_L3_VM_IPS} @{NET2_L3_VM_IPS} + Log ${dst_list} + Test Operations From Vm Instance network_2 @{NET2_L3_VM_IPS}[0] ${dst_list} Connectivity Tests From Vm Instance2 In network_2 [Documentation] Logging to the vm instance using generated key pair. - ${dst_ip_list}= Create List @{DHCP_IPS}[1] @{NET_2_VM_IPS}[0] @{NET_2_VM_IPS}[2] - Log ${dst_ip_list} - ${other_dst_ip_list}= Create List @{DHCP_IPS}[0] @{NET_1_VM_IPS}[0] @{NET_1_VM_IPS}[1] @{NET_1_VM_IPS}[2] - Log ${other_dst_ip_list} - Test Operations From Vm Instance network_2 @{NET_2_VM_IPS}[1] ${dst_ip_list} l2_or_l3=l3 list_of_external_dst_ips=${other_dst_ip_list} + ${dst_list}= Create List @{NET1_L3_VM_IPS} @{NET2_L3_VM_IPS} + Log ${dst_list} + Test Operations From Vm Instance network_2 @{NET2_L3_VM_IPS}[1] ${dst_list} Connectivity Tests From Vm Instance3 In network_2 [Documentation] Logging to the vm instance using generated key pair. - ${dst_ip_list}= Create List @{DHCP_IPS}[1] @{NET_2_VM_IPS}[0] @{NET_2_VM_IPS}[1] - Log ${dst_ip_list} - ${other_dst_ip_list}= Create List @{DHCP_IPS}[0] @{NET_1_VM_IPS}[0] @{NET_1_VM_IPS}[1] @{NET_1_VM_IPS}[2] - Log ${other_dst_ip_list} - Test Operations From Vm Instance network_2 @{NET_2_VM_IPS}[2] ${dst_ip_list} l2_or_l3=l3 list_of_external_dst_ips=${other_dst_ip_list} + ${dst_list}= Create List @{NET1_L3_VM_IPS} @{NET2_L3_VM_IPS} + Log ${dst_list} + Test Operations From Vm Instance network_2 @{NET2_L3_VM_IPS}[2] ${dst_list} Delete Vm Instances In network_1 [Documentation] Delete Vm instances using instance names in network_1. diff --git a/csit/suites/openstack/vpnservice/basic_vpnservice.robot b/csit/suites/openstack/vpnservice/basic_vpnservice.robot index d34ba938da..9922afa23b 100644 --- a/csit/suites/openstack/vpnservice/basic_vpnservice.robot +++ b/csit/suites/openstack/vpnservice/basic_vpnservice.robot @@ -107,16 +107,12 @@ Add Interfaces To Router Check L3_Datapath Traffic Across Networks With Router [Documentation] Datapath test across the networks using router for L3. - ${dst_ip_list} = Create List @{NET10_VM_IPS}[1] + ${dst_ip_list} = Create List @{NET10_VM_IPS}[1] @{NET20_VM_IPS}[0] @{NET20_VM_IPS}[1] Log ${dst_ip_list} - ${other_dst_ip_list} = Create List @{NET20_VM_IPS}[0] @{NET20_VM_IPS}[1] - Log ${other_dst_ip_list} - Test Operations From Vm Instance ${NETWORKS[0]} @{NET10_VM_IPS}[0] ${dst_ip_list} l2_or_l3=l3 list_of_external_dst_ips=${other_dst_ip_list} - ${dst_ip_list} = Create List @{NET20_VM_IPS}[1] + Test Operations From Vm Instance ${NETWORKS[0]} @{NET10_VM_IPS}[0] ${dst_ip_list} + ${dst_ip_list} = Create List @{NET20_VM_IPS}[1] @{NET10_VM_IPS}[0] @{NET10_VM_IPS}[1] Log ${dst_ip_list} - ${other_dst_ip_list} = Create List @{NET10_VM_IPS}[0] @{NET10_VM_IPS}[1] - Log ${other_dst_ip_list} - Test Operations From Vm Instance ${NETWORKS[1]} @{NET20_VM_IPS}[0] ${dst_ip_list} l2_or_l3=l3 list_of_external_dst_ips=${other_dst_ip_list} + Test Operations From Vm Instance ${NETWORKS[1]} @{NET20_VM_IPS}[0] ${dst_ip_list} Add Multiple Extra Routes And Check Datapath Before L3VPN Creation [Documentation] Add multiple extra routes and check data path before L3VPN creation