From: Sam Hague Date: Sun, 26 Nov 2017 23:26:51 +0000 (-0500) Subject: Add missing neutron cleanup X-Git-Tag: pre-potassium~1051 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=a7b78ab5cb8e300d315ccd43aca4bc709a276364;p=integration%2Ftest.git Add missing neutron cleanup Change-Id: I1213b046b0f4029eb85b1c84663c4df9b29b148f Signed-off-by: Sam Hague --- diff --git a/csit/libraries/OpenStackOperations.robot b/csit/libraries/OpenStackOperations.robot index f52d11cea9..df6e5989ba 100644 --- a/csit/libraries/OpenStackOperations.robot +++ b/csit/libraries/OpenStackOperations.robot @@ -1106,3 +1106,16 @@ Wait For Routes To Propogate \ ${cmd}= Set Variable If ${length} == 0 ip route ip -6 route \ ${output}= Write Commands Until Expected Prompt sudo ip netns exec qdhcp-${net_id} ${cmd} ]> \ Should Contain ${output} @{subnets}[${INDEX}] + +Neutron Cleanup + [Arguments] ${vms}=@{EMPTY} ${networks}=@{EMPTY} ${subnets}=@{EMPTY} ${ports}=@{EMPTY} ${sgs}=@{EMPTY} + : FOR ${vm} IN @{vms} + \ BuiltIn.Run Keyword And Ignore Error Delete Vm Instance ${vm} + : FOR ${port} IN @{ports} + \ BuiltIn.Run Keyword And Ignore Error Delete Port ${port} + : FOR ${subnet} IN @{subnets} + \ BuiltIn.Run Keyword And Ignore Error Delete SubNet ${subnet} + : FOR ${network} IN @{networks} + \ BuiltIn.Run Keyword And Ignore Error Delete Network ${network} + : FOR ${sg} IN @{sgs} + \ BuiltIn.Run Keyword And Ignore Error Delete SecurityGroup ${sg} diff --git a/csit/libraries/VpnOperations.robot b/csit/libraries/VpnOperations.robot index e4f0db2050..a55cde03c9 100644 --- a/csit/libraries/VpnOperations.robot +++ b/csit/libraries/VpnOperations.robot @@ -26,22 +26,11 @@ Basic Vpnservice Suite Setup SetupUtils.Setup_Utils_For_Setup_And_Teardown DevstackUtils.Devstack Suite Setup -Basic Vpnservice Suite Teardown - # Delete three L3VPNs created using Multiple L3VPN Test - Run Keyword And Ignore Error VPN Delete L3VPN vpnid=${VPN_INSTANCE_ID[0]} - Run Keyword And Ignore Error VPN Delete L3VPN vpnid=${VPN_INSTANCE_ID[1]} - Run Keyword And Ignore Error VPN Delete L3VPN vpnid=${VPN_INSTANCE_ID[2]} - ${VM_INSTANCES} = Create List @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} - : FOR ${VmInstance} IN @{VM_INSTANCES} - \ Run Keyword And Ignore Error Delete Vm Instance ${VmInstance} - : FOR ${Port} IN @{PORT_LIST} - \ Run Keyword And Ignore Error Delete Port ${Port} - : FOR ${Subnet} IN @{SUBNETS} - \ Run Keyword And Ignore Error Delete SubNet ${Subnet} - : FOR ${Network} IN @{NETWORKS} - \ Run Keyword And Ignore Error Delete Network ${Network} - Run Keyword And Ignore Error Delete SecurityGroup ${SECURITY_GROUP} - Close All Connections +Basic Vpnservice Suite Cleanup + [Arguments] ${vpn_instance_ids}=@{EMPTY} ${vms}=@{EMPTY} ${networks}=@{EMPTY} ${subnets}=@{EMPTY} ${ports}=@{EMPTY} ${sgs}=@{EMPTY} + : FOR ${vpn_instance_id} IN @{vpn_instance_ids} + \ BuiltIn.Run Keyword And Ignore Error VPN Delete L3VPN vpnid=${vpn_instance_id} + OpenStackOperations.Neutron Cleanup ${vms} ${networks} ${subnets} ${ports} ${sgs} VPN Create L3VPN [Arguments] &{Kwargs} diff --git a/csit/suites/netvirt/elan/elan.robot b/csit/suites/netvirt/elan/elan.robot index 720d6bde49..16fb8b0ef9 100644 --- a/csit/suites/netvirt/elan/elan.robot +++ b/csit/suites/netvirt/elan/elan.robot @@ -25,14 +25,13 @@ Resource ../../../variables/netvirt/Variables.robot ${SECURITY_GROUP} elan_sg @{NETWORKS} elan_net_1 elan_net_2 elan_net_3 @{SUBNETS} elan_sub_1 elan_sub_2 elan_sub_3 -@{SUBNET_CIDR} 71.1.1.0/24 72.1.1.0/24 73.1.1.0/24 +@{SUBNET_CIDR} 81.1.1.0/24 82.1.1.0/24 83.1.1.0/24 @{NET_1_PORTS} elan_net_1_port_1 elan_net_1_port_2 @{NET_2_PORTS} elan_net_2_port_1 elan_net_2_port_2 @{NET_3_PORTS} elan_net_3_port_1 elan_net_3_port_2 @{NET_1_VMS} elan_net_1_vm_1 elan_net_1_vm_2 @{NET_2_VMS} elan_net_2_vm_1 elan_net_2_vm_2 @{NET_3_VMS} elan_net_3_vm_1 elan_net_3_vm_2 -${PING_PASS} , 0% packet loss *** Test Cases *** Create Single Elan @@ -58,9 +57,9 @@ Verify Datapath for Single ELAN with Multiple DPN BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_COMPUTE_1_IP} ${smac_cn1} ${NET_1_MACS} BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_COMPUTE_2_IP} ${smac_cn2} ${NET_1_MACS} ${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_PASS} + 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] - BuiltIn.Should Contain ${output} ${PING_PASS} + BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Datapath After OVS Restart [Documentation] Verify datapath after OVS restart @@ -73,9 +72,9 @@ Verify Datapath After OVS Restart BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Flows Are Present For ELAN Service ${OS_COMPUTE_1_IP} ${smac_cn1} ${NET_1_MACS} BuiltIn.Wait Until Keyword Succeeds 60s 10s Verify Flows Are Present For ELAN Service ${OS_COMPUTE_2_IP} ${smac_cn2} ${NET_1_MACS} ${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_PASS} + 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] - BuiltIn.Should Contain ${output} ${PING_PASS} + BuiltIn.Should Contain ${output} ${PING_REGEXP} Verify Datapath After Recreate VM Instance [Documentation] Verify datapath after recreating Vm instance @@ -90,9 +89,9 @@ Verify Datapath After Recreate VM Instance BuiltIn.Should Not Contain ${NET_1_DHCP_IP} None BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_COMPUTE_1_IP} ${smac_cn1} ${NET_1_MACS} ${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_PASS} + 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] - BuiltIn.Should Contain ${output} ${PING_PASS} + BuiltIn.Should Contain ${output} ${PING_REGEXP} Delete All elan_net_1 VM And Verify Flow Table Updated [Documentation] Verify Flow table after all VM instance deleted @@ -111,19 +110,19 @@ Verify Datapath for Multiple ELAN with Multiple DPN BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_COMPUTE_1_IP} ${smac_cn1} ${MAC_LIST} BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_COMPUTE_2_IP} ${smac_cn2} ${MAC_LIST} ${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_PASS} + BuiltIn.Should Contain ${output} ${PING_REGEXP} ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[1] ping -c 3 ${NET_3_VM_IPS[0]} - BuiltIn.Should Contain ${output} ${PING_PASS} + 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]} - BuiltIn.Should Not Contain ${output} ${PING_PASS} + BuiltIn.Should Not Contain ${output} ${PING_REGEXP} ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[2] @{NET_3_VM_IPS}[1] ping -c 3 ${NET_2_VM_IPS[1]} - BuiltIn.Should Not Contain ${output} ${PING_PASS} + BuiltIn.Should Not Contain ${output} ${PING_REGEXP} @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS} BuiltIn.Should Not Contain ${NET_2_VM_IPS} None BuiltIn.Should Not Contain ${NET_2_DHCP_IP} None BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify Flows Are Present For ELAN Service ${OS_COMPUTE_1_IP} ${smac_cn1} ${MAC_LIST} ${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_PASS} + BuiltIn.Should Contain ${output} ${PING_REGEXP} [Teardown] BuiltIn.Run Keywords OpenStackOperations.Get Test Teardown Debugs ... AND MultipleElan Testsuite Cleanup diff --git a/csit/suites/netvirt/vpnservice/arp_learning.robot b/csit/suites/netvirt/vpnservice/arp_learning.robot index 390fd69de5..889617f6cb 100644 --- a/csit/suites/netvirt/vpnservice/arp_learning.robot +++ b/csit/suites/netvirt/vpnservice/arp_learning.robot @@ -1,7 +1,7 @@ *** 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 Teardown SSHLibrary.Close All Connections Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing Test Teardown OpenStackOperations.Get Test Teardown Debugs Library RequestsLibrary @@ -14,21 +14,35 @@ 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_CIDR} 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_VM_INSTANCES} vpna_net_1_vm_1 vpna_net_1_vm_2 +@{NET_2_VM_INSTANCES} vpna_net_2_vm_1 vpna_net_2_vm_2 +@{NET_3_VM_INSTANCES} vpna_net_3_vm_1 vpna_net_3_vm_2 +${ROUTERS} 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 +${FIB_ENTRY_4} 192.168.20.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 [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} + @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VM_INSTANCES} + @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VM_INSTANCES} + @{NET_3_VM_IPS} ${NET_3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_3_VM_INSTANCES} BuiltIn.Set Suite Variable @{NET_1_VM_IPS} BuiltIn.Set Suite Variable @{NET_2_VM_IPS} BuiltIn.Set Suite Variable @{NET_3_VM_IPS} @@ -116,6 +130,18 @@ TC06 Same DPN MIP Migration [Tags] not-implemented exclude TODO +Cleanup + [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 @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} @{NET_3_VM_INSTANCES} + @{sgs} = BuiltIn.Create List ${SECURITY_GROUP} + OpenStackOperations.Neutron Cleanup ${vms} ${NETWORKS} ${SUBNETS} ${PORTS} ${sgs} + *** Keywords *** Start Suite [Documentation] Run at start of the suite @@ -123,11 +149,6 @@ Start Suite 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 : FOR ${network} IN @{NETWORKS} @@ -141,18 +162,18 @@ Create Setup : 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 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} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VM_INSTANCES}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VM_INSTANCES}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_2_VM_INSTANCES}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_2_VM_INSTANCES}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[4] @{NET_3_VM_INSTANCES}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[5] @{NET_3_VM_INSTANCES}[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] @@ -230,22 +251,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} diff --git a/csit/suites/netvirt/vpnservice/vpn_basic.robot b/csit/suites/netvirt/vpnservice/vpn_basic.robot index d35c4954f2..3d73fabc7c 100644 --- a/csit/suites/netvirt/vpnservice/vpn_basic.robot +++ b/csit/suites/netvirt/vpnservice/vpn_basic.robot @@ -3,7 +3,7 @@ Documentation Test suite to validate vpnservice functionality in an openstac ... The assumption of this suite is that the environment is already configured with the proper ... integration bridges and vxlan tunnels. Suite Setup VpnOperations.Basic Vpnservice Suite Setup -Suite Teardown Basic Vpnservice Suite Teardown +Suite Teardown SSHLibrary.Close All Connections Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing Test Teardown OpenStackOperations.Get Test Teardown Debugs Library OperatingSystem @@ -32,6 +32,9 @@ ${ROUTER} vpn_router ${UPDATE_NETWORK} UpdateNetwork ${UPDATE_SUBNET} UpdateSubnet ${UPDATE_PORT} UpdatePort +@{VPN_INSTANCE_IDS} 4ae8cd92-48ca-49b5-94e1-b2921a261441 4ae8cd92-48ca-49b5-94e1-b2921a261442 4ae8cd92-48ca-49b5-94e1-b2921a261443 +@{VPN_NAME} vpn_1 vpn_2 vpn_3 +@{RDS} ["2200:2"] ["2300:2"] ["2400:2"] *** Test Cases *** Create Neutron Networks @@ -165,14 +168,14 @@ Create L3VPN ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] ${devstack_conn_id} ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} BuiltIn.Log @{RDS}[0] - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_ID}[0] name=@{VPN_NAME}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[0] + VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAME}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[0] Associate L3VPN To Routers ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} ${devstack_conn_id} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + 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} Verify L3VPN Datapath With Router Association @@ -194,14 +197,14 @@ Verify L3VPN Datapath With Router Association Disassociate L3VPN From Router ${router_id}= OpenStackOperations.Get Router Id ${ROUTER} ${devstack_conn_id} - VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${router_id} Delete Router And Router Interfaces With L3VPN ${router_id}= OpenStackOperations.Get Router Id ${ROUTER} ${devstack_conn_id} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + 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} : FOR ${INTERFACE} IN @{SUBNETS} \ OpenStackOperations.Remove Interface ${ROUTER} ${INTERFACE} @@ -214,7 +217,7 @@ Delete Router And Router Interfaces With L3VPN BuiltIn.Should Not Contain ${router_output} ${ROUTER} @{router_list} = BuiltIn.Create List ${ROUTER} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements Not At URI ${ROUTER_URL} ${router_list} - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${router_id} BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Flow Entry Removed From Flow Table ${OS_COMPUTE_1_IP} BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Flow Entry Removed From Flow Table ${OS_COMPUTE_2_IP} @@ -228,41 +231,41 @@ Associate L3VPN To Networks [Documentation] Associates L3VPN to networks and verify ${network1_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] ${devstack_conn_id} ${network2_id} = OpenStackOperations.Get Net Id @{NETWORKS}[1] ${devstack_conn_id} - VpnOperations.Associate L3VPN To Network networkid=${network1_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Associate L3VPN To Network networkid=${network1_id} vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${network1_id} - VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${network2_id} Dissociate L3VPN From Networks [Documentation] Dissociate L3VPN from networks ${network1_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] ${devstack_conn_id} ${network2_id} = OpenStackOperations.Get Net Id @{NETWORKS}[1] ${devstack_conn_id} - VpnOperations.Dissociate L3VPN From Networks networkid=${network1_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Dissociate L3VPN From Networks networkid=${network1_id} vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${network1_id} - VpnOperations.Dissociate L3VPN From Networks networkid=${network2_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Dissociate L3VPN From Networks networkid=${network2_id} vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${network2_id} Delete L3VPN [Documentation] Delete L3VPN - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] Create Multiple L3VPN [Documentation] Creates three L3VPNs and then verify the same ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] ${devstack_conn_id} ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_ID}[0] name=@{VPN_NAME}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_ID}[1] name=@{VPN_NAME}[1] rd=@{RDS}[1] exportrt=@{RDS}[1] importrt=@{RDS}[1] tenantid=${tenant_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_ID}[2] name=@{VPN_NAME}[2] rd=@{RDS}[2] exportrt=@{RDS}[2] importrt=@{RDS}[2] tenantid=${tenant_id} - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[1] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[1] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[2] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[2] + VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAME}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} + VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] name=@{VPN_NAME}[1] rd=@{RDS}[1] exportrt=@{RDS}[1] importrt=@{RDS}[1] tenantid=${tenant_id} + VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] name=@{VPN_NAME}[2] rd=@{RDS}[2] exportrt=@{RDS}[2] importrt=@{RDS}[2] tenantid=${tenant_id} + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] + BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[1] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] + BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[2] Check Datapath Traffic Across Networks With L3VPN [Documentation] Datapath Test Across the networks with VPN. @@ -271,6 +274,11 @@ Check Datapath Traffic Across Networks With L3VPN Delete Multiple L3VPN [Documentation] Delete three L3VPNs created using Multiple L3VPN Test - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[0] - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[1] - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[2] + VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] + VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] + +Cleanup + @{vms} = BuiltIn.Create List @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} + @{sgs} = BuiltIn.Create List ${SECURITY_GROUP} + Basic Vpnservice Suite Cleanup ${VPN_INSTANCE_IDS} ${vms} ${NETWORKS} ${SUBNETS} ${PORTS} ${sgs} diff --git a/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot b/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot index 99ba3efbe4..d2ae2f5b3e 100644 --- a/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot +++ b/csit/suites/netvirt/vpnservice/vpn_basic_ipv6.robot @@ -5,7 +5,7 @@ Documentation Test suite to validate IPv6 vpnservice functionality in an Ope Suite Setup BuiltIn.Run Keywords OpenStackOperations.Get OvsDebugInfo ... AND VpnOperations.Basic Vpnservice Suite Setup ... AND OpenStackOperations.Get OvsDebugInfo -Suite Teardown BuiltIn.Run Keywords Basic Vpnservice Suite Teardown +Suite Teardown SSHLibrary.Close All Connections ... AND OpenStackOperations.Get OvsDebugInfo Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing Test Teardown OpenStackOperations.Get Test Teardown Debugs @@ -22,6 +22,7 @@ Resource ../../../variables/Variables.robot Resource ../../../variables/netvirt/Variables.robot *** Variables *** +${SECURITY_GROUP} vpn6_sg @{NETWORKS} vpn6_net_1 vpn6_net_2 @{SUBNETS} vpn6_sub_1 vpn6_sub_2 @{SUBNETS_CIDR} 2001:db8:0:2::/64 2001:db8:0:3::/64 @@ -31,10 +32,12 @@ Resource ../../../variables/netvirt/Variables.robot ${ROUTER} vpn6_router @{EXTRA_NW_IP} 2001:db9:cafe:d::10 2001:db9:abcd:d::20 @{EXTRA_NW_SUBNET} 2001:db9:cafe:d::/64 2001:db9:abcd:d::/64 -${SECURITY_GROUP} vpn6_sg ${UPDATE_NETWORK} UpdateNetworkV6 ${UPDATE_SUBNET} UpdateSubnetV6 ${UPDATE_PORT} UpdatePortV6 +@{VPN_INSTANCE_IDS} 4ae8cd92-48ca-49b5-94e1-b2921a261661 4ae8cd92-48ca-49b5-94e1-b2921a261662 4ae8cd92-48ca-49b5-94e1-b2921a261663 +@{VPN_NAME} vpn6_1 vpn6_2 vpn6_3 +@{RDS} ["2206:2"] ["2306:2"] ["2406:2"] *** Test Cases *** Create Neutron Networks @@ -132,8 +135,8 @@ Check L3_Datapath Traffic Across Networks With Router BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify Flows Are Present For L3VPN ${OS_COMPUTE_1_IP} ${VM_IP_NET10} BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify Flows Are Present For L3VPN ${OS_COMPUTE_1_IP} ${VM_IP_NET20} BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Entry On ODL ${GWMAC_ADDRS} - BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Flow Entry On Flow Table ${OS_COMPUTE_1_IP} - BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Flow Entry On Flow Table ${OS_COMPUTE_2_IP} + BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Flow Entry On Flow Table ${OS_COMPUTE_1_IP} ipv6 + BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Flow Entry On Flow Table ${OS_COMPUTE_2_IP} ipv6 ${dst_ip_list} = BuiltIn.Create List @{VM_IP_NET10}[1] @{VM_IP_NET20} OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{VM_IP_NET10}[0] ${dst_ip_list} ${dst_ip_list} = BuiltIn.Create List @{VM_IP_NET20}[1] @{VM_IP_NET10} @@ -183,14 +186,14 @@ Delete And Recreate Extra Route Create L3VPN ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] ${devstack_conn_id} ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_ID}[0] name=@{VPN_NAME}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[0] + VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAME}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[0] Associate L3VPN To Routers ${router_id} = OpenStackOperations.Get Router Id ${ROUTER} ${devstack_conn_id} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + 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} Verify L3VPN Datapath With Router Association @@ -202,8 +205,8 @@ Verify L3VPN Datapath With Router Association BuiltIn.Wait Until Keyword Succeeds 60s 15s VpnOperations.Verify Flows Are Present For L3VPN ${OS_COMPUTE_1_IP} ${vm_instances} BuiltIn.Wait Until Keyword Succeeds 60s 15s VpnOperations.Verify Flows Are Present For L3VPN ${OS_COMPUTE_2_IP} ${vm_instances} BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Entry On ODL ${GWMAC_ADDRS} - BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Flow Entry On Flow Table ${OS_COMPUTE_1_IP} - BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Flow Entry On Flow Table ${OS_COMPUTE_2_IP} + BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Flow Entry On Flow Table ${OS_COMPUTE_1_IP} ipv6 + BuiltIn.Wait Until Keyword Succeeds 30s 10s VpnOperations.Verify GWMAC Flow Entry On Flow Table ${OS_COMPUTE_2_IP} ipv6 BuiltIn.Log Check datapath from network1 to network2 ${dst_ip_list} = BuiltIn.Create List @{VM_IP_NET10}[1] @{VM_IP_NET20} OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{VM_IP_NET10}[0] ${dst_ip_list} @@ -213,14 +216,14 @@ Verify L3VPN Datapath With Router Association Dissociate L3VPN From Routers ${router_id}= OpenStackOperations.Get Router Id ${ROUTER} ${devstack_conn_id} - VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${router_id} Delete Router And Router Interfaces With L3VPN ${router_id}= OpenStackOperations.Get Router Id ${ROUTER} ${devstack_conn_id} - VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + 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} : FOR ${INTERFACE} IN @{SUBNETS} \ OpenStackOperations.Remove Interface ${ROUTER} ${INTERFACE} @@ -233,7 +236,7 @@ Delete Router And Router Interfaces With L3VPN BuiltIn.Should Not Contain ${router_output} ${ROUTER} @{router_list} = BuiltIn.Create List ${ROUTER} BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements Not At URI ${ROUTER_URL} ${router_list} - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${router_id} BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify GWMAC Flow Entry Removed From Flow Table ${OS_COMPUTE_1_IP} BuiltIn.Wait Until Keyword Succeeds 30s 10s Verify GWMAC Flow Entry Removed From Flow Table ${OS_COMPUTE_2_IP} @@ -245,40 +248,45 @@ Delete Router With NonExistentRouter Name Associate L3VPN To Networks ${network1_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] ${devstack_conn_id} ${network2_id} = OpenStackOperations.Get Net Id @{NETWORKS}[1] ${devstack_conn_id} - VpnOperations.Associate L3VPN To Network networkid=${network1_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Associate L3VPN To Network networkid=${network1_id} vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${network1_id} - VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Contain ${resp} ${network2_id} Dissociate L3VPN From Networks ${network1_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0] ${devstack_conn_id} ${network2_id} = OpenStackOperations.Get Net Id @{NETWORKS}[1] ${devstack_conn_id} - VpnOperations.Dissociate L3VPN From Networks networkid=${network1_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Dissociate L3VPN From Networks networkid=${network1_id} vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${network1_id} - VpnOperations.Dissociate L3VPN From Networks networkid=${network2_id} vpnid=@{VPN_INSTANCE_ID}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.Dissociate L3VPN From Networks networkid=${network2_id} vpnid=@{VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] BuiltIn.Should Not Contain ${resp} ${network2_id} Delete L3VPN - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[0] + VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] Create Multiple L3VPN ${net_id} = Get Net Id @{NETWORKS}[0] ${devstack_conn_id} ${tenant_id} = Get Tenant ID From Network ${net_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_ID}[0] name=@{VPN_NAME}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_ID}[1] name=@{VPN_NAME}[1] rd=@{RDS}[1] exportrt=@{RDS}[1] importrt=@{RDS}[1] tenantid=${tenant_id} - VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_ID}[2] name=@{VPN_NAME}[2] rd=@{RDS}[2] exportrt=@{RDS}[2] importrt=@{RDS}[2] tenantid=${tenant_id} - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[0] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[1] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[1] - ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[2] - BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[2] + VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAME}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id} + VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] name=@{VPN_NAME}[1] rd=@{RDS}[1] exportrt=@{RDS}[1] importrt=@{RDS}[1] tenantid=${tenant_id} + VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] name=@{VPN_NAME}[2] rd=@{RDS}[2] exportrt=@{RDS}[2] importrt=@{RDS}[2] tenantid=${tenant_id} + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[0] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] + BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[1] + ${resp}= VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] + BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_IDS}[2] Delete Multiple L3VPN - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[0] - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[1] - VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[2] + VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] + VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] + VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] + +Cleanup + @{vms} = BuiltIn.Create List @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} + @{sgs} = BuiltIn.Create List ${SECURITY_GROUP} + Basic Vpnservice Suite Cleanup ${VPN_INSTANCE_IDS} ${vms} ${NETWORKS} ${SUBNETS} ${PORTS} ${sgs} diff --git a/csit/suites/openstack/securitygroup/neutron_security_group.robot b/csit/suites/openstack/securitygroup/neutron_security_group.robot index ae0de65179..b077912dfa 100644 --- a/csit/suites/openstack/securitygroup/neutron_security_group.robot +++ b/csit/suites/openstack/securitygroup/neutron_security_group.robot @@ -2,7 +2,7 @@ Documentation Test Suite for Neutron Security Group Suite Setup BuiltIn.Run Keywords SetupUtils.Setup_Utils_For_Setup_And_Teardown ... AND DevstackUtils.Devstack Suite Setup -Suite Teardown Neutron Security Group Suite Teardown +Suite Teardown SSHLibrary.Close All Connections Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing Test Teardown OpenStackOperations.Get Test Teardown Debugs Library SSHLibrary @@ -25,11 +25,12 @@ ${SEC_GROUP_API} /restconf/config/neutron:neutron/security-groups/ ${SEC_RULE_API} /restconf/config/neutron:neutron/security-rules/ ${ADD_ARG_SSH} --direction ingress --ethertype IPv4 --port_range_max 22 --port_range_min 22 --protocol tcp @{NETWORKS} sgs_net_1 -@{SUBNET} sgs_sub_1 -@{IP_SUBNET} 61.2.1.0/24 +@{SUBNETS} sgs_sub_1 +@{IP_SUBNETS} 61.2.1.0/24 @{PORTS} sgs_port_1 sgs_port_2 ${SECURITY_GROUPS} --security-group @{SGS} sgs_sg_1 sgs_sg_2 sgs_sg_3 sgs_sg_4 +${SG_UPDATED} SSH_UPDATED ${ADD_ARG_SSH5} --direction ingress --ethertype IPv4 --port_range_max 20 --port_range_min 25 --protocol tcp @{ADD_PARAMS} ingression IPv4 20 25 tcp ${ADD_ARG_SSH6} --direction ingress --ethertype IPv4 --port_range_max 25 --port_range_min -1 --protocol tcp @@ -44,7 +45,7 @@ TC01_Update Security Group description and Name ${sg_id} = BuiltIn.Run Keyword Create Security Group and Validate ${SGS[0]} Create Security Rule and Validate ${SGS[0]} direction=${ADD_PARAMS[0]} ethertype=${ADD_PARAMS[1]} port_range_max=${ADD_PARAMS[3]} port_range_min=${ADD_PARAMS[2]} protocol=${ADD_PARAMS[4]} Get Flows ${OS_COMPUTE_1_IP} ${OS_COMPUTE_2_IP} - Neutron Setup Creation ${NETWORKS[0]} ${SUBNET[0]} ${IP_SUBNET[0]} ${PORTS[0]} ${PORTS[1]} ${SECURITY_GROUPS} + Neutron Setup Creation ${NETWORKS[0]} ${SUBNETS[0]} ${IP_SUBNETS[0]} ${PORTS[0]} ${PORTS[1]} ${SECURITY_GROUPS} ... ${sg_id} Security group verification on Neutron port ${PORTS[0]} ${sg_id} Security group verification on Neutron port ${PORTS[1]} ${sg_id} @@ -72,6 +73,11 @@ TC04_Create Security Rule with port_range_max = -1 Get Flows ${OS_COMPUTE_1_IP} ${OS_COMPUTE_2_IP} Neutron Rule Creation With Invalid Parameters ${SGS[3]} ${ADD_ARG_SSH7} ${INVALID_PORT_RANGE_MIN} +Cleanup + @{vms} = BuiltIn.Create List + @{sgs} = BuiltIn.Create List ${SG_UPDATED} @{SGS} + OpenStackOperations.Neutron Cleanup ${vms} ${NETWORKS} ${SUBNETS} ${PORTS} ${sgs} + *** Keywords *** Get Flows [Arguments] ${OS_COMPUTE_1_IP} ${OS_COMPUTE_2_IP} @@ -103,17 +109,6 @@ Neutron Setup Creation ${port_id} OpenStackOperations.Create Neutron Port With Additional Params ${network} ${port1} ${add_args} ${port_id} OpenStackOperations.Create Neutron Port With Additional Params ${network} ${port2} ${add_args} -Neutron Security Group Suite Teardown - : FOR ${port} IN @{PORTS} - \ Run Keyword And Ignore Error OpenStackOperations.Delete Port ${port} - : FOR ${subnet} IN @{SUBNETS} - \ Run Keyword And Ignore Error OpenStackOperations.Delete SubNet ${subnet} - : FOR ${network} IN @{NETWORKS} - \ Run Keyword And Ignore Error OpenStackOperations.Delete Network ${network} - : FOR ${sg} IN @{SGS} - \ Run Keyword And Ignore Error OpenStackOperations.Delete SecurityGroup ${sg} - SSHLibrary.Close All Connections - Security group verification on Neutron port [Arguments] ${port} ${sg_id} ${port_show} = OpenStackOperations.Neutron Port Show ${port} diff --git a/csit/variables/netvirt/Variables.robot b/csit/variables/netvirt/Variables.robot index f060b2112d..0868e93f9a 100644 --- a/csit/variables/netvirt/Variables.robot +++ b/csit/variables/netvirt/Variables.robot @@ -7,18 +7,8 @@ ${CIRROS_stable/newton} cirros-0.3.4-x86_64-uec ${CIRROS_stable/ocata} cirros-0.3.4-x86_64-uec ${CIRROS_stable/pike} cirros-0.3.5-x86_64-disk ${CIRROS_master} cirros-0.3.5-x86_64-disk -@{NETWORKS} NETWORK1 NETWORK2 NETWORK3 -@{SUBNETS} SUBNET1 SUBNET2 SUBNET3 -@{SUBNET_CIDR} 10.10.10.0/24 10.20.20.0/24 10.30.30.0/24 -@{PORT_LIST} PORT1 PORT2 PORT3 PORT4 PORT5 PORT6 -@{VM_INSTANCES_NET1} VM1 VM2 -@{VM_INSTANCES_NET2} VM3 VM4 -@{VM_INSTANCES_NET3} VM5 VM6 -@{VPN_INSTANCE_ID} 4ae8cd92-48ca-49b5-94e1-b2921a261111 4ae8cd92-48ca-49b5-94e1-b2921a261112 4ae8cd92-48ca-49b5-94e1-b2921a261113 -@{VPN_NAME} vpn1 vpn2 vpn3 ${NET1_IPV6_ADDR_POOL} --allocation-pool start=2001:db8:0:2::2,end=2001:db8:0:2:ffff:ffff:ffff:fffe ${NET2_IPV6_ADDR_POOL} --allocation-pool start=2001:db8:0:3::2,end=2001:db8:0:3:ffff:ffff:ffff:fffe -${ROUTERS} ROUTER_1 ${RESP_CODE} 200 ${RESP_ERROR_CODE} 400 ${MAC_REGEX} ([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}) @@ -26,14 +16,6 @@ ${IP_REGEX} (([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9] ${IP6_REGEX} (2001:([0-9A-Fa-f]{0,4}:){1,6}([0-9A-Fa-f]{1,4})) ${PING_REGEXP} , 0% packet loss ${NO_PING_REGEXP} , 100% packet loss -# Values passed for ARP_Learning -@{EXTRA_NW_IP} 192.168.10.110 192.168.20.110 -${FIB_ENTRY_2} 192.168.10.110 -${FIB_ENTRY_4} 192.168.20.110 -@{RDS} ["2200:2"] ["2300:2"] ["2400:2"] -${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 # Values passed for extra routes ${RT_OPTIONS} --route ${RT_CLEAR} --no-route