2 Documentation Test suite to validate subnet routing functionality for hidden IPv4/IPv6 address in an Openstack
3 ... integrated environment.
4 ... The assumption of this suite is that the environment is already configured with the proper
5 ... integration bridges and vxlan tunnels.
6 Suite Setup Suite Setup
7 Suite Teardown Suite Teardown
8 Test Setup SetupUtils.Setup_Test_With_Logging_And_Without_Fast_Failing
9 Test Teardown OpenStackOperations.Get Test Teardown Debugs
11 Library OperatingSystem
12 Library RequestsLibrary
13 Resource ../../../libraries/DevstackUtils.robot
14 Resource ../../../libraries/OpenStackOperations.robot
15 Resource ../../../libraries/OVSDB.robot
16 Resource ../../../libraries/SetupUtils.robot
17 Resource ../../../libraries/Tcpdump.robot
18 Resource ../../../libraries/Utils.robot
19 Resource ../../../variables/Variables.robot
20 Resource ../../../variables/netvirt/Variables.robot
21 Resource ../../../libraries/VpnOperations.robot
24 ${SECURITY_GROUP} vpndssr_sg
25 @{NETWORKS} vpndssr_net_1 vpndssr_net_2
26 @{SUBNETS4} vpndssr_ipv4_sub_1 vpndssr_ipv4_sub_2
27 @{SUBNETS6} vpndssr_ipv6_sub_1 vpndssr_ipv6_sub_2
28 @{SUBNETS4_CIDR} 30.1.1.0/24 40.1.1.0/24
29 @{SUBNETS6_CIDR} 2001:db5:0:2::/64 2001:db5:0:3::/64
30 ${SUBNET_ADDITIONAL_ARGS} --ip-version=6 --ipv6-address-mode=slaac --ipv6-ra-mode=slaac
31 @{PORTS} vpndssr_port_1 vpndssr_port_2 vpndssr_port_3 vpndssr_port_4
32 @{NET_1_VMS} vpndssr_net_1_vm_1 vpndssr_net_1_vm_2
33 @{NET_2_VMS} vpndssr_net_2_vm_1 vpndssr_net_2_vm_2
34 @{EXTRA_NW_IPV4} 30.1.1.209 30.1.1.210 40.1.1.209 40.1.1.210 40.1.1.211 30.1.1.211
35 @{EXTRA_NW_IPV6} 2001:db5:0:2::10 2001:db5:0:2::20 2001:db5:0:3::10 2001:db5:0:3::20 2001:db5:0:3::30 2001:db5:0:2::30
36 @{EXTRA_NW_SUBNET_IPv4} 30.1.1.0/24 40.1.1.0/24
37 @{EXTRA_NW_SUBNET_IPv6} 2001:db5:0:2::/64 2001:db5:0:3::/64
38 ${ROUTER} vpn_router_dualstack_subnet
39 ${UPDATE_NETWORK} update_network_dualstack_subnet
40 ${UPDATE_SUBNET} update_subnet_dualstack_subnet
41 ${UPDATE_PORT} update_port_dualstack_subnet
42 @{VPN_INSTANCE_ID} 1bc8cd92-48ca-49b5-94e1-b2921a261661 1bc8cd92-48ca-49b5-94e1-b2921a261662 1bc8cd92-48ca-49b5-94e1-b2921a261663
43 @{VPN_NAME} vpn1_dualstack_subnet vpn2_dualstack_subnet vpn3_dualstack_subnet
44 @{RDS} ["2506:2"] ["2606:2"] ["2706:2"]
48 Check ELAN Datapath Traffic Within The Networks
49 [Documentation] Checks datapath within the same network with different vlans.
50 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -I @{net_1_vm_ipv4}[0] -c 3 @{net_1_vm_ipv4}[1]
51 BuiltIn.Should Contain ${output} ${PING_REGEXP}
52 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -I @{net_1_vm_ipv6}[0] -c 3 @{net_1_vm_ipv6}[1]
53 BuiltIn.Should Contain ${output} ${PING_REGEXP}
54 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -I @{net_2_vm_ipv4}[0] -c 3 @{net_2_vm_ipv4}[1]
55 BuiltIn.Should Contain ${output} ${PING_REGEXP}
56 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -I @{net_2_vm_ipv6}[0] -c 3 @{net_2_vm_ipv6}[1]
57 BuiltIn.Should Contain ${output} ${PING_REGEXP}
60 [Documentation] Create L3VPN
61 ${net_id} = OpenStackOperations.Get Net Id @{NETWORKS}[0]
62 ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id}
63 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}
64 ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0]
65 BuiltIn.Should Contain ${resp} @{VPN_INSTANCE_ID}[0]
67 Associate L3VPN To Routers
68 [Documentation] Associating router to L3VPN.
69 ${router_id} = OpenStackOperations.Get Router Id ${ROUTER}
70 VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0]
71 ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0]
72 BuiltIn.Should Contain ${resp} ${router_id}
74 Configure Extra IPv4/IPv6 Addresss On Interface For Subnet Routing
75 [Documentation] Extra IPv4/IPv6 Address configuration on Interfaces
76 ${vm_ipv6} = BuiltIn.Create List @{net_1_vm_ipv6}[0] @{net_1_vm_ipv6}[1] @{net_2_vm_ipv6}[0] @{net_2_vm_ipv6}[1]
77 ${vm_ipv4} = BuiltIn.Create List @{net_1_vm_ipv4}[0] @{net_1_vm_ipv4}[1] @{net_2_vm_ipv4}[0] @{net_2_vm_ipv4}[1]
78 : FOR ${index} IN RANGE 0 ${LOOP_COUNT}
79 \ OpenStackOperations.Execute Command on VM Instance @{network_list}[${index}] @{vm_ipv6}[${index}] sudo ip -6 addr add @{EXTRA_NW_IPV6}[${index}]/64 dev eth0; sudo ifconfig eth0 allmulti; ip -6 a
80 : FOR ${index} IN RANGE 0 ${LOOP_COUNT}
81 \ OpenStackOperations.Execute Command on VM Instance @{network_list}[${index}] @{vm_ipv4}[${index}] sudo ifconfig eth0:1 @{EXTRA_NW_IPV4}[${index}] netmask 255.255.255.0 up; ip a
83 Verify Data Traffic On Configured Subnet Ipv4/IPv6 Address
84 [Documentation] Check Dual Stack data path verifcation within and across network.
85 BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv4 Data Traffic
86 BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv6 Data Traffic
88 Dissociate L3VPN From Routers and verify traffic
89 [Documentation] Dissociating router from L3VPN and check data path verification
90 ${router_id} = OpenStackOperations.Get Router Id ${ROUTER}
91 VpnOperations.Dissociate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0]
92 ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0]
93 BuiltIn.Should Not Contain ${resp} ${router_id}
94 BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv4 Data No Traffic
95 BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv6 Data No Traffic
97 Associate L3VPN Again To Routers and verify traffic
98 [Documentation] Associating router to L3VPN and check data path verification
99 ${router_id} = OpenStackOperations.Get Router Id ${ROUTER}
100 VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VPN_INSTANCE_ID}[0]
101 ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VPN_INSTANCE_ID}[0]
102 BuiltIn.Should Contain ${resp} ${router_id}
103 BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv4 Data Traffic
104 BuiltIn.Wait Until Keyword Succeeds 10x 30s Verify Ipv6 Data Traffic
107 [Documentation] Delete L3VPN.
108 VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[0]
112 [Documentation] Create basic setup for feature.Create two network,subnet,four ports and four VMs
113 VpnOperations.Basic Suite Setup
114 OpenStackOperations.Create Network @{NETWORKS}[0]
115 OpenStackOperations.Create Network @{NETWORKS}[1]
116 BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${NETWORK_URL} ${NETWORKS}
117 OpenStackOperations.Update Network @{NETWORKS}[0] additional_args=--description ${UPDATE_NETWORK}
118 ${output} = OpenStackOperations.Show Network @{NETWORKS}[0]
119 BuiltIn.Should Contain ${output} ${UPDATE_NETWORK}
120 OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS4}[0] @{SUBNETS4_CIDR}[0]
121 OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS6}[0] @{SUBNETS6_CIDR}[0] ${SUBNET_ADDITIONAL_ARGS}
122 OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS4}[1] @{SUBNETS4_CIDR}[1]
123 OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS6}[1] @{SUBNETS6_CIDR}[1] ${SUBNET_ADDITIONAL_ARGS}
124 BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS4}
125 BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS6}
126 OpenStackOperations.Update SubNet @{SUBNETS4}[0] additional_args=--description ${UPDATE_SUBNET}
127 ${output} = OpenStackOperations.Show SubNet @{SUBNETS4}[0]
128 BuiltIn.Should Contain ${output} ${UPDATE_SUBNET}
129 OpenStackOperations.Create Router ${ROUTER}
130 @{router_list} = BuiltIn.Create List ${ROUTER}
131 BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${ROUTER_URL} ${router_list}
132 : FOR ${port} IN @{SUBNETS4}
133 \ OpenStackOperations.Add Router Interface ${ROUTER} ${port}
134 ${interface_output} = OpenStackOperations.Show Router Interface ${ROUTER}
135 : FOR ${port} IN @{SUBNETS6}
136 \ OpenStackOperations.Add Router Interface ${ROUTER} ${port}
137 ${interface_output} = OpenStackOperations.Show Router Interface ${ROUTER}
138 Create Allow All SecurityGroup ${SECURITY_GROUP} IPv4 True
139 ${allowed_address_pairs_args} = BuiltIn.Set Variable --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV4}[0] --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV4}[1] --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV6}[0] --allowed-address ip-address=@{EXTRA_NW_SUBNET_IPV6}[1]
140 ${network_list} = BuiltIn.Create List @{NETWORKS}[0] @{NETWORKS}[0] @{NETWORKS}[1] @{NETWORKS}[1]
141 BuiltIn.Set Suite Variable ${network_list}
142 : FOR ${index} IN RANGE 0 ${LOOP_COUNT}
143 \ OpenStackOperations.Create Port @{network_list}[${index}] @{PORTS}[${index}] sg=${SECURITY_GROUP} additional_args=${allowed_address_pairs_args}
144 BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${PORT_URL} ${PORTS}
145 OpenStackOperations.Update Port @{PORTS}[0] additional_args=--name ${UPDATE_PORT}
146 ${output} = Show Port ${UPDATE_PORT}
147 BuiltIn.Should Contain ${output} ${UPDATE_PORT}
148 OpenStackOperations.Update Port ${UPDATE_PORT} additional_args=--name @{PORTS}[0]
149 OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP}
150 OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP}
151 OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${SECURITY_GROUP}
152 OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_2_VMS}[1] ${OS_CMP2_HOSTNAME} sg=${SECURITY_GROUP}
153 BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Wait For Routes To Propogate ${NETWORKS} ${SUBNETS4_CIDR}
154 BuiltIn.Wait Until Keyword Succeeds 30s 10s OpenStackOperations.Wait For Routes To Propogate ${NETWORKS} ${SUBNETS6_CIDR}
155 @{net_1_vm_ipv4} ${net_1_dhcp_ipv4} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
156 @{net_2_vm_ipv4} ${net_2_dhcp_ipv4} = OpenStackOperations.Get VM IPs @{NET_2_VMS}
157 BuiltIn.Should Not Contain ${net_1_vm_ipv4} None
158 BuiltIn.Should Not Contain ${net_2_vm_ipv4} None
159 BuiltIn.Should Not Contain ${net_1_dhcp_ipv4} None
160 BuiltIn.Should Not Contain ${net_2_dhcp_ipv4} None
161 BuiltIn.Log Collect VMs IPv6 addresses
162 ${prefix_net10} = String.Replace String @{SUBNETS6_CIDR}[0] ${IP6_SUBNET_CIDR_SUFFIX} ${IP6_ADDR_SUFFIX}
163 ${prefix_net20} = String.Replace String @{SUBNETS6_CIDR}[1] ${IP6_SUBNET_CIDR_SUFFIX} ${IP6_ADDR_SUFFIX}
164 ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses
165 ... true ${NET_1_VMS} @{NETWORKS}[0] ${prefix_net10}
166 ${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses
167 ... true ${NET_2_VMS} @{NETWORKS}[1] ${prefix_net20}
168 ${net_1_vm_ipv6} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${NET_1_VMS} @{NETWORKS}[0] ${prefix_net10}
169 ${net_2_vm_ipv6} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${NET_2_VMS} @{NETWORKS}[1] ${prefix_net20}
170 ${loop_count} Get Length ${NET_1_VMS}
171 : FOR ${index} IN RANGE 0 ${loop_count}
172 \ ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain @{net_1_vm_ipv6}[${index}] None
173 \ Run Keyword If '${status}' == 'FAIL' Write Commands Until Prompt nova console-log @{NET_1_VMS}[${index}] 30s
174 \ ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain @{net_2_vm_ipv6}[${index}] None
175 \ Run Keyword If '${status}' == 'FAIL' Write Commands Until Prompt nova console-log @{NET_2_VMS}[${index}] 30s
176 BuiltIn.Set Suite Variable ${net_1_vm_ipv4}
177 BuiltIn.Set Suite Variable ${net_2_vm_ipv4}
178 BuiltIn.Set Suite Variable ${net_1_vm_ipv6}
179 BuiltIn.Set Suite Variable ${net_2_vm_ipv6}
180 OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS}
181 OpenStackOperations.Get Suite Debugs
183 Verify Ipv4 Data Traffic
184 [Documentation] Check Ipv4 data path verification within and across network
185 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[1]
186 BuiltIn.Should Contain ${output} ${PING_REGEXP}
187 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[3]
188 BuiltIn.Should Contain ${output} ${PING_REGEXP}
189 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[2]
190 BuiltIn.Should Contain ${output} ${PING_REGEXP}
191 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[0]
192 BuiltIn.Should Contain ${output} ${PING_REGEXP}
193 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[3]
194 BuiltIn.Should Contain ${output} ${PING_REGEXP}
195 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[2]
196 BuiltIn.Should Contain ${output} ${PING_REGEXP}
197 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[0]
198 BuiltIn.Should Contain ${output} ${PING_REGEXP}
199 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[1]
200 BuiltIn.Should Contain ${output} ${PING_REGEXP}
201 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[2]
202 BuiltIn.Should Contain ${output} ${PING_REGEXP}
203 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[0]
204 BuiltIn.Should Contain ${output} ${PING_REGEXP}
205 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[1]
206 BuiltIn.Should Contain ${output} ${PING_REGEXP}
207 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[3]
208 BuiltIn.Should Contain ${output} ${PING_REGEXP}
210 Verify Ipv4 Data No Traffic
211 [Documentation] Check Ipv4 data path verification within and across network
212 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[3]
213 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
214 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[2]
215 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
216 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[3]
217 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
218 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[2]
219 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
220 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[0]
221 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
222 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[0] ping -c 3 @{EXTRA_NW_IPV4}[1]
223 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
224 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[0]
225 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
226 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv4}[1] ping -c 3 @{EXTRA_NW_IPV4}[1]
227 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
229 Verify Ipv6 Data Traffic
230 [Documentation] Check Ipv6 data path verification within and across network
231 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[1]
232 BuiltIn.Should Contain ${output} ${PING_REGEXP}
233 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[3]
234 BuiltIn.Should Contain ${output} ${PING_REGEXP}
235 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[2]
236 BuiltIn.Should Contain ${output} ${PING_REGEXP}
237 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[0]
238 BuiltIn.Should Contain ${output} ${PING_REGEXP}
239 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[3]
240 BuiltIn.Should Contain ${output} ${PING_REGEXP}
241 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[2]
242 BuiltIn.Should Contain ${output} ${PING_REGEXP}
243 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[0]
244 BuiltIn.Should Contain ${output} ${PING_REGEXP}
245 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[1]
246 BuiltIn.Should Contain ${output} ${PING_REGEXP}
247 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[2]
248 BuiltIn.Should Contain ${output} ${PING_REGEXP}
249 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[0]
250 BuiltIn.Should Contain ${output} ${PING_REGEXP}
251 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[1]
252 BuiltIn.Should Contain ${output} ${PING_REGEXP}
253 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[3]
254 BuiltIn.Should Contain ${output} ${PING_REGEXP}
256 Verify Ipv6 Data No Traffic
257 [Documentation] Check Ipv6 data path verification within and across network
258 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[3]
259 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
260 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[2]
261 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
262 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[3]
263 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
264 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{net_1_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[2]
265 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
266 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[0]
267 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
268 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[0] ping6 -c 3 @{EXTRA_NW_IPV6}[1]
269 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
270 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[0]
271 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
272 ${output} = OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[1] @{net_2_vm_ipv6}[1] ping6 -c 3 @{EXTRA_NW_IPV6}[1]
273 BuiltIn.Should Contain ${output} ${NO_PING_REGEXP}
276 [Documentation] Delete the setup
277 BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[0]
278 BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[1]
279 BuiltIn.Run Keyword And Ignore Error VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_ID}[2]
280 OpenStackOperations.OpenStack Suite Teardown