${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} 81.1.1.0/24 82.1.1.0/24 83.1.1.0/24
+@{SUBNET_CIDRS} 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
Create Single Elan
OpenStackOperations.Create Allow All SecurityGroup ${SECURITY_GROUP}
OpenStackOperations.Create Network @{NETWORKS}[0]
- OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] ${SUBNET_CIDR[0]}
+ OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] ${SUBNET_CIDRS[0]}
OpenStackOperations.Create Port @{NETWORKS}[0] ${NET_1_PORTS[0]} sg=${SECURITY_GROUP}
OpenStackOperations.Create Port @{NETWORKS}[0] ${NET_1_PORTS[1]} sg=${SECURITY_GROUP}
BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${PORT_URL} ${NET_1_PORTS}
[Documentation] Create additional ELAN for multipleElan with Multiple DPN test
OpenStackOperations.Create Network @{NETWORKS}[1]
OpenStackOperations.Create Network @{NETWORKS}[2]
- OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] ${SUBNET_CIDR[1]}
- OpenStackOperations.Create SubNet @{NETWORKS}[2] @{SUBNETS}[2] ${SUBNET_CIDR[2]}
+ OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] ${SUBNET_CIDRS[1]}
+ OpenStackOperations.Create SubNet @{NETWORKS}[2] @{SUBNETS}[2] ${SUBNET_CIDRS[2]}
OpenStackOperations.Create Port @{NETWORKS}[1] ${NET_2_PORTS[0]} sg=${SECURITY_GROUP}
OpenStackOperations.Create Port @{NETWORKS}[1] ${NET_2_PORTS[1]} sg=${SECURITY_GROUP}
OpenStackOperations.Create Port @{NETWORKS}[2] ${NET_3_PORTS[0]} sg=${SECURITY_GROUP}
${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
+@{SUBNET_CIDRS} 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
+@{NET_1_VMS} vpna_net_1_vm_1 vpna_net_1_vm_2
+@{NET_2_VMS} vpna_net_2_vm_1 vpna_net_2_vm_2
+@{NET_3_VMS} 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
*** 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 @{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}
+ @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
+ @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS}
+ @{NET_3_VM_IPS} ${NET_3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_3_VMS}
BuiltIn.Set Suite Variable @{NET_1_VM_IPS}
BuiltIn.Set Suite Variable @{NET_2_VM_IPS}
BuiltIn.Set Suite Variable @{NET_3_VM_IPS}
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}
+ @{vms} = BuiltIn.Create List @{NET_1_VMS} @{NET_2_VMS} @{NET_3_VMS}
@{sgs} = BuiltIn.Create List ${SECURITY_GROUP}
OpenStackOperations.Neutron Cleanup ${vms} ${NETWORKS} ${SUBNETS} ${PORTS} ${sgs}
: FOR ${network} IN @{NETWORKS}
\ BuiltIn.Should Contain ${neutron_networks} ${network}
: FOR ${i} IN RANGE 0 3
- \ OpenStackOperations.Create SubNet @{NETWORKS}[${i}] @{SUBNETS}[${i}] @{SUBNET_CIDR}[${i}]
+ \ OpenStackOperations.Create SubNet @{NETWORKS}[${i}] @{SUBNETS}[${i}] @{SUBNET_CIDRS}[${i}]
${neutron_subnets} = OpenStackOperations.List Subnets
: FOR ${subnet} IN @{SUBNETS}
\ BuiltIn.Should Contain ${neutron_subnets} ${subnet}
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 Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VMS}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_2_VMS}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_2_VMS}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[4] @{NET_3_VMS}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[5] @{NET_3_VMS}[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]
${SECURITY_GROUP} vpn_sg
@{NETWORKS} vpn_net_1 vpn_net_2
@{SUBNETS} vpn_sub_1 vpn_sub_2
-@{SUBNETS_CIDR} 10.1.1.0/24 20.1.1.0/24
+@{SUBNET_CIDRS} 10.1.1.0/24 20.1.1.0/24
@{PORTS} vpn_net_1_port_1 vpn_net_1_port_2 vpn_net_2_port_1 vpn_net_2_port_2
-@{NET_1_VM_INSTANCES} vpn_net_1_vm_1 vpn_net_1_vm_2
-@{NET_2_VM_INSTANCES} vpn_net_2_vm_1 vpn_net_2_vm_2
+@{NET_1_VMS} vpn_net_1_vm_1 vpn_net_1_vm_2
+@{NET_2_VMS} vpn_net_2_vm_1 vpn_net_2_vm_2
${ROUTER} vpn_router
@{EXTRA_NW_IP} 71.1.1.2 72.1.1.2
@{EXTRA_NW_SUBNET} 71.1.1.0/24 72.1.1.0/24
${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
+@{VPN_NAMES} vpn_1 vpn_2 vpn_3
@{RDS} ["2200:2"] ["2300:2"] ["2400:2"]
*** Test Cases ***
BuiltIn.Should Contain ${output} ${UPDATE_NETWORK}
Create Neutron Subnets
- OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNETS_CIDR}[0]
- OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNETS_CIDR}[1]
+ OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0]
+ OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1]
BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS}
OpenStackOperations.Update SubNet @{SUBNETS}[0] additional_args=--description ${UPDATE_SUBNET}
${output} = OpenStackOperations.Show SubNet @{SUBNETS}[0]
Should Contain ${output} ${UPDATE_PORT}
Create Nova VMs
- 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}
- @{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}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VMS}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_2_VMS}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_2_VMS}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP}
+ @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
+ @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS}
BuiltIn.Set Suite Variable @{NET_1_VM_IPS}
BuiltIn.Set Suite Variable @{NET_2_VM_IPS}
BuiltIn.Should Not Contain ${NET_1_VM_IPS} None
BuiltIn.Should Not Contain ${NET_2_VM_IPS} None
BuiltIn.Should Not Contain ${NET_1_DHCP_IP} None
BuiltIn.Should Not Contain ${NET_2_DHCP_IP} None
- BuiltIn.Wait Until Keyword Succeeds 30s 10s Wait For Routes To Propogate ${NETWORKS} ${SUBNETS_CIDR}
- [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES}
+ BuiltIn.Wait Until Keyword Succeeds 30s 10s Wait For Routes To Propogate ${NETWORKS} ${SUBNET_CIDRS}
+ [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS}
... AND OpenStackOperations.Get Test Teardown Debugs
Check ELAN Datapath Traffic Within The Networks
${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_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}[0] name=@{VPN_NAMES}[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]
[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_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}
+ VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAMES}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id}
+ VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] name=@{VPN_NAMES}[1] rd=@{RDS}[1] exportrt=@{RDS}[1] importrt=@{RDS}[1] tenantid=${tenant_id}
+ VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] name=@{VPN_NAMES}[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]
VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[2]
Cleanup
- @{vms} = BuiltIn.Create List @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES}
+ @{vms} = BuiltIn.Create List @{NET_1_VMS} @{NET_2_VMS}
@{sgs} = BuiltIn.Create List ${SECURITY_GROUP}
Basic Vpnservice Suite Cleanup ${VPN_INSTANCE_IDS} ${vms} ${NETWORKS} ${SUBNETS} ${PORTS} ${sgs}
${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
+@{SUBNET_CIDRS} 2001:db8:0:2::/64 2001:db8:0:3::/64
@{PORTS} vpn6_net_1_port_1 vpn6_net_1_port_2 vpn6_net_2_port_1 vpn6_net_2_port_2
-@{NET_1_VM_INSTANCES} vpn6_net_1_vm_1 vpn6_net_1_vm_2
-@{NET_2_VM_INSTANCES} vpn6_net_2_vm_1 vpn6_net_2_vm_2
+@{NET_1_VMS} vpn6_net_1_vm_1 vpn6_net_1_vm_2
+@{NET_2_VMS} vpn6_net_2_vm_1 vpn6_net_2_vm_2
${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
${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
+@{VPN_NAMES} vpn6_1 vpn6_2 vpn6_3
@{RDS} ["2206:2"] ["2306:2"] ["2406:2"]
*** Test Cases ***
Create Neutron Subnets
${net1_additional_args}= BuiltIn.Catenate --ip-version=6 --ipv6-address-mode=slaac --ipv6-ra-mode=slaac ${NET1_IPV6_ADDR_POOL}
${net2_additional_args}= BuiltIn.Catenate --ip-version=6 --ipv6-address-mode=slaac --ipv6-ra-mode=slaac ${NET2_IPV6_ADDR_POOL}
- OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNETS_CIDR}[0] ${net1_additional_args}
- OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNETS_CIDR}[1] ${net2_additional_args}
+ OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0] ${net1_additional_args}
+ OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1] ${net2_additional_args}
BuiltIn.Wait Until Keyword Succeeds 3s 1s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS}
OpenStackOperations.Update SubNet @{SUBNETS}[0] additional_args=--description ${UPDATE_SUBNET}
${output} = OpenStackOperations.Show SubNet @{SUBNETS}[0]
Update Port ${UPDATE_PORT} additional_args=--name @{PORTS}[0]
Create Nova VMs
- 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}
- ${vms}= BuiltIn.Create List @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[0] @{NET_1_VMS}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[1] @{NET_1_VMS}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[2] @{NET_2_VMS}[0] ${OS_COMPUTE_1_IP} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instance With Port On Compute Node @{PORTS}[3] @{NET_2_VMS}[1] ${OS_COMPUTE_2_IP} sg=${SECURITY_GROUP}
+ ${vms}= BuiltIn.Create List @{NET_1_VMS} @{NET_2_VMS}
: FOR ${vm} IN @{vms}
\ OpenStackOperations.Poll VM Is ACTIVE ${vm}
- BuiltIn.Wait Until Keyword Succeeds 30s 10s Wait For Routes To Propogate ${NETWORKS} ${SUBNETS_CIDR}
- ${prefix_net10} = Replace String @{SUBNETS_CIDR}[0] ::/64 (:[a-f0-9]{,4}){,4}
+ BuiltIn.Wait Until Keyword Succeeds 30s 10s Wait For Routes To Propogate ${NETWORKS} ${SUBNET_CIDRS}
+ ${prefix_net10} = Replace String @{SUBNET_CIDRS}[0] ::/64 (:[a-f0-9]{,4}){,4}
${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses
- ... true ${prefix_net10} @{NET_1_VM_INSTANCES}
- ${prefix_net20} = Replace String @{SUBNETS_CIDR}[1] ::/64 (:[a-f0-9]{,4}){,4}
+ ... true ${prefix_net10} @{NET_1_VMS}
+ ${prefix_net20} = Replace String @{SUBNET_CIDRS}[1] ::/64 (:[a-f0-9]{,4}){,4}
${status} ${message} Run Keyword And Ignore Error BuiltIn.Wait Until Keyword Succeeds 3x 60s OpenStackOperations.Collect VM IPv6 SLAAC Addresses
- ... true ${prefix_net20} @{NET_2_VM_INSTANCES}
- ${VM_IP_NET10} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${prefix_net10} @{NET_1_VM_INSTANCES}
- ${VM_IP_NET20} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${prefix_net20} @{NET_2_VM_INSTANCES}
- ${VM_INSTANCES} = Collections.Combine Lists ${NET_1_VM_INSTANCES} ${NET_2_VM_INSTANCES}
+ ... true ${prefix_net20} @{NET_2_VMS}
+ ${VM_IP_NET10} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${prefix_net10} @{NET_1_VMS}
+ ${VM_IP_NET20} = OpenStackOperations.Collect VM IPv6 SLAAC Addresses false ${prefix_net20} @{NET_2_VMS}
+ ${VM_INSTANCES} = Collections.Combine Lists ${NET_1_VMS} ${NET_2_VMS}
${VM_IPS}= Collections.Combine Lists ${VM_IP_NET10} ${VM_IP_NET20}
- ${LOOP_COUNT} BuiltIn.Get Length ${NET_1_VM_INSTANCES}
+ ${LOOP_COUNT} BuiltIn.Get Length ${NET_1_VMS}
: FOR ${index} IN RANGE 0 ${LOOP_COUNT}
\ ${status} ${message} Run Keyword And Ignore Error BuiltIn.Should Not Contain @{VM_IPS}[${index}] None
\ Run Keyword If '${status}' == 'FAIL' DevstackUtils.Write Commands Until Prompt openstack console log show @{VM_INSTANCES}[${index}] 30s
BuiltIn.Set Suite Variable ${VM_IP_NET20}
BuiltIn.Should Not Contain ${VM_IP_NET10} None
BuiltIn.Should Not Contain ${VM_IP_NET20} None
- [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES}
+ [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS}
... AND OpenStackOperations.Get Test Teardown Debugs
Check ELAN Datapath Traffic Within The Networks
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_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}[0] name=@{VPN_NAMES}[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]
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_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}
+ VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[0] name=@{VPN_NAMES}[0] rd=@{RDS}[0] exportrt=@{RDS}[0] importrt=@{RDS}[0] tenantid=${tenant_id}
+ VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[1] name=@{VPN_NAMES}[1] rd=@{RDS}[1] exportrt=@{RDS}[1] importrt=@{RDS}[1] tenantid=${tenant_id}
+ VpnOperations.VPN Create L3VPN vpnid=@{VPN_INSTANCE_IDS}[2] name=@{VPN_NAMES}[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]
VpnOperations.VPN Delete L3VPN vpnid=@{VPN_INSTANCE_IDS}[2]
Cleanup
- @{vms} = BuiltIn.Create List @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES}
+ @{vms} = BuiltIn.Create List @{NET_1_VMS} @{NET_2_VMS}
@{sgs} = BuiltIn.Create List ${SECURITY_GROUP}
Basic Vpnservice Suite Cleanup ${VPN_INSTANCE_IDS} ${vms} ${NETWORKS} ${SUBNETS} ${PORTS} ${sgs}
*** Variables ***
${SECURITY_GROUP} cl2_sg
-@{NETWORKS_NAME} cl2_net_1 cl2_net_2
-@{SUBNETS_NAME} cl2_sub_1 cl2_sub_2
-@{NET_1_VM_INSTANCES} cl2_net_1_vm_1 cl2_net_1_vm_2 cl2_net_1_vm_3
-@{NET_2_VM_INSTANCES} cl2_net_2_vm_1 cl2_net_2_vm_2 cl2_net_2_vm_3
-@{SUBNETS_RANGE} 26.0.0.0/24 27.0.0.0/24
-@{VM_IPS_NOT_DELETED} 26.0.0.4
+@{NETWORKS} cl2_net_1 cl2_net_2
+@{SUBNETS} cl2_sub_1 cl2_sub_2
+@{NET_1_VMS} cl2_net_1_vm_1 cl2_net_1_vm_2 cl2_net_1_vm_3
+@{NET_2_VMS} cl2_net_2_vm_1 cl2_net_2_vm_2 cl2_net_2_vm_3
+@{SUBNET_CIDRS} 26.0.0.0/24 27.0.0.0/24
@{CLUSTER_DOWN_LIST} ${1} ${2}
*** Test Cases ***
Create Network net_1
[Documentation] Create Network with neutron request.
- OpenStackOperations.Create Network @{NETWORKS_NAME}[0]
+ OpenStackOperations.Create Network @{NETWORKS}[0]
Create Subnet For net_1
[Documentation] Create Sub Net for the Network with neutron request.
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[0] @{SUBNETS_NAME}[0] @{SUBNETS_RANGE}[0]
+ OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0]
Create Network net_2
[Documentation] Create Network with neutron request.
- OpenStackOperations.Create Network @{NETWORKS_NAME}[1]
+ OpenStackOperations.Create Network @{NETWORKS}[1]
Create Subnet For net_2
[Documentation] Create Sub Net for the Network with neutron request.
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[1] @{SUBNETS_NAME}[1] @{SUBNETS_RANGE}[1]
+ OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1]
Add Ssh Allow All Rule
[Documentation] Allow all TCP/UDP/ICMP packets for this suite
Create Vm Instances For net_1
[Documentation] Create Vm instances using flavor and image names for a network.
BuiltIn.Log ${devstack_conn_id}
- OpenStackOperations.Create Vm Instances @{NETWORKS_NAME}[0] ${NET_1_VM_INSTANCES} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[0] ${NET_1_VMS} 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}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[1] ${NET_2_VMS} sg=${SECURITY_GROUP}
Check Vm Instances Have Ip Address
- @{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_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
+ @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS}
BuiltIn.Set Suite Variable @{NET_1_VM_IPS}
BuiltIn.Set Suite Variable @{NET_2_VM_IPS}
BuiltIn.Should Not Contain ${NET_1_VM_IPS} None
BuiltIn.Should Not Contain ${NET_2_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}
+ [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS}
... AND OpenStackOperations.Get Test Teardown Debugs
Bring Up ODL2
Ping Vm Instance1 In net_1
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[0]
Ping Vm Instance2 In net_1
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[1]
Ping Vm Instance3 In net_1
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[2]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[2]
Ping Vm Instance1 In net_2
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[0]
Ping Vm Instance2 In net_2
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[1]
Ping Vm Instance3 In net_2
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[2]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[2]
Take Down ODL3
[Documentation] Kill the karaf in Third Controller
Connectivity Tests From Vm Instance1 In net_1
[Documentation] Logging to the vm instance using generated key pair.
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS}
Connectivity Tests From Vm Instance2 In net_1
[Documentation] Logging to the vm instance using generated key pair.
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1] ${NET_1_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${NET_1_VM_IPS}
Connectivity Tests From Vm Instance3 In net_1
[Documentation] Logging to the vm instance using generated key pair.
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[2] ${NET_1_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[2] ${NET_1_VM_IPS}
Bring Up ODL3
[Documentation] Bring up ODL3 again
Connectivity Tests From Vm Instance1 In net_2
[Documentation] Logging to the vm instance using generated key pair.
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[0] ${NET_2_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${NET_2_VM_IPS}
Connectivity Tests From Vm Instance2 In net_2
[Documentation] Logging to the vm instance using generated key pair.
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[1] ${NET_2_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ${NET_2_VM_IPS}
Connectivity Tests From Vm Instance3 In net_2
[Documentation] Logging to the vm instance using generated key pair.
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[2] ${NET_2_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[2] ${NET_2_VM_IPS}
Bring Up ODL1 and ODL2
[Documentation] Bring up ODL1 and ODL2 again.
Delete Vm Instance
[Documentation] Delete Vm instances using instance names.
- OpenStackOperations.Delete Vm Instance @{NET_1_VM_INSTANCES}[0]
+ OpenStackOperations.Delete Vm Instance @{NET_1_VMS}[0]
No Ping For Deleted Vm
[Documentation] Check non reachability of deleted vm instances by pinging to them.
- ${output} = OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0]
+ ${output} = OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[0]
Delete Vm Instances In net_1
[Documentation] Delete Vm instances using instance names in network_1.
- : FOR ${vm} IN @{NET_1_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_1_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Delete Vm Instances In net_2
[Documentation] Delete Vm instances using instance names in network_2.
- : FOR ${vm} IN @{NET_2_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_2_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Delete Sub Networks In net_1
[Documentation] Delete Sub Nets for the Networks with neutron request.
- OpenStackOperations.Delete SubNet @{SUBNETS_NAME}[0]
+ OpenStackOperations.Delete SubNet @{SUBNETS}[0]
Delete Sub Networks In net_2
[Documentation] Delete Sub Nets for the Networks with neutron request.
- OpenStackOperations.Delete SubNet @{SUBNETS_NAME}[1]
+ OpenStackOperations.Delete SubNet @{SUBNETS}[1]
Delete Networks
[Documentation] Delete Networks with neutron request.
- : FOR ${network} IN @{NETWORKS_NAME}
+ : FOR ${network} IN @{NETWORKS}
\ OpenStackOperations.Delete Network ${network}
Delete Security Group
*** Variables ***
${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
+@{NETWORKS} cl3_net_1 cl3_net_2
+@{SUBNETS} cl3_sub_1 cl3_sub_2
+@{ROUTERS} cl3_router_1 cl3_router_2 cl3_router_3
+@{NET_1_VMS} cl3_net_1_vm_1 cl3_net_1_vm_2 cl3_net_1_vm_3
+@{NET_2_VMS} cl3_net_2_vm_1 cl3_net_2_vm_2 cl3_net_2_vm_3
+@{SUBNET_CIDRS} 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}
Create Networks
[Documentation] Create Network with neutron request.
- : FOR ${NetworkElement} IN @{NETWORKS_NAME}
+ : FOR ${NetworkElement} IN @{NETWORKS}
\ OpenStackOperations.Create Network ${NetworkElement}
Create Subnets For net_1
[Documentation] Create Sub Nets for the Networks with neutron request.
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[0] @{SUBNETS_NAME}[0] @{SUBNETS_RANGE}[0]
+ OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0]
Create Subnets For net_2
[Documentation] Create Sub Nets for the Networks with neutron request.
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[1] @{SUBNETS_NAME}[1] @{SUBNETS_RANGE}[1]
+ OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1]
Add Ssh Allow All Rule
[Documentation] Allow all TCP/UDP/ICMP packets for this suite
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}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[0] ${NET_1_VMS} sg=${SECURITY_GROUP}
Bring Up ODL1
[Documentation] Bring up ODL1 again
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}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[1] ${NET_2_VMS} sg=${SECURITY_GROUP}
Check Vm Instances Have Ip Address
- @{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}
+ @{NET_1_L3_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
+ @{NET_2_L3_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS}
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}
+ [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS}
... AND OpenStackOperations.Get Test Teardown Debugs
Bring Up ODL2
Create Router router_2
[Documentation] Create Router and Add Interface to the subnets.
- OpenStackOperations.Create Router @{ROUTERS_NAME}[1]
+ OpenStackOperations.Create Router @{ROUTERS}[1]
[Teardown] Report_Failure_Due_To_Bug 6117
Create Router router_3
[Documentation] Create Router and Add Interface to the subnets.
- OpenStackOperations.Create Router @{ROUTERS_NAME}[2]
+ OpenStackOperations.Create Router @{ROUTERS}[2]
Add Interfaces To Router
[Documentation] Add Interfaces
- : FOR ${interface} IN @{SUBNETS_NAME}
- \ OpenStackOperations.Add Router Interface @{ROUTERS_NAME}[2] ${interface}
+ : FOR ${interface} IN @{SUBNETS}
+ \ OpenStackOperations.Add Router Interface @{ROUTERS}[2] ${interface}
Verify Created Routers
[Documentation] Check created routers using northbound rest calls
${data} Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API}
BuiltIn.Log ${data}
- Should Contain ${data} @{ROUTERS_NAME}[2]
+ Should Contain ${data} @{ROUTERS}[2]
Bring Up ODL3
[Documentation] Bring up ODL3 again
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 @{NETWORKS_NAME}[0] @{NET_2_L3_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[0]
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 @{NETWORKS_NAME}[0] @{NET_2_L3_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[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 @{NETWORKS_NAME}[0] @{NET_2_L3_VM_IPS}[2]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[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 @{NETWORKS_NAME}[1] @{NET_1_L3_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[0]
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 @{NETWORKS_NAME}[1] @{NET_1_L3_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[1]
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_NAME}[1] @{NET_1_L3_VM_IPS}[2]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[2]
Take Down ODL1 and ODL2
[Documentation] Kill the karaf in First and Second Controller
Connectivity Tests From Vm Instance1 In net_1
[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_NAME}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list}
[Teardown] OpenStackOperations.Get OvsDebugInfo
Connectivity Tests From Vm Instance2 In net_1
[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_NAME}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list}
[Teardown] OpenStackOperations.Get OvsDebugInfo
Connectivity Tests From Vm Instance3 In net_1
[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_NAME}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list}
[Teardown] OpenStackOperations.Get OvsDebugInfo
Bring Up ODL1 and ODL2
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_NAME}[1] @{NET_2_L3_VM_IPS}[0] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[0] ${dst_list}
[Teardown] OpenStackOperations.Get OvsDebugInfo
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_NAME}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list}
[Teardown] OpenStackOperations.Get OvsDebugInfo
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_NAME}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list}
[Teardown] OpenStackOperations.Get OvsDebugInfo
Bring Up ODL2 and ODL3
Delete Vm Instances In net_1
[Documentation] Delete Vm instances using instance names in net_1.
- : FOR ${vm} IN @{NET_1_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_1_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Delete Vm Instances In net_2
[Documentation] Delete Vm instances using instance names in net_2.
- : FOR ${vm} IN @{NET_2_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_2_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Delete Router Interfaces
[Documentation] Remove Interface to the subnets.
- : FOR ${interface} IN @{SUBNETS_NAME}
- \ OpenStackOperations.Remove Interface @{ROUTERS_NAME}[2] ${interface}
+ : FOR ${interface} IN @{SUBNETS}
+ \ OpenStackOperations.Remove Interface @{ROUTERS}[2] ${interface}
Delete Routers
[Documentation] Delete Router and Interface to the subnets.
- OpenStackOperations.Delete Router @{ROUTERS_NAME}[1]
- OpenStackOperations.Delete Router @{ROUTERS_NAME}[2]
+ OpenStackOperations.Delete Router @{ROUTERS}[1]
+ OpenStackOperations.Delete Router @{ROUTERS}[2]
Verify Deleted Routers
[Documentation] Check deleted routers using northbound rest calls
${data} = Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API}
BuiltIn.Log ${data}
- BuiltIn.Should Not Contain ${data} @{ROUTERS_NAME}[2]
+ BuiltIn.Should Not Contain ${data} @{ROUTERS}[2]
Delete Sub Network In net_1
[Documentation] Delete Sub Nets for the Networks with neutron request.
- OpenStackOperations.Delete SubNet @{SUBNETS_NAME}[0]
+ OpenStackOperations.Delete SubNet @{SUBNETS}[0]
Delete Sub Network In net_2
[Documentation] Delete Sub Nets for the Networks with neutron request.
- OpenStackOperations.Delete SubNet @{SUBNETS_NAME}[1]
+ OpenStackOperations.Delete SubNet @{SUBNETS}[1]
Delete Networks
[Documentation] Delete Networks with neutron request.
- : FOR ${network} IN @{NETWORKS_NAME}
+ : FOR ${network} IN @{NETWORKS}
\ OpenStackOperations.Delete Network ${network}
Delete Security Group
*** Variables ***
${SECURITY_GROUP} l3_ext_sg
-@{NETWORKS_NAME} l3_ext_net
-@{SUBNETS_NAME} l3_ext_sub
-${ROUTER_NAME} l3_ext_router
-@{FIP_VM_INSTANCES} fip_vm_1 fip_vm_2
-@{SNAT_VM_INSTANCES} snat_vm_1 snat_vm_2
-@{SUBNETS_RANGE} 41.0.0.0/24
+@{NETWORKS} l3_ext_net
+@{SUBNETS} l3_ext_sub
+${ROUTER} l3_ext_router
+@{FIP_VMS} fip_vm_1 fip_vm_2
+@{SNAT_VMS} snat_vm_1 snat_vm_2
+@{SUBNET_CIDRS} 41.0.0.0/24
# Parameter values below are based on releng/builder - changing them requires updates in releng/builder as well
${EXTERNAL_GATEWAY} 10.10.10.250
${EXTERNAL_PNF} 10.10.10.253
Create Private Network
[Documentation] Create Network with neutron request.
- : FOR ${network} IN @{NETWORKS_NAME}
+ : FOR ${network} IN @{NETWORKS}
\ OpenStackOperations.Create Network ${network}
Create Subnet For Private Network
[Documentation] Create Sub Net for the Network with neutron request.
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[0] @{SUBNETS_NAME}[0] @{SUBNETS_RANGE}[0]
+ OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0]
Add Ssh Allow Rule
[Documentation] Allow all TCP/UDP/ICMP packets for this suite
Create Vm Instances
[Documentation] Create VM instances using flavor and image names for a network.
- OpenStackOperations.Create Vm Instances @{NETWORKS_NAME}[0] ${FIP_VM_INSTANCES} sg=${SECURITY_GROUP}
- OpenStackOperations.Create Vm Instances @{NETWORKS_NAME}[0] ${SNAT_VM_INSTANCES} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[0] ${FIP_VMS} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[0] ${SNAT_VMS} sg=${SECURITY_GROUP}
Check Vm Instances Have Ip Address
- @{FIP_VM_IPS} ${FLOATING_DHCP_IP} = OpenStackOperations.Get VM IPs @{FIP_VM_INSTANCES}
- @{SNAT_VM_IPS} ${SNAT_DHCP_IP} = OpenStackOperations.Get VM IPs @{SNAT_VM_INSTANCES}
+ @{FIP_VM_IPS} ${FLOATING_DHCP_IP} = OpenStackOperations.Get VM IPs @{FIP_VMS}
+ @{SNAT_VM_IPS} ${SNAT_DHCP_IP} = OpenStackOperations.Get VM IPs @{SNAT_VMS}
BuiltIn.Set Suite Variable @{FIP_VM_IPS}
BuiltIn.Set Suite Variable @{SNAT_VM_IPS}
BuiltIn.Should Not Contain ${FIP_VM_IPS} None
BuiltIn.Should Not Contain ${SNAT_VM_IPS} None
BuiltIn.Should Not Contain ${FLOATING_DHCP_IP} None
BuiltIn.Should Not Contain ${SNAT_DHCP_IP} None
- [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{FIP_VM_INSTANCES} @{SNAT_VM_INSTANCES}
+ [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{FIP_VMS} @{SNAT_VMS}
... AND OpenStackOperations.Get Test Teardown Debugs
Create External Network And Subnet
Create Router
[Documentation] Create Router and Add Interface to the subnets.
- OpenStackOperations.Create Router ${ROUTER_NAME}
+ OpenStackOperations.Create Router ${ROUTER}
Add Interfaces To Router
[Documentation] Add Interfaces
- : FOR ${interface} IN @{SUBNETS_NAME}
- \ OpenStackOperations.Add Router Interface ${ROUTER_NAME} ${interface}
+ : FOR ${interface} IN @{SUBNETS}
+ \ OpenStackOperations.Add Router Interface ${ROUTER} ${interface}
Add Router Gateway To Router
[Documentation] OpenStackOperations.Add Router Gateway
- OpenStackOperations.Add Router Gateway ${ROUTER_NAME} ${EXTERNAL_NET_NAME}
+ OpenStackOperations.Add Router Gateway ${ROUTER} ${EXTERNAL_NET_NAME}
Verify Created Router
[Documentation] Check created routers using northbound rest calls
${data} Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API}
BuiltIn.Log ${data}
- Should Contain ${data} ${ROUTER_NAME}
+ Should Contain ${data} ${ROUTER}
Create And Associate Floating IPs for VMs
[Documentation] Create and associate a floating IP for the VM
- ${VM_FLOATING_IPS} = OpenStackOperations.Create And Associate Floating IPs ${EXTERNAL_NET_NAME} @{FIP_VM_INSTANCES}
+ ${VM_FLOATING_IPS} = OpenStackOperations.Create And Associate Floating IPs ${EXTERNAL_NET_NAME} @{FIP_VMS}
BuiltIn.Set Suite Variable ${VM_FLOATING_IPS}
- [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{FIP_VM_INSTANCES}
+ [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{FIP_VMS}
... AND OpenStackOperations.Get Test Teardown Debugs
Ping External Gateway From Control Node
Ping Vm Instance2 Floating IP From Vm Instance1 With Floating IP (Hairpinning)
[Documentation] Check reachability of VM instance floating IP from another VM instance with FIP (with ttl=1 to make sure no router hops)
${dst_ip}= BuiltIn.Create List @{VM_FLOATING_IPS}[1]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{FIP_VM_IPS}[0] ${dst_ip} ttl=1
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{FIP_VM_IPS}[0] ${dst_ip} ttl=1
Ping External Network PNF from Vm Instance 1
[Documentation] Check reachability of External Network PNF from VM instance (with ttl=1 to make sure no router hops)
${dst_ip}= BuiltIn.Create List ${EXTERNAL_PNF}
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{FIP_VM_IPS}[0] ${dst_ip} ttl=1
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{FIP_VM_IPS}[0] ${dst_ip} ttl=1
SNAT - TCP connection to External Gateway From SNAT VM Instance1
[Documentation] Login to the VM instance and test TCP connection to the controller via SNAT
- OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS_NAME}[0] @{SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY}
+ OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[0] @{SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY}
SNAT - UDP connection to External Gateway From SNAT VM Instance1
[Documentation] Login to the VM instance and test UDP connection to the controller via SNAT
- OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS_NAME}[0] @{SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY} -u
+ OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[0] @{SNAT_VM_IPS}[0] ${EXTERNAL_GATEWAY} -u
SNAT - TCP connection to External Gateway From SNAT VM Instance2
[Documentation] Login to the VM instance and test TCP connection to the controller via SNAT
- OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS_NAME}[0] @{SNAT_VM_IPS}[1] ${EXTERNAL_GATEWAY}
+ OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[0] @{SNAT_VM_IPS}[1] ${EXTERNAL_GATEWAY}
SNAT - UDP connection to External Gateway From SNAT VM Instance2
[Documentation] Login to the VM instance and test UDP connection to the controller via SNAT
- OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS_NAME}[0] @{SNAT_VM_IPS}[1] ${EXTERNAL_GATEWAY} -u
+ OpenStackOperations.Test Netcat Operations From Vm Instance @{NETWORKS}[0] @{SNAT_VM_IPS}[1] ${EXTERNAL_GATEWAY} -u
Delete Vm Instances
[Documentation] Delete Vm instances using instance names.
- : FOR ${vm} IN @{FIP_VM_INSTANCES}
+ : FOR ${vm} IN @{FIP_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
- : FOR ${vm} IN @{SNAT_VM_INSTANCES}
+ : FOR ${vm} IN @{SNAT_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Delete Router Interfaces
[Documentation] Remove Interface to the subnets.
- : FOR ${interface} IN @{SUBNETS_NAME}
- \ OpenStackOperations.Remove Interface ${ROUTER_NAME} ${interface}
+ : FOR ${interface} IN @{SUBNETS}
+ \ OpenStackOperations.Remove Interface ${ROUTER} ${interface}
Delete Routers
[Documentation] Delete Router and Interface to the subnets.
- OpenStackOperations.Delete Router ${ROUTER_NAME}
+ OpenStackOperations.Delete Router ${ROUTER}
Verify Deleted Router
[Documentation] Check deleted router using northbound rest call
${data} Utils.Get Data From URI 1 ${NEUTRON_ROUTERS_API}
BuiltIn.Log ${data}
- BuiltIn.Should Not Contain ${data} ${ROUTER_NAME}
+ BuiltIn.Should Not Contain ${data} ${ROUTER}
Delete Sub Network
[Documentation] Delete Sub Net for the Network with neutron request.
- OpenStackOperations.Delete SubNet @{SUBNETS_NAME}[0]
+ OpenStackOperations.Delete SubNet @{SUBNETS}[0]
Delete Networks
[Documentation] Delete Networks with neutron request.
- : FOR ${network} IN @{NETWORKS_NAME}
+ : FOR ${network} IN @{NETWORKS}
\ OpenStackOperations.Delete Network ${network}
OpenStackOperations.Delete Network ${EXTERNAL_NET_NAME}
*** Variables ***
${SECURITY_GROUP} l2_sg
-@{NETWORKS_NAME} l2_net_1 l2_net_2
-@{SUBNETS_NAME} l2_sub_1 l2_sub_2
-@{NET_1_VM_INSTANCES} l2_net_1_vm_1 l2_net_1_vm_2 l2_net_1_vm_3
-@{NET_2_VM_INSTANCES} l2_net_2_vm_1 l2_net_2_vm_2 l2_net_2_vm_3
-@{SUBNETS_RANGE} 21.0.0.0/24 22.0.0.0/24
+@{NETWORKS} l2_net_1 l2_net_2
+@{SUBNETS} l2_sub_1 l2_sub_2
+@{NET_1_VMS} l2_net_1_vm_1 l2_net_1_vm_2 l2_net_1_vm_3
+@{NET_2_VMS} l2_net_2_vm_1 l2_net_2_vm_2 l2_net_2_vm_3
+@{SUBNET_CIDRS} 21.0.0.0/24 22.0.0.0/24
${NET_1_VLAN_ID} 1121
*** Test Cases ***
: FOR ${feature_name} IN @{legacy_feature_list}
\ ${feature_check_status} = BuiltIn.Run Keyword And Return Status KarafKeywords.Verify Feature Is Installed ${feature_name}
\ Exit For Loop If '${feature_check_status}' == 'True'
- BuiltIn.Run Keyword If '${feature_check_status}' == 'True' OpenStackOperations.Create Network @{NETWORKS_NAME}[0]
- ... ELSE OpenStackOperations.Create Network @{NETWORKS_NAME}[0] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment ${NET_1_VLAN_ID}
+ BuiltIn.Run Keyword If '${feature_check_status}' == 'True' OpenStackOperations.Create Network @{NETWORKS}[0]
+ ... ELSE OpenStackOperations.Create Network @{NETWORKS}[0] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment ${NET_1_VLAN_ID}
Create Subnet For net_1
[Documentation] Create Sub Nets for the Networks with neutron request.
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[0] @{SUBNETS_NAME}[0] @{SUBNETS_RANGE}[0]
+ OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0]
Create VXLAN Network net_2
[Documentation] Create Network with neutron request.
- OpenStackOperations.Create Network @{NETWORKS_NAME}[1]
+ OpenStackOperations.Create Network @{NETWORKS}[1]
Create Subnet For net_2
[Documentation] Create Sub Nets for the Networks with neutron request.
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[1] @{SUBNETS_NAME}[1] @{SUBNETS_RANGE}[1]
+ OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1]
Add Ssh Allow All Rule
[Documentation] Allow all TCP/UDP/ICMP packets for this suite
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}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[0] ${NET_1_VMS} 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}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[1] ${NET_2_VMS} sg=${SECURITY_GROUP}
Check Vm Instances Have Ip Address
- @{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_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
+ @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS}
BuiltIn.Set Suite Variable @{NET_1_VM_IPS}
BuiltIn.Set Suite Variable @{NET_2_VM_IPS}
BuiltIn.Should Not Contain ${NET_1_VM_IPS} None
BuiltIn.Should Not Contain ${NET_2_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}
+ [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS}
... AND OpenStackOperations.Get Test Teardown Debugs
Ping Vm Instance1 In net_1
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[0]
Ping Vm Instance2 In net_1
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[1]
Ping Vm Instance3 In net_1
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[2]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[2]
Ping Vm Instance1 In net_2
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[0]
Ping Vm Instance2 In net_2
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[1]
Ping Vm Instance3 In net_2
[Documentation] Check reachability of vm instances by pinging to them.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[2]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_2_VM_IPS}[2]
Connectivity Tests From Vm Instance1 In net_1
[Documentation] Login to the vm instance and test some operations
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${NET_1_VM_IPS}
Connectivity Tests From Vm Instance2 In net_1
[Documentation] Login to the vm instance and test operations
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1] ${NET_1_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${NET_1_VM_IPS}
Connectivity Tests From Vm Instance3 In net_1
[Documentation] Login to the vm instance and test operations
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[2] ${NET_1_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[2] ${NET_1_VM_IPS}
Connectivity Tests From Vm Instance1 In net_2
[Documentation] Login to the vm instance and test operations
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[0] ${NET_2_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[0] ${NET_2_VM_IPS}
Connectivity Tests From Vm Instance2 In net_2
[Documentation] Logging to the vm instance using generated key pair.
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[1] ${NET_2_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[1] ${NET_2_VM_IPS}
Connectivity Tests From Vm Instance3 In net_2
[Documentation] Login to the vm instance using generated key pair.
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_VM_IPS}[2] ${NET_2_VM_IPS}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_VM_IPS}[2] ${NET_2_VM_IPS}
Delete A Vm Instance
[Documentation] Delete Vm instances using instance names.
- OpenStackOperations.Delete Vm Instance @{NET_1_VM_INSTANCES}[0]
+ OpenStackOperations.Delete Vm Instance @{NET_1_VMS}[0]
No Ping For Deleted Vm
[Documentation] Check non reachability of deleted vm instances by pinging to them.
- OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0]
+ OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[0]
Delete Vm Instances In net_1
[Documentation] Delete Vm instances using instance names in net_1.
- : FOR ${vm} IN @{NET_1_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_1_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Delete Vm Instances In net_2
[Documentation] Delete Vm instances using instance names in net_2.
- : FOR ${vm} IN @{NET_2_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_2_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Delete Sub Network In net_1
[Documentation] Delete Sub Net for the Networks with neutron request.
- OpenStackOperations.Delete SubNet @{SUBNETS_NAME}[0]
+ OpenStackOperations.Delete SubNet @{SUBNETS}[0]
Delete Sub Network In net_2
[Documentation] Delete Sub Net for the Networks with neutron request.
- OpenStackOperations.Delete SubNet @{SUBNETS_NAME}[1]
+ OpenStackOperations.Delete SubNet @{SUBNETS}[1]
Delete Networks
[Documentation] Delete Networks with neutron request.
- : FOR ${networks} IN @{NETWORKS_NAME}
+ : FOR ${networks} IN @{NETWORKS}
\ OpenStackOperations.Delete Network ${networks}
Delete Security Group
*** Variables ***
${SECURITY_GROUP} l3_sg
-@{NETWORKS_NAME} l3_net_1 l3_net_2 l3_net_3
-@{SUBNETS_NAME} l3_sub_1 l3_sub_2 l3_sub_3
-${ROUTER_NAME} l3_router
-@{NET_1_VM_INSTANCES} l3_net_1_vm_1 l3_net_1_vm_2 l3_net_1_vm_3
-@{NET_2_VM_INSTANCES} l3_net_2_vm_1 l3_net_2_vm_2 l3_net_2_vm_3
-@{NET_3_VM_INSTANCES} l3_net_3_vm_1 l3_net_3_vm_2 l3_net_3_vm_3
-@{SUBNETS_RANGE} 31.0.0.0/24 32.0.0.0/24 33.0.0.0/24
+@{NETWORKS} l3_net_1 l3_net_2 l3_net_3
+@{SUBNETS} l3_sub_1 l3_sub_2 l3_sub_3
+${ROUTER} l3_router
+@{NET_1_VMS} l3_net_1_vm_1 l3_net_1_vm_2 l3_net_1_vm_3
+@{NET_2_VMS} l3_net_2_vm_1 l3_net_2_vm_2 l3_net_2_vm_3
+@{NET_3_VMS} l3_net_3_vm_1 l3_net_3_vm_2 l3_net_3_vm_3
+@{SUBNET_CIDRS} 31.0.0.0/24 32.0.0.0/24 33.0.0.0/24
${NET_1_VLAN_ID} 1131
*** Test Cases ***
: FOR ${feature_name} IN @{legacy_feature_list}
\ ${feature_check_status} = BuiltIn.Run Keyword And Return Status KarafKeywords.Verify Feature Is Installed ${feature_name}
\ Exit For Loop If '${feature_check_status}' == 'True'
- Run Keyword If '${feature_check_status}' == 'True' OpenStackOperations.Create Network @{NETWORKS_NAME}[0]
- ... ELSE OpenStackOperations.Create Network @{NETWORKS_NAME}[0] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment ${NET_1_VLAN_ID}
+ Run Keyword If '${feature_check_status}' == 'True' OpenStackOperations.Create Network @{NETWORKS}[0]
+ ... ELSE OpenStackOperations.Create Network @{NETWORKS}[0] --provider-network-type vlan --provider-physical-network ${PUBLIC_PHYSICAL_NETWORK} --provider-segment ${NET_1_VLAN_ID}
Create Subnet For net_1
[Documentation] Create Sub Nets for the Networks with neutron request.
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[0] @{SUBNETS_NAME}[0] @{SUBNETS_RANGE}[0]
+ OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0]
Create VXLAN Network net_2
[Documentation] Create Network with neutron request.
- OpenStackOperations.Create Network @{NETWORKS_NAME}[1]
+ OpenStackOperations.Create Network @{NETWORKS}[1]
Create Subnet For net_2
[Documentation] Create Sub Nets for the Networks with neutron request.
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[1] @{SUBNETS_NAME}[1] @{SUBNETS_RANGE}[1]
+ OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1]
Create VXLAN Network net_3
[Documentation] Create Network with neutron request.
- OpenStackOperations.Create Network @{NETWORKS_NAME}[2]
+ OpenStackOperations.Create Network @{NETWORKS}[2]
Create Subnet For net_3
[Documentation] Create Sub Nets for the Networks with neutron request.
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[2] @{SUBNETS_NAME}[2] @{SUBNETS_RANGE}[2]
+ OpenStackOperations.Create SubNet @{NETWORKS}[2] @{SUBNETS}[2] @{SUBNET_CIDRS}[2]
Add Ssh Allow All Rule
[Documentation] Allow all TCP/UDP/ICMP packets for this suite
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}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[0] ${NET_1_VMS} 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}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[1] ${NET_2_VMS} sg=${SECURITY_GROUP}
Create Vm Instances For net_3
[Documentation] Create Vm instances using flavor and image names for a network.
- OpenStackOperations.Create Vm Instances @{NETWORKS_NAME}[2] ${NET_3_VM_INSTANCES} sg=${SECURITY_GROUP}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[2] ${NET_3_VMS} sg=${SECURITY_GROUP}
Check Vm Instances Have Ip Address
- @{NET_1_L3_VM_IPS} ${NET_1_L3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VM_INSTANCES}
- @{NET_2_L3_VM_IPS} ${NET_2_L3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VM_INSTANCES}
- @{NET_3_L3_VM_IPS} ${NET_3_L3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_3_VM_INSTANCES}
+ @{NET_1_L3_VM_IPS} ${NET_1_L3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
+ @{NET_2_L3_VM_IPS} ${NET_2_L3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS}
+ @{NET_3_L3_VM_IPS} ${NET_3_L3_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_3_VMS}
BuiltIn.Set Suite Variable ${NET_1_L3_VM_IPS}
BuiltIn.Set Suite Variable ${NET_2_L3_VM_IPS}
BuiltIn.Set Suite Variable ${NET_3_L3_VM_IPS}
BuiltIn.Should Not Contain ${NET_1_L3_DHCP_IP} None
BuiltIn.Should Not Contain ${NET_2_L3_DHCP_IP} None
BuiltIn.Should Not Contain ${NET_3_L3_DHCP_IP} None
- [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VM_INSTANCES} @{NET_2_VM_INSTANCES} @{NET_3_VM_INSTANCES}
+ [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VMS} @{NET_2_VMS} @{NET_3_VMS}
... AND OpenStackOperations.Get Test Teardown Debugs
Create Routers
[Documentation] Create Router
- OpenStackOperations.Create Router ${ROUTER_NAME}
+ OpenStackOperations.Create Router ${ROUTER}
Add Interfaces To Router
[Documentation] Add Interfaces
- : FOR ${interface} IN @{SUBNETS_NAME}
- \ OpenStackOperations.Add Router Interface ${ROUTER_NAME} ${interface}
+ : FOR ${interface} IN @{SUBNETS}
+ \ OpenStackOperations.Add Router Interface ${ROUTER} ${interface}
Ping Vm Instance1 In net_2 From net_1 (vxlan to vlan)
[Documentation] Check reachability of vm instances by pinging to them after creating routers.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_2_L3_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[0]
Ping Vm Instance2 In net_2 From net_1 (vxlan to vlan)
[Documentation] Check reachability of vm instances by pinging to them after creating routers.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_2_L3_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[1]
Ping Vm Instance3 In net_2 From net_1 (vxlan to vlan)
[Documentation] Check reachability of vm instances by pinging to them after creating routers.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_2_L3_VM_IPS}[2]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_2_L3_VM_IPS}[2]
Ping Vm Instance1 In net_1 From net_2 (vlan to vxlan)
[Documentation] Check reachability of vm instances by pinging to them after creating routers.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_1_L3_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[0]
Ping Vm Instance2 In net_1 From net_2 (vlan to vxlan)
[Documentation] Check reachability of vm instances by pinging to them after creating routers.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_1_L3_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[1]
Ping Vm Instance3 In net_1 From net_2 (vlan to vxlan)
[Documentation] Check reachability of vm instances by pinging to them after creating routers.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_1_L3_VM_IPS}[2]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_1_L3_VM_IPS}[2]
Ping Vm Instance1 In net_3 From net_2 (vxlan to vxlan)
[Documentation] Check reachability of vm instances by pinging to them after creating routers.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_3_L3_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_3_L3_VM_IPS}[0]
Ping Vm Instance2 In net_3 From net_2 (vxlan to vxlan)
[Documentation] Check reachability of vm instances by pinging to them after creating routers.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_3_L3_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_3_L3_VM_IPS}[1]
Ping Vm Instance3 In net_3 From net_2 (vxlan to vxlan)
[Documentation] Check reachability of vm instances by pinging to them after creating routers.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[1] @{NET_3_L3_VM_IPS}[2]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[1] @{NET_3_L3_VM_IPS}[2]
Connectivity Tests From Vm Instance1 In net_1
[Documentation] Login to the VM instance and test operations
${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS}
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[0] ${dst_list}
Connectivity Tests From Vm Instance2 In net_1
[Documentation] Login to the vm instance and test operations
${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS}
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[1] ${dst_list}
Connectivity Tests From Vm Instance3 In net_1
[Documentation] Login to the vm instance and test operations
${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS}
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_L3_VM_IPS}[2] ${dst_list}
Connectivity Tests From Vm Instance1 In net_2
[Documentation] Login to the vm instance and test operations
${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS}
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_L3_VM_IPS}[0] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[0] ${dst_list}
Connectivity Tests From Vm Instance2 In net_2
[Documentation] Logging to the vm instance using generated key pair.
${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS}
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[1] ${dst_list}
Connectivity Tests From Vm Instance3 In net_2
[Documentation] Logging to the vm instance using generated key pair.
${dst_list} = BuiltIn.Create List @{NET_1_L3_VM_IPS} @{NET_2_L3_VM_IPS}
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[1] @{NET_2_L3_VM_IPS}[2] ${dst_list}
Delete Vm Instances In net_1
[Documentation] Delete Vm instances using instance names in net_1.
- : FOR ${vm} IN @{NET_1_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_1_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Delete Vm Instances In net_2
[Documentation] Delete Vm instances using instance names in net_2.
- : FOR ${vm} IN @{NET_2_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_2_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Delete Vm Instances In net_3
[Documentation] Delete Vm instances using instance names in net_3.
- : FOR ${vm} IN @{NET_3_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_3_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Delete Router Interfaces
[Documentation] Remove Interface to the subnets.
- : FOR ${interface} IN @{SUBNETS_NAME}
- \ OpenStackOperations.Remove Interface ${ROUTER_NAME} ${interface}
+ : FOR ${interface} IN @{SUBNETS}
+ \ OpenStackOperations.Remove Interface ${ROUTER} ${interface}
Delete Router
[Documentation] Delete Router and Interface to the subnets.
- OpenStackOperations.Delete Router ${ROUTER_NAME}
+ OpenStackOperations.Delete Router ${ROUTER}
Delete Sub Network In net_1
[Documentation] Delete Sub Net for the Network with neutron request.
Delete Networks
[Documentation] Delete Networks with neutron request.
- : FOR ${network} IN @{NETWORKS_NAME}
+ : FOR ${network} IN @{NETWORKS}
\ OpenStackOperations.Delete Network ${network}
Delete Security Group
*** Variables ***
${SECURITY_GROUP} sg_sg
-@{NETWORKS_NAME} sg_net_1 sg_net_2
-@{SUBNETS_NAME} sg_sub_1 sg_sub_2
-${ROUTER_NAME} sg_router
-@{NET_1_VM_INSTANCES} sg_net_1_vm_1 sg_net_1_vm_2
-@{NET_2_VM_INSTANCES} sg_net_2_vm_1
-@{SUBNETS_RANGE} 51.0.0.0/24 52.0.0.0/24
+@{NETWORKS} sg_net_1 sg_net_2
+@{SUBNETS} sg_sub_1 sg_sub_2
+${ROUTER} sg_router
+@{NET_1_VMS} sg_net_1_vm_1 sg_net_1_vm_2
+@{NET_2_VMS} sg_net_2_vm_1
+@{SUBNET_CIDRS} 51.0.0.0/24 52.0.0.0/24
*** Test Cases ***
Neutron Setup
- OpenStackOperations.Create Network @{NETWORKS_NAME}[0]
- OpenStackOperations.Create Network @{NETWORKS_NAME}[1]
- BuiltIn.Wait Until Keyword Succeeds 10s 2s Utils.Check For Elements At URI ${NETWORK_URL} ${NETWORKS_NAME}
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[0] @{SUBNETS_NAME}[0] @{SUBNETS_RANGE}[0]
- OpenStackOperations.Create SubNet @{NETWORKS_NAME}[1] @{SUBNETS_NAME}[1] @{SUBNETS_RANGE}[1]
- BuiltIn.Wait Until Keyword Succeeds 10s 2s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS_NAME}
+ OpenStackOperations.Create Network @{NETWORKS}[0]
+ OpenStackOperations.Create Network @{NETWORKS}[1]
+ BuiltIn.Wait Until Keyword Succeeds 10s 2s Utils.Check For Elements At URI ${NETWORK_URL} ${NETWORKS}
+ OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0]
+ OpenStackOperations.Create SubNet @{NETWORKS}[1] @{SUBNETS}[1] @{SUBNET_CIDRS}[1]
+ BuiltIn.Wait Until Keyword Succeeds 10s 2s Utils.Check For Elements At URI ${SUBNETWORK_URL} ${SUBNETS}
Add TCP Allow Rules
[Documentation] Allow only TCP packets for this suite
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}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[0] ${NET_1_VMS} 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}
+ OpenStackOperations.Create Vm Instances @{NETWORKS}[1] ${NET_2_VMS} sg=${SECURITY_GROUP}
Check Vm Instances Have Ip Address
- @{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_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
+ @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_2_VMS}
BuiltIn.Set Suite Variable @{NET_1_VM_IPS}
BuiltIn.Set Suite Variable ${NET_1_DHCP_IP}
BuiltIn.Set Suite Variable @{NET_2_VM_IPS}
BuiltIn.Should Not Contain ${NET_2_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}
+ [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VMS}
... AND OpenStackOperations.Get Test Teardown Debugs
No Ping From DHCP To Vm Instance1
[Documentation] Check non-reachability of vm instances by pinging to them.
- OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1]
+ OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[1]
No Ping From Vm Instance1 To Vm Instance2
[Documentation] Login to the vm instance and test some operations
${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[1]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0] ${vm_ips} ping_should_succeed=False
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips} ping_should_succeed=False
No Ping From Vm Instance2 To Vm Instance1
[Documentation] Login to the vm instance and test operations
${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[0]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1] ${vm_ips} ping_should_succeed=False
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips} ping_should_succeed=False
Add Ping Allow Rules With Remote SG (only between VMs)
OpenStackOperations.Neutron Security Group Rule Create Legacy Cli ${SECURITY_GROUP} direction=ingress protocol=icmp remote_group_id=${SECURITY_GROUP}
Verify No Ping From DHCP To Vm Instance1
[Documentation] Check non-reachability of vm instances by pinging to them.
- OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0]
+ OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[0]
Verify No Ping From DHCP To Vm Instance2
[Documentation] Check non-reachability of vm instances by pinging to them.
- OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1]
+ OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[1]
Ping From Vm Instance1 To Vm Instance2
[Documentation] Login to the vm instance and test some operations
${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[1]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
Ping From Vm Instance2 To Vm Instance1
[Documentation] Login to the vm instance and test operations
${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[0]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
Create Router
[Documentation] Create Router and Add Interface to the subnets.
- OpenStackOperations.Create Router ${ROUTER_NAME}
+ OpenStackOperations.Create Router ${ROUTER}
Add Interfaces To Router
- : FOR ${interface} IN @{SUBNETS_NAME}
- \ OpenStackOperations.Add Router Interface ${ROUTER_NAME} ${interface}
+ : FOR ${interface} IN @{SUBNETS}
+ \ OpenStackOperations.Add Router Interface ${ROUTER} ${interface}
Ping From Vm Instance1 To Vm Instance3
[Documentation] Login to the vm instance and test some operations
${vm_ips} = BuiltIn.Create List @{NET_2_VM_IPS}[0]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
Repeat Ping From Vm Instance1 To Vm Instance2 With a Router
[Documentation] Login to the vm instance and test some operations
${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[1]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
Repeat Ping From Vm Instance2 To Vm Instance1 With a Router
[Documentation] Login to the vm instance and test operations
${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[0]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
Add Additional Security Group To VMs
[Documentation] Add an additional security group to the VMs - this is done to test a different logic put in place for ports with multiple SGs
#TODO Remove this after the Newton jobs are removed, Openstack CLI with Newton lacks support to configure rule with remote_ip_prefix
OpenStackOperations.Neutron Security Group Rule Create Legacy Cli additional-sg direction=ingress protocol=icmp remote_ip_prefix=${NET_1_DHCP_IP}/32
OpenStackOperations.Neutron Security Group Show additional-sg
- : FOR ${vm} IN @{NET_1_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_1_VMS}
\ OpenStackOperations.Add Security Group To VM ${vm} additional-sg
Ping From DHCP To Vm Instance1
[Documentation] Check reachability of vm instances by pinging to them from DHCP.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[0]
Ping From DHCP To Vm Instance2
[Documentation] Check reachability of vm instances by pinging to them from DHCP.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[1]
Repeat Ping From Vm Instance1 To Vm Instance2 With additional SG
[Documentation] Login to the vm instance and test some operations
${vm_ips} BuiltIn.Create List @{NET_1_VM_IPS}[1]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
Repeat Ping From Vm Instance2 To Vm Instance1 With additional SG
[Documentation] Login to the vm instance and test operations
${vm_ips} BuiltIn.Create List @{NET_1_VM_IPS}[0]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
Remove The Rules From Additional Security Group
OpenStackOperations.Delete All Security Group Rules additional-sg
No Ping From DHCP To Vm Instance1 With Additional Security Group Rules Removed
[Documentation] Check non-reachability of vm instances by pinging to them.
- OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0]
+ OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[0]
No Ping From DHCP To Vm Instance2 With Additional Security Group Rules Removed
[Documentation] Check non-reachability of vm instances by pinging to them.
- OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1]
+ OpenStackOperations.Ping From DHCP Should Not Succeed @{NETWORKS}[0] @{NET_1_VM_IPS}[1]
Add The Rules To Additional Security Group Again
OpenStackOperations.Neutron Security Group Rule Create Legacy Cli additional-sg direction=ingress protocol=icmp remote_ip_prefix=${NET_1_DHCP_IP}/32
Ping From DHCP To Vm Instance1 After Rules Are Added Again
[Documentation] Check reachability of vm instances by pinging to them from DHCP.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[0]
Ping From DHCP To Vm Instance2 After Rules Are Added Again
[Documentation] Check reachability of vm instances by pinging to them from DHCP.
- OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1]
+ OpenStackOperations.Ping Vm From DHCP Namespace @{NETWORKS}[0] @{NET_1_VM_IPS}[1]
Remove the additional Security Group from First Vm
- OpenStackOperations.Remove Security Group From VM @{NET_1_VM_INSTANCES}[0] additional-sg
+ OpenStackOperations.Remove Security Group From VM @{NET_1_VMS}[0] additional-sg
Repeat Ping From Vm Instance1 To Vm Instance2 With Additional SG Removed From Vm1
[Documentation] Login to the vm instance and test some operations
${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[1]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
Repeat Ping From Vm Instance2 To Vm Instance1 With Additional SG Removed From Vm1
[Documentation] Login to the vm instance and test operations
${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[0]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
Remove Router Interfaces
- : FOR ${interface} IN @{SUBNETS_NAME}
- \ OpenStackOperations.Remove Interface ${ROUTER_NAME} ${interface}
+ : FOR ${interface} IN @{SUBNETS}
+ \ OpenStackOperations.Remove Interface ${ROUTER} ${interface}
Delete Router
- OpenStackOperations.Delete Router ${ROUTER_NAME}
+ OpenStackOperations.Delete Router ${ROUTER}
Repeat Ping From Vm Instance1 To Vm Instance2 With Router Removed
[Documentation] Login to the vm instance and test some operations
${vm_ips} BuiltIn.Create List @{NET_1_VM_IPS}[1]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
Repeat Ping From Vm Instance2 To Vm Instance1 With Router Removed
[Documentation] Login to the vm instance and test operations
${vm_ips} BuiltIn.Create List @{NET_1_VM_IPS}[0]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
Delete Vm Instances In net_2
- : FOR ${vm} IN @{NET_2_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_2_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
Repeat Ping From Vm Instance1 To Vm Instance2 With net_2 VM Deleted
[Documentation] Login to the vm instance and test some operations
${vm_ips} BuiltIn.Create List @{NET_1_VM_IPS}[1]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[0] ${vm_ips}
Repeat Ping From Vm Instance2 To Vm Instance1 With net_2 VM Deleted
[Documentation] Login to the vm instance and test operations
${vm_ips} = BuiltIn.Create List @{NET_1_VM_IPS}[0]
- OpenStackOperations.Test Operations From Vm Instance @{NETWORKS_NAME}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET_1_VM_IPS}[1] ${vm_ips}
Delete Vm Instances In net_1
- : FOR ${VmElement} IN @{NET_1_VM_INSTANCES}
+ : FOR ${VmElement} IN @{NET_1_VMS}
\ OpenStackOperations.Delete Vm Instance ${VmElement}
Delete Security Groups
*** Keywords ***
Suite Teardown
- : FOR ${vm} IN @{NET_1_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_1_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
- : FOR ${vm} IN @{NET_2_VM_INSTANCES}
+ : FOR ${vm} IN @{NET_2_VMS}
\ OpenStackOperations.Delete Vm Instance ${vm}
- : FOR ${subnet} IN @{SUBNETS_NAME}
+ : FOR ${subnet} IN @{SUBNETS}
\ BuiltIn.Run Keyword And Ignore Error OpenStackOperations.Delete SubNet ${subnet}
- : FOR ${network} IN @{NETWORKS_NAME}
+ : FOR ${network} IN @{NETWORKS}
\ BuiltIn.Run Keyword And Ignore Error OpenStackOperations.Delete Network ${network}
BuiltIn.Run Keyword And Ignore Error OpenStackOperations.Delete SecurityGroup additional-sg
BuiltIn.Run Keyword And Ignore Error OpenStackOperations.Delete SecurityGroup ${SECURITY_GROUP}
*** Variables ***
${SECURITY_GROUP} sg-sfc
-@{NETWORKS_NAME} network_1
-@{SUBNETS_NAME} l2_subnet_1
-@{VM_INSTANCES} sf1 sf2 sf3 source_vm dest_vm
-@{SUBNETS_RANGE} 30.0.0.0/24
+@{NETWORKS} network_1
+@{SUBNETS} l2_subnet_1
+@{NET_1_VMS} sf1 sf2 sf3 source_vm dest_vm
+@{SUBNET_CIDRS} 30.0.0.0/24
@{PORTS} p1in p1out p2in p2out p3in p3out source_vm_port
... dest_vm_port
*** Test Cases ***
-Create VXLAN Network (network_1)
+Create VXLAN Network net_1
[Documentation] Create Network with neutron request.
- Create Network @{NETWORKS_NAME}[0]
+ OpenStackOperations.Create Network @{NETWORKS}[0]
-Create Subnets For network_1
+Create Subnets For net_1
[Documentation] Create Sub Nets for the Networks with neutron request.
- Create SubNet @{NETWORKS_NAME}[0] @{SUBNETS_NAME}[0] @{SUBNETS_RANGE}[0]
+ OpenStackOperations.Create SubNet @{NETWORKS}[0] @{SUBNETS}[0] @{SUBNET_CIDRS}[0]
Add Allow All Rules
[Documentation] Allow all TCP/UDP/ICMP packets for this suite
Create Neutron Ports
[Documentation] Precreate neutron ports to be used for SFC VMs
: FOR ${port} IN @{PORTS}
- \ Create Port @{NETWORKS_NAME}[0] ${port} sg=${SECURITY_GROUP}
+ \ OpenStackOperations.Create Port @{NETWORKS}[0] ${port} sg=${SECURITY_GROUP}
Create Vm Instances
[Documentation] Create Four Vm instances using flavor and image names for a network.
Create Vm Instance With Port dest_vm_port dest_vm sg=${SECURITY_GROUP}
Check Vm Instances Have Ip Address
- @{NET1_VM_IPS} ${NET1_DHCP_IP} = OpenStackOperations.Get VM IPs @{VM_INSTANCES}
+ @{NET1_VM_IPS} ${NET1_DHCP_IP} = OpenStackOperations.Get VM IPs @{NET_1_VMS}
BuiltIn.Set Suite Variable @{NET1_VM_IPS}
BuiltIn.Should Not Contain ${NET1_VM_IPS} None
BuiltIn.Should Not Contain ${NET1_DHCP_IP} None
- [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{VM_INSTANCES}
+ [Teardown] BuiltIn.Run Keywords OpenStackOperations.Show Debugs @{NET_1_VMS}
... AND OpenStackOperations.Get Test Teardown Debugs
Create Flow Classifiers
[Documentation] Create SFC Flow Classifier for TCP traffic between source VM and destination VM
- Create SFC Flow Classifier FC_http @{NET1_VM_IPS}[3] @{NET1_VM_IPS}[4] tcp 80 source_vm_port
+ OpenStackOperations.Create SFC Flow Classifier FC_http @{NET1_VM_IPS}[3] @{NET1_VM_IPS}[4] tcp 80 source_vm_port
Create Port Pairs
[Documentation] Create SFC Port Pairs
- Create SFC Port Pair PP1 p1in p1out
- Create SFC Port Pair PP2 p2in p2out
- Create SFC Port Pair PP3 p3in p3out
+ OpenStackOperations.Create SFC Port Pair PP1 p1in p1out
+ OpenStackOperations.Create SFC Port Pair PP2 p2in p2out
+ OpenStackOperations.Create SFC Port Pair PP3 p3in p3out
Create Port Pair Groups
[Documentation] Create SFC Port Pair Groups
- Create SFC Port Pair Group With Two Pairs PG1 PP1 PP2
- Create SFC Port Pair Group PG2 PP3
+ OpenStackOperations.Create SFC Port Pair Group With Two Pairs PG1 PP1 PP2
+ OpenStackOperations.Create SFC Port Pair Group PG2 PP3
Create Port Chain
[Documentation] Create SFC Port Chain using two port groups an classifier created previously
- Create SFC Port Chain PC1 PG1 PG2 FC_http
+ OpenStackOperations.Create SFC Port Chain PC1 PG1 PG2 FC_http
Start Web Server On Destination VM
[Documentation] Start a simple web server on the destination VM
- OpenStackOperations.Execute Command on VM Instance @{NETWORKS_NAME}[0] @{NET1_VM_IPS}[4] while true; do echo -e "HTTP/1.0 200 OK\r\nContent-Length: 21\r\n\r\nWelcome to web-server" | sudo nc -l -p 80 ; done &
+ OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[4] while true; do echo -e "HTTP/1.0 200 OK\r\nContent-Length: 21\r\n\r\nWelcome to web-server" | sudo nc -l -p 80 ; done &
Add Static Routing On Service Function VMs
[Documentation] Enable eth1 and add static routing between the ports on the SF VMs
- : FOR ${INDEX} IN RANGE 0 2
- \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS_NAME}[0] @{NET1_VM_IPS}[${INDEX}] sudo sh -c 'echo "auto eth1" >> /etc/network/interfaces'
- \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS_NAME}[0] @{NET1_VM_IPS}[${INDEX}] sudo sh -c 'echo "iface eth1 inet dhcp" >> /etc/network/interfaces'
- \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS_NAME}[0] @{NET1_VM_IPS}[${INDEX}] sudo /etc/init.d/S40network restart
- \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS_NAME}[0] @{NET1_VM_IPS}[${INDEX}] sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
- \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS_NAME}[0] @{NET1_VM_IPS}[${INDEX}] sudo ip route add @{NET1_VM_IPS}[3] dev eth0
- \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS_NAME}[0] @{NET1_VM_IPS}[${INDEX}] sudo ip route add @{NET1_VM_IPS}[4] dev eth1
+ : FOR ${index} IN RANGE 0 2
+ \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[${index}] sudo sh -c 'echo "auto eth1" >> /etc/network/interfaces'
+ \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[${index}] sudo sh -c 'echo "iface eth1 inet dhcp" >> /etc/network/interfaces'
+ \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[${index}] sudo /etc/init.d/S40network restart
+ \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[${index}] sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
+ \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[${index}] sudo ip route add @{NET1_VM_IPS}[3] dev eth0
+ \ OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[${index}] sudo ip route add @{NET1_VM_IPS}[4] dev eth1
-Connectivity Tests From Vm Instance1 In network_1
+Connectivity Tests From Vm Instance1 In net_1
[Documentation] Login to the source VM instance, and send a HTTP GET using curl to the destination VM instance
# FIXME need to somehow verify it goes through SFs (flows?)
${DEST_VM_LIST} BuiltIn.Create List @{NET1_VM_IPS}[4]
- Test Operations From Vm Instance network_1 @{NET1_VM_IPS}[3] ${DEST_VM_LIST}
- OpenStackOperations.Execute Command on VM Instance @{NETWORKS_NAME}[0] @{NET1_VM_IPS}[3] curl http://@{NET1_VM_IPS}[4]
+ OpenStackOperations.Test Operations From Vm Instance @{NETWORKS}[0] @{NET1_VM_IPS}[3] ${DEST_VM_LIST}
+ OpenStackOperations.Execute Command on VM Instance @{NETWORKS}[0] @{NET1_VM_IPS}[3] curl http://@{NET1_VM_IPS}[4]
*** Keywords ***
Delete Configurations
... of the Suite Teardown, all steps will be attempted. This prevents robot framework from bailing
... on the rest of a test case if one step intermittently has trouble and fails. The goal is to attempt
... to leave the test environment as clean as possible upon completion of this suite.
- : FOR ${VmElement} IN @{VM_INSTANCES}
- \ Delete Vm Instance ${VmElement}
- Delete SFC Port Chain PC1
- Delete SFC Port Pair Group PG1
- Delete SFC Port Pair Group PG2
- Delete SFC Port Pair PP1
- Delete SFC Port Pair PP2
- Delete SFC Port Pair PP3
- Delete SFC Flow Classifier FC_http
+ : FOR ${vm} IN @{NET_1_VMS}
+ \ OpenStackOperations.Delete Vm Instance ${vm}
+ OpenStackOperations.Delete SFC Port Chain PC1
+ OpenStackOperations.Delete SFC Port Pair Group PG1
+ OpenStackOperations.Delete SFC Port Pair Group PG2
+ OpenStackOperations.Delete SFC Port Pair PP1
+ OpenStackOperations.Delete SFC Port Pair PP2
+ OpenStackOperations.Delete SFC Port Pair PP3
+ OpenStackOperations.Delete SFC Flow Classifier FC_http
: FOR ${port} IN @{PORTS}
- \ Delete Port ${port}
- Delete SubNet l2_subnet_1
- : FOR ${NetworkElement} IN @{NETWORKS_NAME}
- \ Delete Network ${NetworkElement}
- Delete SecurityGroup ${SECURITY_GROUP}
+ \ OpenStackOperations.Delete Port ${port}
+ OpenStackOperations.Delete SubNet l2_subnet_1
+ : FOR ${network} IN @{NETWORKS}
+ \ OpenStackOperations.Delete Network ${network}
+ OpenStackOperations.Delete SecurityGroup ${SECURITY_GROUP}