+++ /dev/null
-*** Settings ***
-Documentation Test suite to deploy devstack with networking-odl
-Suite Setup Devstack Suite Setup
-Library SSHLibrary
-Library OperatingSystem
-Library RequestsLibrary
-Resource ../../../libraries/Utils.robot
-Resource ../../../libraries/OpenStackOperations.robot
-Resource ../../../libraries/DevstackUtils.robot
-
-*** Variables ***
-@{NETWORKS_NAME} net1_network net2_network
-@{SUBNETS_NAME} subnet1 subnet2
-@{NET_1_VM_INSTANCES} MyFirstInstance_1 MySecondInstance_1
-@{NET_2_VM_INSTANCES} MyFirstInstance_2 MySecondInstance_2
-@{VM_IPS} 10.0.0.3 20.0.0.3
-@{GATEWAY_IPS} 10.0.0.1 20.0.0.1
-@{DHCP_IPS} 10.0.0.2 20.0.0.2
-@{SUBNETS_RANGE} 10.0.0.0/24 20.0.0.0/24
-
-*** Test Cases ***
-Run Devstack Gate Wrapper
- Write Commands Until Prompt unset GIT_BASE
- Write Commands Until Prompt env
- ${output}= Write Commands Until Prompt ./devstack-gate/devstack-vm-gate-wrap.sh timeout=3600s #60min
- Log ${output}
- Should Not Contain ${output} ERROR: the main setup script run by this job failed
- # workaround for https://bugs.launchpad.net/networking-odl/+bug/1512418
- Write Commands Until Prompt cd /opt/stack/new/tempest-lib
- Write Commands Until Prompt sudo python setup.py install
- [Teardown] Show Devstack Debugs
-
-Validate Neutron and Networking-ODL Versions
- ${output}= Write Commands Until Prompt cd /opt/stack/new/neutron; git branch;
- Should Contain ${output} * ${OPENSTACK_BRANCH}
- ${output}= Write Commands Until Prompt cd /opt/stack/new/networking-odl; git branch;
- Should Contain ${output} * ${NETWORKING-ODL_BRANCH}
-
-tempest.api.network
- Run Tempest Tests ${TEST_NAME}
-
-Create Networks
- [Documentation] Create Network with neutron request.
- : FOR ${NetworkElement} IN @{NETWORKS_NAME}
- \ Create Network ${NetworkElement}
-
-Create Subnets For net1_network
- [Documentation] Create Sub Nets for the Networks with neutron request.
- Create SubNet net1_network subnet1 @{SUBNETS_RANGE}[0]
-
-Create Subnets For net2_network
- [Documentation] Create Sub Nets for the Networks with neutron request.
- Create SubNet net2_network subnet2 @{SUBNETS_RANGE}[1]
-
-List Ports
- ${output}= Write Commands Until Prompt neutron -v port-list
- Log ${output}
-
-List Available Networks
- ${output}= Write Commands Until Prompt neutron -v net-list
- Log ${output}
-
-List Tenants
- ${output}= Write Commands Until Prompt keystone tenant-list
- Log ${output}
-
-List Nova
- ${output}= Write Commands Until Prompt nova list
- Log ${output}
-
-List Nova Images
- ${output}= Write Commands Until Prompt nova image-list
- Log ${output}
-
-List Nova Flavor
- ${output}= Write Commands Until Prompt nova flavor-list
- Log ${output}
-
-Create Vm Instances For net1_network
- [Documentation] Create Vm instances using flavor and image names.
- Create Vm Instances net1_network ${NET_1_VM_INSTANCES}
- [Teardown] Show Debugs ${NET_1_VM_INSTANCES}
-
-Create Vm Instances For net2_network
- [Documentation] Create Vm instances using flavor and image names.
- Create Vm Instances net2_network ${NET_2_VM_INSTANCES}
- [Teardown] Show Debugs ${NET_2_VM_INSTANCES}
-
-Verify Created Vm Instance In Dump Flow
- [Documentation] Verify the existence of the created vm instance ips in the dump flow.
- ${output}= Write Commands Until Prompt sudo ovs-ofctl -O OpenFlow13 dump-flows br-int
- Log ${output}
- : FOR ${VmIpElement} IN @{VM_IPS}
- \ Should Contain ${output} ${VmIpElement}
-
-Create Routers
- [Documentation] Create Router and Add Interface to the subnets.
- Create Router router_1
-
-Verify Gateway Ip After Interface Added
- [Documentation] Verify the existence of the gateway ips with the dump flow in Beryllium.
- Run Keyword If "${ODL_VERSION}" == "lithium-latest" Run Keyword And Ignore Error Verify Gateway Ips
- ... ELSE IF "${ODL_VERSION}" != "lithium-latest" Verify Gateway Ips
-
-Verify Dhcp Flow Entries
- [Documentation] Verify Created SubNets for the Networks with the dump flow in Beryllium.
- Run Keyword If "${ODL_VERSION}" == "lithium-latest" Run Keyword And Ignore Error Verify Dhcp Ips
- ... ELSE IF "${ODL_VERSION}" != "lithium-latest" Verify Dhcp Ips
-
-Delete Vm Instances In net1_network
- [Documentation] Delete Vm instances using instance names in net1_network.
- : FOR ${VmElement} IN @{NET_1_VM_INSTANCES}
- \ Delete Vm Instance ${VmElement}
-
-Delete Vm Instances In net2_network
- [Documentation] Delete Vm instances using instance names in net2_network.
- : FOR ${VmElement} IN @{NET_2_VM_INSTANCES}
- \ Delete Vm Instance ${VmElement}
-
-Verify Deleted Vm Instance Removed In Dump Flow
- [Documentation] Verify the non-existence of the vm instance ips in the dump flow.
- : FOR ${VmIpElement} IN @{VM_IPS}
- \ ${output}= Write Commands Until Prompt sudo ovs-ofctl -O OpenFlow13 dump-flows br-int
- \ Log ${output}
- \ Should Not Contain ${output} ${VmIpElement}
-
-Delete Router Interfaces
- [Documentation] Remove Interface to the subnets.
- : FOR ${interface} IN @{SUBNETS_NAME}
- \ Remove Interface router_1 ${interface}
-
-Delete Routers
- [Documentation] Delete Router and Interface to the subnets.
- Delete Router router_1
-
-Verify Deleted Routers
- [Documentation] Verify Deleted Routers for the Networks with dump flow.
- Verify No Gateway Ips
-
-Delete Sub Networks In net1_network
- [Documentation] Delete Sub Nets for the Networks with neutron request.
- Delete SubNet subnet1
-
-Delete Sub Networks In net2_network
- [Documentation] Delete Sub Nets for the Networks with neutron request.
- Delete SubNet subnet2
-
-Delete Networks
- [Documentation] Delete Networks with neutron request.
- : FOR ${NetworkElement} IN @{NETWORKS_NAME}
- \ Delete Network ${NetworkElement}
-
-Verify Deleted Subnets
- [Documentation] Verify Deleted SubNets for the Networks with dump flow.
- Verify No Dhcp Ips
+++ /dev/null
-*** Settings ***
-Documentation Test suite to verify packet flows between vm instances.
-Suite Setup Devstack Suite Setup
-Library SSHLibrary
-Library OperatingSystem
-Library RequestsLibrary
-Resource ../../../libraries/Utils.robot
-Resource ../../../libraries/OpenStackOperations.robot
-Resource ../../../libraries/DevstackUtils.robot
-
-*** Variables ***
-@{NETWORKS_NAME} network_1 network_2
-@{SUBNETS_NAME} subnet_1 subnet_2
-@{NET_1_VM_INSTANCES} MyFirstInstance_1 MySecondInstance_1
-@{NET_2_VM_INSTANCES} MyFirstInstance_2 MySecondInstance_2
-@{NET_1_VM_IPS} 30.0.0.3 30.0.0.4
-@{NET_2_VM_IPS} 40.0.0.3 40.0.0.4
-@{VM_IPS_NOT_DELETED} 30.0.0.4
-@{GATEWAY_IPS} 30.0.0.1 40.0.0.1
-@{DHCP_IPS} 30.0.0.2 40.0.0.2
-@{SUBNETS_RANGE} 30.0.0.0/24 40.0.0.0/24
-
-*** Test Cases ***
-Create Networks
- [Documentation] Create Network with neutron request.
- : FOR ${NetworkElement} IN @{NETWORKS_NAME}
- \ Create Network ${NetworkElement}
-
-Create Subnets For network_1
- [Documentation] Create Sub Nets for the Networks with neutron request.
- Create SubNet network_1 subnet_1 @{SUBNETS_RANGE}[0]
-
-Create Subnets For network_2
- [Documentation] Create Sub Nets for the Networks with neutron request.
- Create SubNet network_2 subnet_2 @{SUBNETS_RANGE}[1]
-
-Create Vm Instances For network_1
- [Documentation] Create Four Vm instances using flavor and image names for a network.
- Create Vm Instances network_1 ${NET_1_VM_INSTANCES}
- [Teardown] Show Debugs ${NET_1_VM_INSTANCES}
-
-Create Vm Instances For network_2
- [Documentation] Create Four Vm instances using flavor and image names for a network.
- Create Vm Instances network_2 ${NET_2_VM_INSTANCES}
- [Teardown] Show Debugs ${NET_2_VM_INSTANCES}
-
-List Networks With Namespaces
- ${output}= Write Commands Until Prompt sudo ip netns list
- Log ${output}
-
-Ping Vm Instance1 In network_1
- [Documentation] Check reachability of vm instances by pinging to them.
- Ping Vm From DHCP Namespace network_1 @{NET_1_VM_IPS}[0]
-
-Ping Vm Instance2 In network_1
- [Documentation] Check reachability of vm instances by pinging to them.
- Ping Vm From DHCP Namespace network_1 @{NET_1_VM_IPS}[1]
-
-Ping Vm Instance1 In network_2
- [Documentation] Check reachability of vm instances by pinging to them.
- Ping Vm From DHCP Namespace network_2 @{NET_2_VM_IPS}[0]
-
-Ping Vm Instance2 In network_2
- [Documentation] Check reachability of vm instances by pinging to them.
- Ping Vm From DHCP Namespace network_2 @{NET_2_VM_IPS}[1]
-
-Connectivity Tests From Vm Instance1 In network_1
- [Documentation] Logging to the vm instance1
- ${dst_ip_list}= Create List @{NET_1_VM_IPS}[1] @{DHCP_IPS}[0]
- Log ${dst_ip_list}
- Test Operations From Vm Instance network_1 @{NET_1_VM_IPS}[0] ${dst_ip_list}
-
-Connectivity Tests From Vm Instance2 In network_1
- [Documentation] Logging to the vm instance2
- ${dst_ip_list}= Create List @{NET_1_VM_IPS}[0] @{DHCP_IPS}[0]
- Log ${dst_ip_list}
- Test Operations From Vm Instance network_1 @{NET_1_VM_IPS}[1] ${dst_ip_list}
-
-Connectivity Tests From Vm Instance1 In network_2
- [Documentation] Logging to the vm instance1
- ${dst_ip_list}= Create List @{NET_2_VM_IPS}[1] @{DHCP_IPS}[1]
- Log ${dst_ip_list}
- Test Operations From Vm Instance network_2 @{NET_2_VM_IPS}[0] ${dst_ip_list}
-
-Connectivity Tests From Vm Instance2 In network_2
- [Documentation] Logging to the vm instance2
- ${dst_ip_list}= Create List @{NET_2_VM_IPS}[0] @{DHCP_IPS}[1]
- Log ${dst_ip_list}
- Test Operations From Vm Instance network_2 @{NET_2_VM_IPS}[1] ${dst_ip_list}
-
-Delete Vm Instance
- [Documentation] Delete Vm instances using instance names.
- Delete Vm Instance MyFirstInstance_1
-
-No Ping For Deleted Vm
- [Documentation] Check non reachability of deleted vm instances by pinging to them.
- ${output}= Ping Vm From DHCP Namespace ${net_id} @{NET_1_VM_IPS}[0]
-
-Delete Vm Instances In network_1
- [Documentation] Delete Vm instances using instance names in network_1.
- : FOR ${VmElement} IN @{NET_1_VM_INSTANCES}
- \ Delete Vm Instance ${VmElement}
-
-Delete Vm Instances In network_2
- [Documentation] Delete Vm instances using instance names in network_2.
- : FOR ${VmElement} IN @{NET_2_VM_INSTANCES}
- \ Delete Vm Instance ${VmElement}
-
-Delete Sub Networks In network_1
- [Documentation] Delete Sub Nets for the Networks with neutron request.
- Delete SubNet subnet_1
-
-Delete Sub Networks In network_2
- [Documentation] Delete Sub Nets for the Networks with neutron request.
- Delete SubNet subnet_2
-
-Delete Networks
- [Documentation] Delete Networks with neutron request.
- : FOR ${NetworkElement} IN @{NETWORKS_NAME}
- \ Delete Network ${NetworkElement}