X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fnetvirt%2Fvpnservice%2Farp_learning.robot;h=de7a1f568ccc618f2fdd161f3af82ef8a606a30d;hb=0a7b377645f729d94c7e19cf93b3eb13836f6bdd;hp=390fd69de5f22fee3463206bcf378f2c0b49635e;hpb=0397e6c0f8b4b1584d01bfcfe1ea414bd4365765;p=integration%2Ftest.git diff --git a/csit/suites/netvirt/vpnservice/arp_learning.robot b/csit/suites/netvirt/vpnservice/arp_learning.robot index 390fd69de5..de7a1f568c 100644 --- a/csit/suites/netvirt/vpnservice/arp_learning.robot +++ b/csit/suites/netvirt/vpnservice/arp_learning.robot @@ -1,57 +1,58 @@ *** Settings *** Documentation Test suite for ARP Request. More test cases to be added in subsequent patches. -Suite Setup Start Suite -Suite Teardown End Suite +Suite Setup Suite Setup +Suite Teardown Suite Teardown Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing Test Teardown OpenStackOperations.Get Test Teardown Debugs Library RequestsLibrary Library SSHLibrary -Resource ../../../libraries/OpenStackOperations.robot Resource ../../../libraries/DevstackUtils.robot -Resource ../../../libraries/VpnOperations.robot +Resource ../../../libraries/OpenStackOperations.robot Resource ../../../libraries/SetupUtils.robot +Resource ../../../libraries/VpnOperations.robot Resource ../../../variables/netvirt/Variables.robot Resource ../../../variables/Variables.robot *** Variables *** -${SECURITY_GROUP} arp_sg -@{VPN_INSTANCE_IDS} 4ae8cd92-48ca-49b5-94e1-b2921a261111 4ae8cd92-48ca-49b5-94e1-b2921a261112 -@{VPN_NAMES} vpn1 vpn2 +${SECURITY_GROUP} vpna_sg +@{NETWORKS} vpna_net_1 vpna_net_2 vpna_net_3 +@{SUBNETS} vpna_sub_1 vpna_sub_2 vpna_sub_3 +@{SUBNET_CIDRS} 10.10.10.0/24 10.20.20.0/24 10.30.30.0/24 +@{PORTS} vpna_net_1_port_1 vpna_net_1_port_2 vpna_net_2_port_1 vpna_net_2_port_2 vpna_net_3_port_1 vpna_net_3_port_2 +@{NET_1_VMS} vpna_net_1_vm_1 vpna_net_1_vm_2 +@{NET_2_VMS} vpna_net_2_vm_1 vpna_net_2_vm_2 +@{NET_3_VMS} vpna_net_3_vm_1 vpna_net_3_vm_2 +${ROUTER} vpna_router +@{VPN_INSTANCE_IDS} 4ae8cd92-48ca-49b5-94e1-b2921a261111 +@{VPN_NAMES} vpna_1 ${RD1} ["2200:2"] ${RD2} ["2200:3"] ${EXPORT_RT} ["2200:2","2200:3"] ${IMPORT_RT} ["2200:2","2200:3"] ${SUB_IF} eth0:1 +@{EXTRA_NW_IP} 192.168.10.110 192.168.20.110 +${FIB_ENTRY_2} 192.168.10.110 +${RPING_MIP_IP} sudo arping -I eth0:1 -c 5 -b -s 192.168.10.110 192.168.10.110 +${RPING_MIP_IP_2} sudo arping -I eth0:1 -c 5 -b -s 192.168.20.110 192.168.20.110 +${RPING_EXP_STR} broadcast *** Test Cases *** -TC00 Verify Setup +Verify Setup [Documentation] Verify that VMs received ip and ping is happening between different VM - @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{VM_INSTANCES_NET1} - @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{VM_INSTANCES_NET2} - @{NET_3_VM_IPS} ${NET_3_DHCP_IP} = OpenStackOperations.Get VM IPs @{VM_INSTANCES_NET3} - BuiltIn.Set Suite Variable @{NET_1_VM_IPS} - BuiltIn.Set Suite Variable @{NET_2_VM_IPS} - BuiltIn.Set Suite Variable @{NET_3_VM_IPS} - BuiltIn.Should Not Contain ${NET_1_VM_IPS} None - BuiltIn.Should Not Contain ${NET_2_VM_IPS} None - BuiltIn.Should Not Contain ${NET_3_VM_IPS} None - BuiltIn.Should Not Contain ${NET_1_DHCP_IP} None - BuiltIn.Should Not Contain ${NET_2_DHCP_IP} None - BuiltIn.Should Not Contain ${NET_3_DHCP_IP} None ${vms} = BuiltIn.Create List @{NET_1_VM_IPS} @{NET_2_VM_IPS} @{NET_3_VM_IPS} BuiltIn.Wait Until Keyword Succeeds 30s 10s Utils.Check For Elements At URI ${FIB_ENTRIES_URL} ${vms} Verify Ping On Same Networks Verify Ping On Different Networks -TC01 Verify GARP Requests +Verify GARP Requests [Documentation] Verify that GARP request are sent to controller - BuiltIn.Set Suite Variable ${FIB_ENTRY_1} @{NET_1_VM_IPS}[0] - BuiltIn.Set Suite Variable ${FIB_ENTRY_3} @{NET_1_VM_IPS}[1] - BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Flows Are Present ${OS_COMPUTE_1_IP} - BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Flows Are Present ${OS_COMPUTE_2_IP} + BuiltIn.Pass Execution If "${OS_DEPLOY}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" + BuiltIn.Set Test Variable ${fib_entry_1} @{NET_1_VM_IPS}[0] + BuiltIn.Set Test Variable ${fib_entry_3} @{NET_1_VM_IPS}[1] + Verify Flows Are Present On All Compute Nodes ${output} = VpnOperations.Get Fib Entries session - ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${FIB_ENTRY_3}\/32".*"${OS_COMPUTE_2_IP}\\" - ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${FIB_ENTRY_1}\/32".*"${OS_COMPUTE_1_IP}\\" + ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${fib_entry_3}\/32".*"${OS_CMP2_IP}\\" + ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${fib_entry_1}\/32".*"${OS_CMP1_IP}\\" ${rx_packet1_before} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ifconfig eth0 ${rx_packet0_before} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ifconfig eth0 ${config_extra_route_ip1} = BuiltIn.Catenate sudo ifconfig ${SUB_IF} @{EXTRA_NW_IP}[0] netmask 255.255.255.0 up @@ -65,17 +66,17 @@ TC01 Verify GARP Requests ${rx_packet0_after} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ifconfig eth0 BuiltIn.Should Not Be Equal ${rx_packet0_before} ${rx_packet0_after} BuiltIn.Should Not Be Equal ${rx_packet1_before} ${rx_packet1_after} - BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present ${OS_COMPUTE_1_IP} - BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present ${OS_COMPUTE_2_IP} + Verify Flows Are Present On All Compute Nodes BuiltIn.Wait Until Keyword Succeeds 5s 1s Verify Learnt IP ${FIB_ENTRY_2} session ${output} = VpnOperations.Get Fib Entries session - ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${FIB_ENTRY_3}\\/32".*"${OS_COMPUTE_2_IP}\\" - ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${FIB_ENTRY_1}\\/32".*"${OS_COMPUTE_1_IP}\\" - ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${FIB_ENTRY_2}\\/32".*"${OS_COMPUTE_2_IP}\\" + ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${fib_entry_3}\\/32".*"${OS_CMP2_IP}\\" + ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${fib_entry_1}\\/32".*"${OS_CMP1_IP}\\" + ${resp} = BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${FIB_ENTRY_2}\\/32".*"${OS_CMP2_IP}\\" Verify Ping To Sub Interface ${FIB_ENTRY_2} -TC02 Verify MIP Migration +Verify MIP Migration [Documentation] Verify that after migration of movable ip across compute nodes, the controller updates the routes + BuiltIn.Pass Execution If "${OS_DEPLOY}" == "1cmb-0ctl-0cmp" "Test is not supported for combo node" ${unconfig_extra_route_ip1} = BuiltIn.Catenate sudo ifconfig ${SUB_IF} down ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${unconfig_extra_route_ip1} ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ifconfig @@ -91,117 +92,130 @@ TC02 Verify MIP Migration BuiltIn.Wait Until Keyword Succeeds 5s 1s Verify Learnt IP ${FIB_ENTRY_2} session ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${RPING_MIP_IP} ${output} VpnOperations.Get Fib Entries session - ${resp}= BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${FIB_ENTRY_2}\\/32".*"${OS_COMPUTE_1_IP}\\" + ${resp}= BuiltIn.Should Match Regexp ${output} destPrefix\\":\\"${FIB_ENTRY_2}\\/32".*"${OS_CMP1_IP}\\" Verify Ping To Sub Interface ${FIB_ENTRY_2} ${unconfig_extra_route_ip1} = BuiltIn.Catenate sudo ifconfig ${SUB_IF} down ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${unconfig_extra_route_ip1} -TC03 Verify ping to subnet gateway +Verify ping to subnet gateway [Documentation] Verify ping happens to subnet gateway. To be submitted in next patch [Tags] not-implemented exclude TODO -TC04 If anything other than subnet ip then no reply +If anything other than subnet ip then no reply [Documentation] If anything other than subnet ip then no reply. To be submitted in next patch [Tags] not-implemented exclude TODO -TC05 Validate multiple mip migration +Validate multiple mip migration [Documentation] Validate multiple mip migration. To be submitted in next patch [Tags] not-implemented exclude TODO -TC06 Same DPN MIP Migration +Same DPN MIP Migration [Documentation] Same DPN MIP Migration. To be submitted in next patch [Tags] not-implemented exclude TODO *** Keywords *** -Start Suite - [Documentation] Run at start of the suite - DevstackUtils.Devstack Suite Setup - SetupUtils.Setup_Utils_For_Setup_And_Teardown - Create Setup - -End Suite - [Documentation] Run at end of the suite - Delete Setup - SSHLibrary.Close All Connections - -Create Setup - [Documentation] Create networks, subnets, ports and VMs +Suite Setup + VpnOperations.Basic Suite Setup : FOR ${network} IN @{NETWORKS} \ OpenStackOperations.Create Network ${network} ${neutron_networks} = OpenStackOperations.List Networks : FOR ${network} IN @{NETWORKS} \ BuiltIn.Should Contain ${neutron_networks} ${network} + ${NET_ID} = OpenStackOperations.Get Net Id @{NETWORKS}[0] + BuiltIn.Set Suite Variable ${NET_ID} : FOR ${i} IN RANGE 0 3 - \ OpenStackOperations.Create SubNet @{NETWORKS}[${i}] @{SUBNETS}[${i}] @{SUBNET_CIDR}[${i}] + \ OpenStackOperations.Create SubNet @{NETWORKS}[${i}] @{SUBNETS}[${i}] @{SUBNET_CIDRS}[${i}] ${neutron_subnets} = OpenStackOperations.List Subnets : FOR ${subnet} IN @{SUBNETS} \ BuiltIn.Should Contain ${neutron_subnets} ${subnet} OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORT_LIST}[0] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Port @{NETWORKS}[0] @{PORT_LIST}[1] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORT_LIST}[2] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORT_LIST}[3] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORT_LIST}[4] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Port @{NETWORKS}[1] @{PORT_LIST}[5] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORT_LIST}[0] @{VM_INSTANCES_NET1}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORT_LIST}[1] @{VM_INSTANCES_NET1}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORT_LIST}[2] @{VM_INSTANCES_NET2}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORT_LIST}[3] @{VM_INSTANCES_NET2}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORT_LIST}[4] @{VM_INSTANCES_NET3}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP} - OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORT_LIST}[5] @{VM_INSTANCES_NET3}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP} - OpenStackOperations.Create Router ${ROUTERS} - OpenStackOperations.Add Router Interface ${ROUTERS} @{SUBNETS}[1] - OpenStackOperations.Add Router Interface ${ROUTERS} @{SUBNETS}[2] - ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] ${devstack_conn_id} - BuiltIn.Set Suite Variable ${net_id} - ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - BuiltIn.Set Suite Variable ${tenant_id} + OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS}[0] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port @{NETWORKS}[0] @{PORTS}[1] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port @{NETWORKS}[1] @{PORTS}[2] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port @{NETWORKS}[1] @{PORTS}[3] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port @{NETWORKS}[2] @{PORTS}[4] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + OpenStackOperations.Create Port @{NETWORKS}[2] @{PORTS}[5] sg=${SECURITY_GROUP} allowed_address_pairs=@{EXTRA_NW_IP} + Wait Until Keyword Succeeds 3s 1s Check For Elements At URI ${CONFIG_API}/neutron:neutron/ports/ ${PORTS} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[4] @{NET_3_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[5] @{NET_3_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} + @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} + @{NET_3_VM_IPS} ${NET_3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_3_VMS} + BuiltIn.Set Suite Variable @{NET_1_VM_IPS} + BuiltIn.Set Suite Variable @{NET_2_VM_IPS} + BuiltIn.Set Suite Variable @{NET_3_VM_IPS} + BuiltIn.Should Not Contain ${NET_1_VM_IPS} None + BuiltIn.Should Not Contain ${NET_2_VM_IPS} None + BuiltIn.Should Not Contain ${NET_3_VM_IPS} None + BuiltIn.Should Not Contain ${NET_1_DHCP_IP} None + BuiltIn.Should Not Contain ${NET_2_DHCP_IP} None + BuiltIn.Should Not Contain ${NET_3_DHCP_IP} None + OpenStackOperations.Create Router ${ROUTER} + OpenStackOperations.Add Router Interface ${ROUTER} @{SUBNETS}[1] + OpenStackOperations.Add Router Interface ${ROUTER} @{SUBNETS}[2] + ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${NET_ID} VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=${VPN_NAMES[0]} rd=${RD1} exportrt=${EXPORT_RT} importrt=${IMPORT_RT} tenantid=${tenant_id} ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[0] - VpnOperations.Associate L3VPN To Network networkid=${net_id} vpnid=@{VPN_INSTANCE_IDS}[0] + Associate L3VPN To ROUTER + OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS} @{NET_3_VMS} + OpenStackOperations.Get Suite Debugs + +Suite Teardown + [Documentation] Delete the setup + BuiltIn.Run Keyword And Ignore Error VpnOperations.Dissociate L3VPN From Networks networkid=${NET_ID} vpnid=@{VPN_INSTANCE_IDS}[0] + BuiltIn.Run Keyword And Ignore Error VpnOperations.Dissociate VPN to Router routerid=${ROUTER_ID} vpnid=@{VPN_INSTANCE_IDS}[0] + BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + OpenStackOperations.OpenStack Suite Teardown + +Associate L3VPN To ROUTER + VpnOperations.Associate L3VPN To Network networkid=${NET_ID} vpnid=@{VPN_INSTANCE_IDS}[0] ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Should Contain ${resp} ${net_id} - ${router_id} = OpenStackOperations.Get Router Id ${ROUTERS} ${devstack_conn_id} - BuiltIn.Set Suite Variable ${router_id} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} ${NET_ID} + ${ROUTER_ID} = OpenStackOperations.Get Router Id ${ROUTER} + BuiltIn.Set Suite Variable ${ROUTER_ID} + VpnOperations.Associate VPN to Router routerid=${ROUTER_ID} vpnid=@{VPN_INSTANCE_IDS}[0] ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] - BuiltIn.Should Contain ${resp} ${router_id} + BuiltIn.Should Contain ${resp} ${ROUTER_ID} Verify Ping On Same Networks [Documentation] Verify ping among VM of same network - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 @{NET_2_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 @{NET_2_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{NET_1_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{NET_1_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ping -c 3 @{NET_2_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ping -c 3 @{NET_2_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[0] ping -c 3 @{NET_3_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[0] ping -c 3 @{NET_3_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Ping On Different Networks [Documentation] Verify ping among VMs of different network - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_2_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ping -c 3 @{NET_2_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 @{NET_3_VM_IPS}[0] + ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ping -c 3 @{NET_3_VM_IPS}[0] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{NET_2_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ping -c 3 @{NET_2_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ping -c 3 @{NET_3_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ping -c 3 @{NET_3_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} - ${output}= OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] + ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[0] ping -c 3 @{NET_1_VM_IPS}[1] BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Flows Are Present [Arguments] ${ip} [Documentation] Verify Flows Are Present - ${flow_output}= Utils.Run Command On Remote System ${ip} sudo ovs-ofctl -O OpenFlow13 dump-flows br-int + ${flow_output}= Utils.Run Command On Remote System ${ip} sudo ovs-ofctl -O OpenFlow13 dump-flows ${INTEGRATION_BRIDGE} BuiltIn.Log ${flow_output} ${resp} = BuiltIn.Should Contain ${flow_output} table=50 ${resp} = BuiltIn.Should Contain ${flow_output} table=21, @@ -211,6 +225,11 @@ Verify Flows Are Present : FOR ${ip} IN @{vm_ips} \ ${resp} = Should Match regexp ${flow_output} table=21.*nw_dst=${ip} +Verify Flows Are Present On All Compute Nodes + [Documentation] Verify Flows Are Present On All Compute Nodes + : FOR ${ip} IN @{OS_CMP_IPS} + \ BuiltIn.Wait Until Keyword Succeeds 10s 2s Verify Flows Are Present ${ip} + Verify Ping To Sub Interface [Arguments] ${sub_interface_ip} [Documentation] Verify ping to the sub-interface @@ -230,22 +249,3 @@ Verify Learnt IP TODO Fail "Not implemented" - -Delete Setup - [Documentation] Delete the setup - VpnOperations.Dissociate L3VPN From Networks networkid=${net_id} vpnid=@{VPN_INSTANCE_IDS}[0] - VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0] - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] - OpenStackOperations.Remove Interface ${ROUTERS} @{SUBNETS}[1] - OpenStackOperations.Remove Interface ${ROUTERS} @{SUBNETS}[2] - OpenStackOperations.Delete Router ${ROUTERS} - ${vms} = BuiltIn.Create List @{VM_INSTANCES_NET1} @{VM_INSTANCES_NET2} @{VM_INSTANCES_NET3} - : FOR ${vm} IN @{vms} - \ OpenStackOperations.Delete Vm Instance ${vm} - : FOR ${port} IN @{PORT_LIST} - \ OpenStackOperations.Delete Port ${port} - : FOR ${subnet} IN @{SUBNETS} - \ OpenStackOperations.Delete SubNet ${subnet} - : FOR ${network} IN @{NETWORKS} - \ OpenStackOperations.Delete Network ${network} - OpenStackOperations.Delete SecurityGroup ${SECURITY_GROUP}