2 Documentation Test suite to deploy devstack with networking-odl
3 Suite Setup Devstack Suite Setup
5 Library OperatingSystem
6 Library RequestsLibrary
7 Resource ../../../libraries/Utils.robot
8 Resource ../../../libraries/OpenStackOperations.robot
9 Resource ../../../libraries/DevstackUtils.robot
12 @{NETWORKS_NAME} net1_network net2_network
13 @{SUBNETS_NAME} subnet1 subnet2
14 @{VM_INSTANCES_NAME} MyFirstInstance MySecondInstance
15 @{VM_IPS} 10.0.0.3 20.0.0.3
16 @{GATEWAY_IPS} 10.0.0.1 20.0.0.1
17 @{DHCP_IPS} 10.0.0.2 20.0.0.2
20 Run Devstack Gate Wrapper
21 Write Commands Until Prompt unset GIT_BASE
22 Write Commands Until Prompt env
23 ${output}= Write Commands Until Prompt ./devstack-gate/devstack-vm-gate-wrap.sh timeout=3600s #60min
25 Should Not Contain ${output} ERROR: the main setup script run by this job failed
26 # workaround for https://bugs.launchpad.net/networking-odl/+bug/1512418
27 Write Commands Until Prompt cd /opt/stack/new/tempest-lib
28 Write Commands Until Prompt sudo python setup.py install
29 [Teardown] Show Devstack Debugs
31 Validate Neutron and Networking-ODL Versions
32 ${output}= Write Commands Until Prompt cd /opt/stack/new/neutron; git branch;
33 Should Contain ${output} * ${OPENSTACK_BRANCH}
34 ${output}= Write Commands Until Prompt cd /opt/stack/new/networking-odl; git branch;
35 Should Contain ${output} * ${NETWORKING-ODL_BRANCH}
38 Run Tempest Tests ${TEST_NAME}
41 [Documentation] Create Network with neutron request.
42 : FOR ${NetworkElement} IN @{NETWORKS_NAME}
43 \ Create Network ${NetworkElement}
45 Create Subnets For net1_network
46 [Documentation] Create Sub Nets for the Networks with neutron request.
47 Create SubNet net1_network subnet1 10.0.0.0/24
49 Create Subnets For net2_network
50 [Documentation] Create Sub Nets for the Networks with neutron request.
51 Create SubNet net2_network subnet2 20.0.0.0/24
54 ${output}= Write Commands Until Prompt neutron -v port-list
57 List Available Networks
58 ${output}= Write Commands Until Prompt neutron -v net-list
62 ${output}= Write Commands Until Prompt keystone tenant-list
66 ${output}= Write Commands Until Prompt nova list
70 ${output}= Write Commands Until Prompt nova image-list
74 ${output}= Write Commands Until Prompt nova flavor-list
78 [Documentation] Create Vm instances using flavor and image names.
79 : FOR ${NetworkElement} IN @{NETWORKS_NAME}
80 \ ${net_id}= Get Net Id ${NetworkElement}
81 \ Create Vm Instance ${net_id} ${NetworkElement}
83 Show Details of Created Vm Instance
84 [Documentation] View Details of the created vm instances using nova show.
85 : FOR ${VmElement} IN @{VM_INSTANCES_NAME}
86 \ ${output}= Write Commands Until Prompt nova show ${VmElement}
89 Verify Created Vm Instance In Dump Flow
90 [Documentation] Verify the existence of the created vm instance ips in the dump flow.
91 ${output}= Write Commands Until Prompt sudo ovs-ofctl -O OpenFlow13 dump-flows br-int
93 : FOR ${VmIpElement} IN @{VM_IPS}
94 \ Should Contain ${output} ${VmIpElement}
97 [Documentation] Create Router and Add Interface to the subnets.
98 Create Router router_1
100 Verify Gateway Ip After Interface Added
101 [Documentation] Verify the existence of the gateway ips with the dump flow in Beryllium.
102 Run Keyword If "${ODL_VERSION}" == "lithium-latest" Run Keyword And Ignore Error Verify Gateway Ips
103 ... ELSE IF "${ODL_VERSION}" != "lithium-latest" Verify Gateway Ips
105 Verify Dhcp Flow Entries
106 [Documentation] Verify Created SubNets for the Networks with the dump flow in Beryllium.
107 Run Keyword If "${ODL_VERSION}" == "lithium-latest" Run Keyword And Ignore Error Verify Dhcp Ips
108 ... ELSE IF "${ODL_VERSION}" != "lithium-latest" Verify Dhcp Ips
111 [Documentation] Delete Vm instances using instance names.
112 : FOR ${VmElement} IN @{VM_INSTANCES_NAME}
113 \ Delete Vm Instance ${VmElement}
115 Verify Deleted Vm Instance Removed In Dump Flow
116 [Documentation] Verify the non-existence of the vm instance ips in the dump flow.
117 : FOR ${VmIpElement} IN @{VM_IPS}
118 \ ${output}= Write Commands Until Prompt sudo ovs-ofctl -O OpenFlow13 dump-flows br-int
120 \ Should Not Contain ${output} ${VmIpElement}
122 Delete Router Interfaces
123 [Documentation] Remove Interface to the subnets.
124 Remove Interface router_1
127 [Documentation] Delete Router and Interface to the subnets.
128 Delete Router router_1
130 Verify Deleted Routers
131 [Documentation] Verify Deleted Routers for the Networks with dump flow.
132 Verify No Gateway Ips
134 Delete Sub Networks In net1_network
135 [Documentation] Delete Sub Nets for the Networks with neutron request.
136 Delete SubNet subnet1
138 Delete Sub Networks In net2_network
139 [Documentation] Delete Sub Nets for the Networks with neutron request.
140 Delete SubNet subnet2
143 [Documentation] Delete Networks with neutron request.
144 : FOR ${NetworkElement} IN @{NETWORKS_NAME}
145 \ Delete Network ${NetworkElement}
147 Verify Deleted Subnets
148 [Documentation] Verify Deleted SubNets for the Networks with dump flow.