2 Documentation Test suite to verify packet flows between vm instances.
5 Library OperatingSystem
6 Library RequestsLibrary
7 Resource ../../../libraries/DevstackUtils.robot
8 Resource ../../../libraries/DataModels.robot
9 Resource ../../../libraries/OpenStackOperations.robot
10 Resource ../../../libraries/SetupUtils.robot
11 Resource ../../../libraries/Utils.robot
12 Resource ../../../libraries/KarafKeywords.robot
13 Resource ../../../variables/netvirt/Variables.robot
15 Suite Setup Suite Setup
16 Suite Teardown OpenStackOperations.OpenStack Suite Teardown
17 Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
18 Test Teardown OpenStackOperations.Get Test Teardown Debugs
22 ${SECURITY_GROUP} l2_sg
23 @{NETWORKS} l2_net_1 l2_net_2
24 @{SUBNETS} l2_sub_1 l2_sub_2
25 @{NET_1_VMS} l2_net_1_vm_1 l2_net_1_vm_2 l2_net_1_vm_3
26 @{NET_2_VMS} l2_net_2_vm_1 l2_net_2_vm_2 l2_net_2_vm_3
27 @{SUBNET_CIDRS} 21.0.0.0/24 22.0.0.0/24
32 Ping Vm Instances In net_1
33 [Documentation] Check reachability of vm instances by pinging to them.
34 OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[0]
35 OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[1]
36 OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[2]
38 Ping Vm Instances In net_2
39 [Documentation] Check reachability of vm instances by pinging to them.
40 OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_2_VM_IPS}[0]
41 OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_2_VM_IPS}[1]
42 OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[1] ${NET_2_VM_IPS}[2]
44 Connectivity Tests From Vm Instances In net_1
45 [Documentation] Login to the vm instance and test some operations
46 OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${NET_1_VM_IPS}
47 OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[1] ${NET_1_VM_IPS}
48 OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[2] ${NET_1_VM_IPS}
50 Connectivity Tests From Vm Instances In net_2
51 [Documentation] Login to the vm instance and test operations
52 OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[0] ${NET_2_VM_IPS}
53 OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[1] ${NET_2_VM_IPS}
54 OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[1] ${NET_2_VM_IPS}[2] ${NET_2_VM_IPS}
57 [Documentation] Delete Vm instances using instance names.
59 OpenStackOperations.Delete Vm Instance ${NET_1_VMS}[0]
61 No Ping For Deleted Vm
62 [Documentation] Check non reachability of deleted vm instances by pinging to them.
64 OpenStackOperations.Ping From DHCP Should Not Succeed ${NETWORKS}[0] ${NET_1_VM_IPS}[0]
66 Recreate The Deleted Vm Instance and check ping & connectivity.
67 [Documentation] Check reachability of recreated vm instances by pinging to them.
69 OpenStackOperations.Create Vm Instance On Compute Node
72 ... ${OS_CMP1_HOSTNAME}
73 ... sg=${SECURITY_GROUP}
74 @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
75 OpenStackOperations.Ping Vm From DHCP Namespace ${NETWORKS}[0] ${NET_1_VM_IPS}[0]
76 OpenStackOperations.Test Operations From Vm Instance ${NETWORKS}[0] ${NET_1_VM_IPS}[0] ${NET_1_VM_IPS}
81 OpenStackOperations.OpenStack Suite Setup
82 OpenStackOperations.Create Network
84 ... --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment ${NET_1_VLAN_ID}
85 OpenStackOperations.Create SubNet ${NETWORKS}[0] ${SUBNETS}[0] ${SUBNET_CIDRS}[0]
86 OpenStackOperations.Create Network ${NETWORKS}[1]
87 OpenStackOperations.Create SubNet ${NETWORKS}[1] ${SUBNETS}[1] ${SUBNET_CIDRS}[1]
88 OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP}
89 OpenStackOperations.Create Vm Instance On Compute Node
92 ... ${OS_CMP1_HOSTNAME}
93 ... sg=${SECURITY_GROUP}
94 OpenStackOperations.Create Vm Instance On Compute Node
97 ... ${OS_CMP1_HOSTNAME}
98 ... sg=${SECURITY_GROUP}
99 OpenStackOperations.Create Vm Instance On Compute Node
102 ... ${OS_CMP2_HOSTNAME}
103 ... sg=${SECURITY_GROUP}
104 OpenStackOperations.Create Vm Instance On Compute Node
107 ... ${OS_CMP1_HOSTNAME}
108 ... sg=${SECURITY_GROUP}
109 OpenStackOperations.Create Vm Instance On Compute Node
112 ... ${OS_CMP2_HOSTNAME}
113 ... sg=${SECURITY_GROUP}
114 OpenStackOperations.Create Vm Instance On Compute Node
117 ... ${OS_CMP2_HOSTNAME}
118 ... sg=${SECURITY_GROUP}
119 @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
120 @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS}
121 BuiltIn.Set Suite Variable @{NET_1_VM_IPS}
122 BuiltIn.Set Suite Variable @{NET_2_VM_IPS}
123 BuiltIn.Should Not Contain ${NET_1_VM_IPS} None
124 BuiltIn.Should Not Contain ${NET_2_VM_IPS} None
125 BuiltIn.Should Not Contain ${NET_1_DHCP_IP} None
126 BuiltIn.Should Not Contain ${NET_2_DHCP_IP} None
127 OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS}
128 OpenStackOperations.Get Suite Debugs