From b3964a98f3452abd2bfacb26c3c0e078dee15209 Mon Sep 17 00:00:00 2001 From: Sam Hague Date: Mon, 20 Nov 2017 21:06:28 -0500 Subject: [PATCH 1/1] Use consistent naming in ha l3 suite Change-Id: I4adbd1f585b853cb88866eb10fdcab187afa1693 Signed-off-by: Sam Hague --- csit/suites/openstack/clustering/ha_l3.robot | 214 +++++++++---------- 1 file changed, 102 insertions(+), 112 deletions(-) diff --git a/csit/suites/openstack/clustering/ha_l3.robot b/csit/suites/openstack/clustering/ha_l3.robot index 529fd0e0bb..db663723de 100644 --- a/csit/suites/openstack/clustering/ha_l3.robot +++ b/csit/suites/openstack/clustering/ha_l3.robot @@ -3,7 +3,7 @@ Documentation Test suite to check connectivity in L3 using routers. Suite Setup Devstack Suite Setup source_pwd=yes Suite Teardown Close All Connections Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing -Test Teardown Get Test Teardown Debugs +Test Teardown OpenStackOperations.Get Test Teardown Debugs Library SSHLibrary Library OperatingSystem Library RequestsLibrary @@ -18,15 +18,16 @@ Resource ../../../libraries/SetupUtils.robot Variables ../../../variables/Variables.py *** Variables *** -${SECURITY_GROUP} sg-clustering -@{NETWORKS_NAME} l3_net_1 l3_net_2 -@{SUBNETS_NAME} l3_sub_net_1 l3_sub_net_2 -@{NET_1_VM_INSTANCES} VmInstance1_net_1 VmInstance2_net_1 VmInstance3_net_1 -@{NET_2_VM_INSTANCES} VmInstance1_net_2 VmInstance2_net_2 VmInstance3_net_2 -@{GATEWAY_IPS} 90.0.0.1 100.0.0.1 -@{SUBNETS_RANGE} 90.0.0.0/24 100.0.0.0/24 -@{odl_1_and_2_down} ${1} ${2} -@{odl_2_and_3_down} ${2} ${3} +${SECURITY_GROUP} cl3_sg +@{NETWORKS_NAME} cl3_net_1 cl3_net_2 +@{SUBNETS_NAME} cl3_sub_1 cl3_sub_2 +@{ROUTERS_NAME} cl3_router_1 cl3_router_2 cl3_router_3 +@{NET_1_VM_INSTANCES} cl3_net_1_vm_1 cl3_net_1_vm_2 cl3_net_1_vm_3 +@{NET_2_VM_INSTANCES} cl3_net_2_vm_1 cl3_net_2_vm_2 cl3_net_2_vm_3 +@{SUBNETS_RANGE} 36.0.0.0/24 37.0.0.0/24 +@{GATEWAY_IPS} 36.0.0.1 37.0.0.1 +@{ODL_1_AND_2_DOWN} ${1} ${2} +@{ODL_2_AND_3_DOWN} ${2} ${3} *** Test Cases *** Create All Controller Sessions @@ -38,15 +39,15 @@ Create Networks : FOR ${NetworkElement} IN @{NETWORKS_NAME} \ OpenStackOperations.Create Network ${NetworkElement} -Create Subnets For l3_net_1 +Create Subnets For net_1 [Documentation] Create Sub Nets for the Networks with neutron request. - OpenStackOperations.Create SubNet l3_net_1 l3_sub_net_1 @{SUBNETS_RANGE}[0] + OpenStackOperations.Create SubNet @{NETWORKS_NAME}[0] @{SUBNETS_NAME}[0] @{SUBNETS_RANGE}[0] -Create Subnets For l3_net_2 +Create Subnets For net_2 [Documentation] Create Sub Nets for the Networks with neutron request. - OpenStackOperations.Create SubNet l3_net_2 l3_sub_net_2 @{SUBNETS_RANGE}[1] + OpenStackOperations.Create SubNet @{NETWORKS_NAME}[1] @{SUBNETS_NAME}[1] @{SUBNETS_RANGE}[1] -Add Ssh Allow Rule +Add Ssh Allow All Rule [Documentation] Allow all TCP/UDP/ICMP packets for this suite OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} @@ -54,9 +55,9 @@ Take Down ODL1 [Documentation] Kill the karaf in First Controller ClusterManagement.Kill Single Member 1 -Create Vm Instances For l3_net_1 - [Documentation] Create Four Vm instances using flavor and image names for a network. - OpenStackOperations.Create Vm Instances l3_net_1 ${NET_1_VM_INSTANCES} sg=${SECURITY_GROUP} +Create Vm Instances For net_1 + [Documentation] Create Vm instances using flavor and image names for a network. + OpenStackOperations.Create Vm Instances @{NETWORKS_NAME}[0] ${NET_1_VM_INSTANCES} sg=${SECURITY_GROUP} Bring Up ODL1 [Documentation] Bring up ODL1 again @@ -66,26 +67,21 @@ Take Down ODL2 [Documentation] Kill the karaf in Second Controller ClusterManagement.Kill Single Member 2 -Create Vm Instances For l3_net_2 - [Documentation] Create Four Vm instances using flavor and image names for a network. - OpenStackOperations.Create Vm Instances l3_net_2 ${NET_2_VM_INSTANCES} sg=${SECURITY_GROUP} +Create Vm Instances For net_2 + [Documentation] Create Vm instances using flavor and image names for a network. + OpenStackOperations.Create Vm Instances @{NETWORKS_NAME}[1] ${NET_2_VM_INSTANCES} sg=${SECURITY_GROUP} Check Vm Instances Have Ip Address - [Documentation] Test case to verify that all created VMs are ready and have received their ip addresses. - ... We are polling first and longest on the last VM created assuming that if it's received it's address - ... already the other instances should have theirs already or at least shortly thereafter. - # first, ensure all VMs are in ACTIVE state. if not, we can just fail the test case and not waste time polling - # for dhcp addresses - @{NET1_L3_VM_IPS} ${NET1_DHCP_IP} = Get VM IPs @{NET_1_VM_INSTANCES} - @{NET2_L3_VM_IPS} ${NET2_DHCP_IP} = Get VM IPs @{NET_2_VM_INSTANCES} - Set Suite Variable @{NET1_L3_VM_IPS} - Set Suite Variable @{NET2_L3_VM_IPS} - Should Not Contain ${NET1_L3_VM_IPS} None - Should Not Contain ${NET2_L3_VM_IPS} None - Should Not Contain ${NET1_DHCP_IP} None - Should Not Contain ${NET2_DHCP_IP} None - [Teardown] Run Keywords Show Debugs @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} - ... AND Get Test Teardown Debugs + @{NET_1_L3_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VM_INSTANCES} + @{NET_2_L3_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VM_INSTANCES} + BuiltIn.Set Suite Variable @{NET_1_L3_VM_IPS} + BuiltIn.Set Suite Variable @{NET_2_L3_VM_IPS} + BuiltIn.Should Not Contain ${NET_1_L3_VM_IPS} None + BuiltIn.Should Not Contain ${NET_2_L3_VM_IPS} None + BuiltIn.Should Not Contain ${NET_1_DHCP_IP} None + BuiltIn.Should Not Contain ${NET_2_DHCP_IP} None + [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} + ... AND OpenStackOperations.Get Test Teardown Debugs Bring Up ODL2 [Documentation] Bring up ODL2 again @@ -96,156 +92,150 @@ Take Down ODL3 ClusterManagement.Kill Single Member 3 Create Router router_2 - [Documentation] Create Router and Add Interface to the subnets. this fails sometimes. - OpenStackOperations.Create Router router_2 + [Documentation] Create Router and Add Interface to the subnets. + OpenStackOperations.Create Router @{ROUTERS_NAME}[1] [Teardown] Report_Failure_Due_To_Bug 6117 Create Router router_3 [Documentation] Create Router and Add Interface to the subnets. - OpenStackOperations.Create Router router_3 + OpenStackOperations.Create Router @{ROUTERS_NAME}[2] Add Interfaces To Router [Documentation] Add Interfaces : FOR ${interface} IN @{SUBNETS_NAME} - \ OpenStackOperations.Add Router Interface router_3 ${interface} + \ OpenStackOperations.Add Router Interface @{ROUTERS_NAME}[2] ${interface} Verify Created Routers [Documentation] Check created routers using northbound rest calls ${data} Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API} - Log ${data} - Should Contain ${data} router_3 + BuiltIn.Log ${data} + Should Contain ${data} @{ROUTERS_NAME}[2] Bring Up ODL3 [Documentation] Bring up ODL3 again ClusterManagement.Start Single Member 3 -Ping Vm Instance1 In l3_net_2 From l3_net_1 +Ping Vm Instance1 In net_2 From net_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace l3_net_1 @{NET2_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_2_L3_VM_IPS}[0] -Ping Vm Instance2 In l3_net_2 From l3_net_1 +Ping Vm Instance2 In net_2 From net_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace l3_net_1 @{NET2_L3_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_2_L3_VM_IPS}[1] -Ping Vm Instance3 In l3_net_2 From l3_net_1 +Ping Vm Instance3 In net_2 From net_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace l3_net_1 @{NET2_L3_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_2_L3_VM_IPS}[2] -Ping Vm Instance1 In l3_net_1 From l3_net_2 +Ping Vm Instance1 In net_1 From net_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace l3_net_2 @{NET1_L3_VM_IPS}[0] + OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_1_L3_VM_IPS}[0] -Ping Vm Instance2 In l3_net_1 From l3_net_2 +Ping Vm Instance2 In net_1 From net_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace l3_net_2 @{NET1_L3_VM_IPS}[1] + OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_1_L3_VM_IPS}[1] -Ping Vm Instance3 In l3_net_1 From l3_net_2 +Ping Vm Instance3 In net_1 From net_2 [Documentation] Check reachability of vm instances by pinging to them after creating routers. - OpenStackOperations.Ping Vm From DHCP Namespace l3_net_2 @{NET1_L3_VM_IPS}[2] + OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_1_L3_VM_IPS}[2] Take Down ODL1 and ODL2 [Documentation] Kill the karaf in First and Second Controller - ClusterManagement.Kill Members From List Or All ${odl_1_and_2_down} - [Teardown] Get OvsDebugInfo + ClusterManagement.Kill Members From List Or All ${ODL_1_AND_2_DOWN} + [Teardown] OpenStackOperations.Get OvsDebugInfo -Connectivity Tests From Vm Instance1 In l3_net_1 +Connectivity Tests From Vm Instance1 In net_1 [Documentation] ssh to the VM instance and test operations. - ${dst_ip_list}= Create List @{NET2_L3_VM_IPS} @{NET1_L3_VM_IPS} - Log ${dst_ip_list} - OpenStackOperations.Test Operations From Vm Instance l3_net_1 @{NET1_L3_VM_IPS}[0] ${dst_ip_list} - [Teardown] Get OvsDebugInfo + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list} + [Teardown] OpenStackOperations.Get OvsDebugInfo -Connectivity Tests From Vm Instance2 In l3_net_1 +Connectivity Tests From Vm Instance2 In net_1 [Documentation] ssh to the VM instance and test operations. - ${dst_ip_list}= Create List @{NET2_L3_VM_IPS} @{NET1_L3_VM_IPS} - Log ${dst_ip_list} - OpenStackOperations.Test Operations From Vm Instance l3_net_1 @{NET1_L3_VM_IPS}[1] ${dst_ip_list} - [Teardown] Get OvsDebugInfo + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list} + [Teardown] OpenStackOperations.Get OvsDebugInfo -Connectivity Tests From Vm Instance3 In l3_net_1 +Connectivity Tests From Vm Instance3 In net_1 [Documentation] ssh to the VM instance and test operations. - ${dst_ip_list}= Create List @{NET2_L3_VM_IPS} @{NET1_L3_VM_IPS} - Log ${dst_ip_list} - OpenStackOperations.Test Operations From Vm Instance l3_net_1 @{NET1_L3_VM_IPS}[2] ${dst_ip_list} - [Teardown] Get OvsDebugInfo + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list} + [Teardown] OpenStackOperations.Get OvsDebugInfo Bring Up ODL1 and ODL2 [Documentation] Bring up ODL1 and ODL2 again - ClusterManagement.Start Members From List Or All ${odl_1_and_2_down} + ClusterManagement.Start Members From List Or All ${ODL_1_AND_2_DOWN} Take Down ODL2 and ODL3 [Documentation] Kill the karaf in First and Second Controller - ClusterManagement.Kill Members From List Or All ${odl_2_and_3_down} - [Teardown] Get OvsDebugInfo + ClusterManagement.Kill Members From List Or All ${ODL_2_AND_3_DOWN} + [Teardown] OpenStackOperations.Get OvsDebugInfo -Connectivity Tests From Vm Instance1 In l3_net_2 +Connectivity Tests From Vm Instance1 In net_2 [Documentation] ssh to the VM instance and test operations. - ${dst_ip_list}= Create List @{NET2_L3_VM_IPS} @{NET1_L3_VM_IPS} - Log ${dst_ip_list} - OpenStackOperations.Test Operations From Vm Instance l3_net_2 @{NET2_L3_VM_IPS}[0] ${dst_ip_list} - [Teardown] Get OvsDebugInfo + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_L3_VM_IPS}[0] ${dst_list} + [Teardown] OpenStackOperations.Get OvsDebugInfo -Connectivity Tests From Vm Instance2 In l3_net_2 +Connectivity Tests From Vm Instance2 In net_2 [Documentation] ssh to the VM instance and test operations. - ${dst_ip_list}= Create List @{NET2_L3_VM_IPS} @{NET1_L3_VM_IPS} - Log ${dst_ip_list} - OpenStackOperations.Test Operations From Vm Instance l3_net_2 @{NET2_L3_VM_IPS}[1] ${dst_ip_list} - [Teardown] Get OvsDebugInfo + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list} + [Teardown] OpenStackOperations.Get OvsDebugInfo -Connectivity Tests From Vm Instance3 In l3_net_2 +Connectivity Tests From Vm Instance3 In net_2 [Documentation] ssh to the VM instance and test operations. - ${dst_ip_list}= Create List @{NET2_L3_VM_IPS} @{NET1_L3_VM_IPS} - Log ${dst_ip_list} - OpenStackOperations.Test Operations From Vm Instance l3_net_2 @{NET2_L3_VM_IPS}[2] ${dst_ip_list} - [Teardown] Get OvsDebugInfo + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list} + [Teardown] OpenStackOperations.Get OvsDebugInfo Bring Up ODL2 and ODL3 [Documentation] Bring up ODL2 and ODL3 again. - ClusterManagement.Start Members From List Or All ${odl_2_and_3_down} + ClusterManagement.Start Members From List Or All ${ODL_2_AND_3_DOWN} -Delete Vm Instances In l3_net_1 - [Documentation] Delete Vm instances using instance names in l3_net_1. - : FOR ${VmElement} IN @{NET_1_VM_INSTANCES} - \ OpenStackOperations.Delete Vm Instance ${VmElement} +Delete Vm Instances In net_1 + [Documentation] Delete Vm instances using instance names in net_1. + : FOR ${vm} IN @{NET_1_VM_INSTANCES} + \ OpenStackOperations.Delete Vm Instance ${vm} -Delete Vm Instances In l3_net_2 - [Documentation] Delete Vm instances using instance names in l3_net_2. - : FOR ${VmElement} IN @{NET_2_VM_INSTANCES} - \ OpenStackOperations.Delete Vm Instance ${VmElement} +Delete Vm Instances In net_2 + [Documentation] Delete Vm instances using instance names in net_2. + : FOR ${vm} IN @{NET_2_VM_INSTANCES} + \ OpenStackOperations.Delete Vm Instance ${vm} Delete Router Interfaces [Documentation] Remove Interface to the subnets. : FOR ${interface} IN @{SUBNETS_NAME} - \ OpenStackOperations.Remove Interface router_3 ${interface} + \ OpenStackOperations.Remove Interface @{ROUTERS_NAME}[2] ${interface} Delete Routers [Documentation] Delete Router and Interface to the subnets. - OpenStackOperations.Delete Router router_2 - OpenStackOperations.Delete Router router_3 + OpenStackOperations.Delete Router @{ROUTERS_NAME}[1] + OpenStackOperations.Delete Router @{ROUTERS_NAME}[2] Verify Deleted Routers [Documentation] Check deleted routers using northbound rest calls - ${data} Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API} - Log ${data} - Should Not Contain ${data} router_3 + ${data} = Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API} + BuiltIn.Log ${data} + BuiltIn.Should Not Contain ${data} @{ROUTERS_NAME}[2] -Delete Sub Networks In l3_net_1 +Delete Sub Network In net_1 [Documentation] Delete Sub Nets for the Networks with neutron request. - OpenStackOperations.Delete SubNet l3_sub_net_1 + OpenStackOperations.Delete SubNet @{SUBNETS_NAME}[0] -Delete Sub Networks In l3_net_2 +Delete Sub Network In net_2 [Documentation] Delete Sub Nets for the Networks with neutron request. - OpenStackOperations.Delete SubNet l3_sub_net_2 + OpenStackOperations.Delete SubNet @{SUBNETS_NAME}[1] Delete Networks [Documentation] Delete Networks with neutron request. - : FOR ${NetworkElement} IN @{NETWORKS_NAME} - \ OpenStackOperations.Delete Network ${NetworkElement} + : FOR ${network} IN @{NETWORKS_NAME} + \ OpenStackOperations.Delete Network ${network} Delete Security Group [Documentation] Delete security groups with neutron request - Delete SecurityGroup ${SECURITY_GROUP} + OpenStackOperations.Delete SecurityGroup ${SECURITY_GROUP} Verify Flows Cleanup [Documentation] Verify that flows have been cleaned up properly after removing all neutron configurations - Verify Flows Are Cleaned Up On All OpenStack Nodes + DataModels.Verify Flows Are Cleaned Up On All OpenStack Nodes -- 2.36.6