X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Fsuites%2Fopenstack%2Fclustering%2Fha_l3.robot;h=9b810bb70551853481b7819033fc862a17f25211;hb=94651ca9711d8eb316721775561e815830bc6c7e;hp=bf0935df25f44cb63bb5766a4f9a2e86797cdcee;hpb=7cc59f4fa1b6750cb1e122efa5fd1cbcb2da54fd;p=integration%2Ftest.git diff --git a/csit/suites/openstack/clustering/ha_l3.robot b/csit/suites/openstack/clustering/ha_l3.robot index bf0935df25..9b810bb705 100644 --- a/csit/suites/openstack/clustering/ha_l3.robot +++ b/csit/suites/openstack/clustering/ha_l3.robot @@ -1,7 +1,7 @@ *** Settings *** Documentation Test suite to check connectivity in L3 using routers. -Suite Setup Devstack Suite Setup source_pwd=yes -Suite Teardown Close All Connections +Suite Setup OpenStackOperations.OpenStack Suite Setup +Suite Teardown OpenStackOperations.OpenStack Suite Teardown Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing Test Teardown OpenStackOperations.Get Test Teardown Debugs Library SSHLibrary @@ -15,7 +15,8 @@ Resource ../../../libraries/OVSDB.robot Resource ../../../libraries/ClusterOvsdb.robot Resource ../../../libraries/ClusterManagement.robot Resource ../../../libraries/SetupUtils.robot -Variables ../../../variables/Variables.py +Resource ../../../variables/Variables.robot +Resource ../../../variables/netvirt/Variables.robot *** Variables *** ${SECURITY_GROUP} cl3_sg @@ -31,13 +32,21 @@ ${SECURITY_GROUP} cl3_sg *** Test Cases *** Create All Controller Sessions - [Documentation] Create sessions for all three contorllers. + [Documentation] Create sessions for all three controllers. ClusterManagement.ClusterManagement Setup +Take Down Leader Of Default Shard + [Documentation] Stop the karaf on ODL cluster leader + ${cluster_leader} ${followers} = ClusterManagement.Get Leader And Followers For Shard shard_type=config + BuiltIn.Set Suite Variable ${cluster_leader} + ${new_cluster_list} = ClusterManagement.Stop Single Member ${cluster_leader} msg=up: ODL1, ODL2, ODL3, down=none + BuiltIn.Set Suite Variable ${new_cluster_list} + Create Networks [Documentation] Create Network with neutron request. - : FOR ${NetworkElement} IN @{NETWORKS} - \ OpenStackOperations.Create Network ${NetworkElement} + FOR ${NetworkElement} IN @{NETWORKS} + OpenStackOperations.Create Network ${NetworkElement} + END Create Subnets For net_1 [Documentation] Create Sub Nets for the Networks with neutron request. @@ -47,29 +56,37 @@ Create Subnets For net_2 [Documentation] Create Sub Nets for the Networks with neutron request. OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1] +Bring Up Leader Of Default Shard + [Documentation] Bring up on cluster leader + ClusterManagement.Start Single Member ${cluster_leader} msg=up: ${new_cluster_list}, down: ${cluster_leader} + Add Ssh Allow All Rule [Documentation] Allow all TCP/UDP/ICMP packets for this suite OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP} Take Down ODL1 - [Documentation] Kill the karaf in First Controller - ClusterManagement.Kill Single Member 1 + [Documentation] Stop the karaf in First Controller + ClusterManagement.Stop Single Member 1 msg=up: ODL1, ODL2, ODL3, down=none Create Vm Instances For net_1 [Documentation] Create Vm instances using flavor and image names for a network. - OpenStackOperations.Create Vm Instances @{NETWORKS}[0] ${NET_1_VMS} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[1] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[0] @{NET_1_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} Bring Up ODL1 [Documentation] Bring up ODL1 again - ClusterManagement.Start Single Member 1 + ClusterManagement.Start Single Member 1 msg=up: ODL2, ODL3, down: ODL1 Take Down ODL2 - [Documentation] Kill the karaf in Second Controller - ClusterManagement.Kill Single Member 2 + [Documentation] Stop the karaf in Second Controller + ClusterManagement.Stop Single Member 2 msg=up: ODL1, ODL2, ODL3, down=none Create Vm Instances For net_2 [Documentation] Create Vm instances using flavor and image names for a network. - OpenStackOperations.Create Vm Instances @{NETWORKS}[1] ${NET_2_VMS} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} + OpenStackOperations.Create Vm Instance On Compute Node @{NETWORKS}[1] @{NET_2_VMS}[2] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP} Check Vm Instances Have Ip Address @{NET_1_L3_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS} @@ -85,11 +102,11 @@ Check Vm Instances Have Ip Address Bring Up ODL2 [Documentation] Bring up ODL2 again - ClusterManagement.Start Single Member 2 + ClusterManagement.Start Single Member 2 msg=up: ODL1, ODL3, down: ODL2 Take Down ODL3 - [Documentation] Kill the karaf in Third Controller - ClusterManagement.Kill Single Member 3 + [Documentation] Stop the karaf in Third Controller + ClusterManagement.Stop Single Member 3 msg=up: ODL1, ODL2, ODL3, down=none Create Router router_2 [Documentation] Create Router and Add Interface to the subnets. @@ -102,8 +119,9 @@ Create Router router_3 Add Interfaces To Router [Documentation] Add Interfaces - : FOR ${interface} IN @{SUBNETS} - \ OpenStackOperations.Add Router Interface @{ROUTERS}[2] ${interface} + FOR ${interface} IN @{SUBNETS} + OpenStackOperations.Add Router Interface @{ROUTERS}[2] ${interface} + END Verify Created Routers [Documentation] Check created routers using northbound rest calls @@ -113,7 +131,7 @@ Verify Created Routers Bring Up ODL3 [Documentation] Bring up ODL3 again - ClusterManagement.Start Single Member 3 + ClusterManagement.Start Single Member 3 msg=up: ODL1, ODL2, down: ODL3 Ping Vm Instance1 In net_2 From net_1 [Documentation] Check reachability of vm instances by pinging to them after creating routers. @@ -139,74 +157,130 @@ 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 @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[2] +Connectivity Tests From Vm Instance1 In net_1 In Healthy Cluster + [Documentation] ssh to the VM instance and test operations. + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list} + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False + +Connectivity Tests From Vm Instance2 In net_1 In Healthy Cluster + [Documentation] ssh to the VM instance and test operations. + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list} + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False + +Connectivity Tests From Vm Instance3 In net_1 In Healthy Cluster + [Documentation] ssh to the VM instance and test operations. + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list} + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False + 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] OpenStackOperations.Get OvsDebugInfo + [Documentation] Stop the karaf in First and Second Controller + ClusterManagement.Stop Single Member 1 msg=up: ODL1, ODL2, ODL3, down=none + ClusterManagement.Stop Single Member 2 msg=up: ODL2, ODL3, down=ODL1 + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False -Connectivity Tests From Vm Instance1 In net_1 +Connectivity Tests From Vm Instance1 In net_1 With Two ODLs Down [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list} - [Teardown] OpenStackOperations.Get OvsDebugInfo + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False -Connectivity Tests From Vm Instance2 In net_1 +Connectivity Tests From Vm Instance2 In net_1 With Two ODLs Down [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list} - [Teardown] OpenStackOperations.Get OvsDebugInfo + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False -Connectivity Tests From Vm Instance3 In net_1 +Connectivity Tests From Vm Instance3 In net_1 With Two ODLs Down [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list} - [Teardown] OpenStackOperations.Get OvsDebugInfo + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Bring Up ODL1 and ODL2 - [Documentation] Bring up ODL1 and ODL2 again - ClusterManagement.Start Members From List Or All ${ODL_1_AND_2_DOWN} + [Documentation] Bring up ODL1 and ODL2 again. Do not check for cluster sync until all nodes are + ... up. akka will not let nodes join until they are all back up if two were down. + ClusterManagement.Start Single Member 1 msg=up: ODL3, down: ODL1, ODL2 wait_for_sync=False + ClusterManagement.Start Single Member 2 msg=up: ODL1, ODL3, down: ODL2 + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False 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] OpenStackOperations.Get OvsDebugInfo + [Documentation] Stop the karaf in First and Second Controller + ClusterManagement.Stop Single Member 2 msg=up: ODL1, ODL2, ODL3, down=none + ClusterManagement.Stop Single Member 3 msg=up: ODL1, ODL3, down=ODL2 + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance1 In net_2 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[0] ${dst_list} - [Teardown] OpenStackOperations.Get OvsDebugInfo + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance2 In net_2 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list} - [Teardown] OpenStackOperations.Get OvsDebugInfo + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Connectivity Tests From Vm Instance3 In net_2 [Documentation] ssh to the VM instance and test operations. ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list} - [Teardown] OpenStackOperations.Get OvsDebugInfo + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Bring Up ODL2 and ODL3 - [Documentation] Bring up ODL2 and ODL3 again. - ClusterManagement.Start Members From List Or All ${ODL_2_AND_3_DOWN} + [Documentation] Bring up ODL2 and ODL3 again. Do not check for cluster sync until all nodes are + ... up. akka will not let nodes join until they are all back up if two were down. + ClusterManagement.Start Single Member 2 msg=up: ODL1, down: ODL2, ODL3 wait_for_sync=False + ClusterManagement.Start Single Member 3 msg=up: ODL1, ODL2, down: ODL3 + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False + +Take Down All Instances + [Documentation] Stop karaf on all controllers + ClusterManagement.Stop Single Member 1 msg=up: ODL1, ODL2, ODL3, down=none + ClusterManagement.Stop Single Member 2 msg=up: ODL2, ODL3, down=ODL1 + ClusterManagement.Stop Single Member 3 msg=up: ODL3, down=ODL1, ODL2 + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False + +Bring Up All Instances + [Documentation] Bring up all controllers. Do not check for cluster sync until all nodes are + ... up. akka will not let nodes join until they are all back up if two were down. + ClusterManagement.Start Single Member 1 msg=up: none, down: ODL1, ODL2, ODL3 wait_for_sync=False + ClusterManagement.Start Single Member 2 msg=up: ~ODL1, down: ODL2, ODL3 wait_for_sync=False + ClusterManagement.Start Single Member 3 msg=up: ~ODL1, ~ODL2, down: ODL3 + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False + +Connectivity Tests From Vm Instance2 In net_2 after recovering all nodes + [Documentation] ssh to the VM instance and test operations. + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list} + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False + +Connectivity Tests From Vm Instance3 In net_2 after recovering all nodes + [Documentation] ssh to the VM instance and test operations. + ${dst_list} = BuiltIn.Create List @{NET_2_L3_VM_IPS} @{NET_1_L3_VM_IPS} + OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list} + [Teardown] OpenStackOperations.Get Test Teardown Debugs fail=False Delete Vm Instances In net_1 [Documentation] Delete Vm instances using instance names in net_1. - : FOR ${vm} IN @{NET_1_VMS} - \ OpenStackOperations.Delete Vm Instance ${vm} + FOR ${vm} IN @{NET_1_VMS} + OpenStackOperations.Delete Vm Instance ${vm} + END Delete Vm Instances In net_2 [Documentation] Delete Vm instances using instance names in net_2. - : FOR ${vm} IN @{NET_2_VMS} - \ OpenStackOperations.Delete Vm Instance ${vm} + FOR ${vm} IN @{NET_2_VMS} + OpenStackOperations.Delete Vm Instance ${vm} + END Delete Router Interfaces [Documentation] Remove Interface to the subnets. - : FOR ${interface} IN @{SUBNETS} - \ OpenStackOperations.Remove Interface @{ROUTERS}[2] ${interface} + FOR ${interface} IN @{SUBNETS} + OpenStackOperations.Remove Interface @{ROUTERS}[2] ${interface} + END Delete Routers [Documentation] Delete Router and Interface to the subnets. @@ -229,8 +303,9 @@ Delete Sub Network In net_2 Delete Networks [Documentation] Delete Networks with neutron request. - : FOR ${network} IN @{NETWORKS} - \ OpenStackOperations.Delete Network ${network} + FOR ${network} IN @{NETWORKS} + OpenStackOperations.Delete Network ${network} + END Delete Security Group [Documentation] Delete security groups with neutron request