1 SNAPS OpenStack Integration Testing
2 ===================================
4 These tests are ones designed to be run within their own dynamically created project along with a newly generated user
5 account and generally require other OpenStack object creators.
10 create_security_group_tests.py - CreateSecurityGroupTests
11 ---------------------------------------------------------
13 +---------------------------------------+---------------+-----------------------------------------------------------+
14 | Test Name | API Versions | Description |
15 +=======================================+===============+===========================================================+
16 | test_create_group_without_rules | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can create a |
17 | | Neutron 2 | security group without any rules |
18 +---------------------------------------+---------------+-----------------------------------------------------------+
19 | test_create_group_admin_user_to_new | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can be created |
20 | _project | Neutron 2 | by the admin user and associated with a new project |
21 +---------------------------------------+---------------+-----------------------------------------------------------+
22 | test_create_group_new_user_to_admin | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can be created |
23 | _project | Neutron 2 | by the new user and associated with the admin project |
24 +---------------------------------------+---------------+-----------------------------------------------------------+
25 | test_create_delete_group | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class clean() method |
26 | | Neutron 2 | will not raise an exception should the group be deleted by|
27 | | | some other process |
28 +---------------------------------------+---------------+-----------------------------------------------------------+
29 | test_create_group_with_one_simple_rule| Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can create a |
30 | | Neutron 2 | security group with a single simple rule |
31 +---------------------------------------+---------------+-----------------------------------------------------------+
32 | test_create_group_with_one_complex | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can create a |
33 | _rule | Neutron 2 | security group with a single complex rule |
34 +---------------------------------------+---------------+-----------------------------------------------------------+
35 | test_create_group_with_several_rules | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can create a |
36 | | Neutron 2 | security group with several rules |
37 +---------------------------------------+---------------+-----------------------------------------------------------+
38 | test_add_rule | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup#add_rule() method |
39 | | Neutron 2 | properly creates and associates the new rule |
40 +---------------------------------------+---------------+-----------------------------------------------------------+
41 | test_remove_rule_by_id | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup#remove_rule() method |
42 | | Neutron 2 | properly deletes and disassociates the old rule via its ID|
43 +---------------------------------------+---------------+-----------------------------------------------------------+
44 | test_remove_rule_by_setting | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup#remove_rule() method |
45 | | Neutron 2 | properly deletes and disassociates the old rule via its |
46 | | | setting object |
47 +---------------------------------------+---------------+-----------------------------------------------------------+
49 create_security_group_tests.py - CreateMultipleSecurityGroupTests
50 -----------------------------------------------------------------
52 +---------------------------------------+---------------+-----------------------------------------------------------+
53 | Test Name | API Versions | Description |
54 +=======================================+===============+===========================================================+
55 | test_sec_grp_same_name_diff_proj | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class does not |
56 | | Neutron 2 | initialize security groups with the same name from other |
57 | | | project/tenants |
58 +---------------------------------------+---------------+-----------------------------------------------------------+
60 create_image_tests.py - CreateImageSuccessTests
61 -----------------------------------------------
63 +---------------------------------------+---------------+-----------------------------------------------------------+
64 | Test Name | Glance API | Description |
65 +=======================================+===============+===========================================================+
66 | test_create_image_clean_url | 1 & 2 | Ensures the OpenStackImage class can create an image from |
67 | | | a download URL location |
68 +---------------------------------------+---------------+-----------------------------------------------------------+
69 | test_create_image_clean_url_properties| 1 & 2 | Ensures the OpenStackImage class can create an image from |
70 | | | a download URL location with custom properties |
71 +---------------------------------------+---------------+-----------------------------------------------------------+
72 | test_create_image_clean_file | 1 & 2 | Ensures the OpenStackImage class can create an image from |
73 | | | a locally sourced image file |
74 +---------------------------------------+---------------+-----------------------------------------------------------+
75 | test_create_delete_image | 1 & 2 | Ensures the OpenStackImage.clean() method deletes an image|
76 | | | and does not raise an exception on subsequent calls to the|
77 | | | clean() method |
78 +---------------------------------------+---------------+-----------------------------------------------------------+
79 | test_create_same_image | 1 & 2 | Ensures the OpenStackImage.create() method does not create|
80 | | | another image when one already exists with the same name |
81 +---------------------------------------+---------------+-----------------------------------------------------------+
82 | test_create_same_image_new_settings | 1 & 2 | Tests the creation of an OpenStack image when the image |
83 | | | already exists and the configuration only contains the |
85 +---------------------------------------+---------------+-----------------------------------------------------------+
87 create_image_tests.py - CreateImageNegativeTests
88 ------------------------------------------------
90 +---------------------------------------+---------------+-----------------------------------------------------------+
91 | Test Name | Glance API | Description |
92 +=======================================+===============+===========================================================+
93 | test_bad_image_name | 1 & 2 | Ensures OpenStackImage.create() results in an Exception |
94 | | | being raised when the ImageConfig.name attribute has |
96 +---------------------------------------+---------------+-----------------------------------------------------------+
97 | test_bad_image_url | 1 & 2 | Ensures OpenStackImage.create() results in an Exception |
98 | | | being raised when the download URL is invalid |
99 +---------------------------------------+---------------+-----------------------------------------------------------+
100 | test_bad_image_type | 1 & 2 | Ensures OpenStackImage.create() results in an Exception |
101 | | | being raised when the image format is 'foo' |
102 +---------------------------------------+---------------+-----------------------------------------------------------+
103 | test_bad_image_file | 1 & 2 | Ensures OpenStackImage.create() results in an Exception |
104 | | | being raised when the image file does not exist |
105 +---------------------------------------+---------------+-----------------------------------------------------------+
107 create_image_tests.py - CreateMultiPartImageTests
108 -------------------------------------------------
110 +----------------------------------------+---------------+-----------------------------------------------------------+
111 | Test Name | Glance API | Description |
112 +========================================+===============+===========================================================+
113 | test_create_three_part_image_from_url | 1 & 2 | Ensures that a 3-part image can be created when each part |
114 | | | is being sourced from URLs |
115 +----------------------------------------+---------------+-----------------------------------------------------------+
116 | test_create_three_part_image_from_file | 1 & 2 | Ensures that a 3-part image can be created when each part |
117 | _3_creators | | is being sourced from local files and 3 creators are used |
118 +----------------------------------------+---------------+-----------------------------------------------------------+
119 | test_create_three_part_image_from_url | 1 & 2 | Ensures that a 3-part image can be created when each part |
120 | _3_creators | | is being sourced from a URL and 3 creators are used |
121 +----------------------------------------+---------------+-----------------------------------------------------------+
123 create_keypairs_tests.py - CreateKeypairsTests
124 ----------------------------------------------
126 +---------------------------------------+---------------+-----------------------------------------------------------+
127 | Test Name | Nova API | Description |
128 +=======================================+===============+===========================================================+
129 | test_create_keypair_only | 2 | Ensures that a keypair object can be created simply by |
130 | | | only configuring a name |
131 +---------------------------------------+---------------+-----------------------------------------------------------+
132 | test_create_keypair_large_key | 2 | Ensures that a keypair object can be created with a large |
133 | | | key of 10000 bytes |
134 +---------------------------------------+---------------+-----------------------------------------------------------+
135 | test_create_delete_keypair | 2 | Ensures that a keypair object is deleted via |
136 | | | OpenStackKeypair.clean() and subsequent calls do not |
137 | | | result in exceptions |
138 +---------------------------------------+---------------+-----------------------------------------------------------+
139 | test_create_keypair_save_pub_only | 2 | Ensures that a keypair object can be created when the only|
140 | | | the public key is cached to disk |
141 +---------------------------------------+---------------+-----------------------------------------------------------+
142 | test_create_keypair_save_both | 2 | Ensures that a keypair object can be created when both the|
143 | | | public and private keys are cached to disk |
144 +---------------------------------------+---------------+-----------------------------------------------------------+
145 | test_create_keypair_from_file | 2 | Ensures that a keypair object can be created with an |
146 | | | existing public key file |
147 +---------------------------------------+---------------+-----------------------------------------------------------+
149 create_keypairs_tests.py - CreateKeypairsCleanupTests
150 -----------------------------------------------------
152 +---------------------------------------+---------------+-----------------------------------------------------------+
153 | Test Name | Nova API | Description |
154 +=======================================+===============+===========================================================+
155 | test_create_keypair_gen_files_delete_1| 2 | Ensures that new keypair files are deleted by default |
156 | | | by OpenStackKeypair#clean() |
157 +---------------------------------------+---------------+-----------------------------------------------------------+
158 | test_create_keypair_gen_files_delete_2| 2 | Ensures that new keypair files are deleted by |
159 | | | OpenStackKeypair#clean() when the settings delete_on_clean|
160 | | | attribute is set to True |
161 +---------------------------------------+---------------+-----------------------------------------------------------+
162 | test_create_keypair_gen_files_keep | 2 | Ensures that new keypair files are not deleted by |
163 | | | OpenStackKeypair#clean() |
164 +---------------------------------------+---------------+-----------------------------------------------------------+
165 | test_create_keypair_exist_files_keep | 2 | Ensures that existing keypair files are not deleted by |
166 | | | OpenStackKeypair#clean() |
167 +---------------------------------------+---------------+-----------------------------------------------------------+
168 | test_create_keypair_exist_files_delete| 2 | Ensures that existing keypair files are deleted by |
169 | | | OpenStackKeypair#clean() |
170 +---------------------------------------+---------------+-----------------------------------------------------------+
172 create_network_tests.py - CreateNetworkSuccessTests
173 ---------------------------------------------------
175 +---------------------------------------+---------------+-----------------------------------------------------------+
176 | Test Name | Neutron API | Description |
177 +=======================================+===============+===========================================================+
178 | test_create_network_without_router | 2 | Ensures that a network can be created via the |
179 | | | OpenStackNetwork class without any routers |
180 +---------------------------------------+---------------+-----------------------------------------------------------+
181 | test_create_delete_network | 2 | Ensures that a router can be deleted via the |
182 | | | OpenStackNetwork.clean() method |
183 +---------------------------------------+---------------+-----------------------------------------------------------+
184 | test_create_network_with_router | 2 | Ensures that a network can be created via the |
185 | | | OpenStackNetwork class with a router |
186 +---------------------------------------+---------------+-----------------------------------------------------------+
187 | test_create_networks_same_name | 2 | Ensures that the OpenStackNetwork.create() method will not|
188 | | | create a network with the same name |
189 +---------------------------------------+---------------+-----------------------------------------------------------+
190 | test_create_networks_router_admin_user| 2 | Ensures that the networks, subnets, and routers can be |
191 | _to_new_project | | create created by an admin user and assigned to a new |
193 +---------------------------------------+---------------+-----------------------------------------------------------+
194 | test_create_networks_router_new_user | 2 | Ensures that the networks, subnets, and routers can be |
195 | _to_admin_project | | create created by a new admin user and assigned to the |
196 | | | 'admin' project ID |
197 +---------------------------------------+---------------+-----------------------------------------------------------+
199 create_network_tests.py - CreateNetworkGatewayTests
200 ---------------------------------------------------
202 +---------------------------------------+---------------+-----------------------------------------------------------+
203 | Test Name | Neutron API | Description |
204 +=======================================+===============+===========================================================+
205 | test_create_subnet_default_gateway_ip | 2 | Ensures that a network can be created with a Subnet that |
206 | | | has the gateway_ip automatically assigned |
207 +---------------------------------------+---------------+-----------------------------------------------------------+
208 | test_create_subnet_valid_gateway_ip | 2 | Ensures that a network can be created with a Subnet that |
209 | | | has the gateway_ip statically assigned with a valid IP |
210 +---------------------------------------+---------------+-----------------------------------------------------------+
211 | test_create_subnet_no_gateway | 2 | Ensures that a network can be created where no gateway_ip |
213 +---------------------------------------+---------------+-----------------------------------------------------------+
214 | test_create_subnet_invalid_gateway_ip | 2 | Ensures that a network cannot be created with a Subnet |
215 | | | has an invalid gateway_ip value such as 'foo' |
216 +---------------------------------------+---------------+-----------------------------------------------------------+
218 create_network_tests.py - CreateNetworkIPv6Tests
219 ------------------------------------------------
221 +---------------------------------------+---------------+-----------------------------------------------------------+
222 | Test Name | Neutron API | Description |
223 +=======================================+===============+===========================================================+
224 | test_create_network_one_ipv6_subnet | 2 | Ensures that a network can be created with an IPv6 subnet |
225 +---------------------------------------+---------------+-----------------------------------------------------------+
226 | test_create_network_ipv4_ipv6_subnet | 2 | Ensures that a network can be created with an IPv4 and |
228 +---------------------------------------+---------------+-----------------------------------------------------------+
230 create_network_tests.py - CreateMultipleNetworkTests
231 ----------------------------------------------------
233 +---------------------------------------+---------------+-----------------------------------------------------------+
234 | Test Name | Neutron API | Description |
235 +=======================================+===============+===========================================================+
236 | test_network_same_name_diff_proj | 2 | Ensures that a network with the same name can be created |
237 | | | against different projects |
238 +---------------------------------------+---------------+-----------------------------------------------------------+
239 | test_network_create_by_admin_to | 2 | Ensures that a network can be created by the admin user |
240 | _different_project | | to another project and that a creator with the credentials|
241 | | | to the other project will not create a new network with |
242 | | | the same name |
243 +---------------------------------------+---------------+-----------------------------------------------------------+
245 create_router_tests.py - CreateRouterSuccessTests
246 -------------------------------------------------
248 +---------------------------------------+---------------+-----------------------------------------------------------+
249 | Test Name | Neutron API | Description |
250 +=======================================+===============+===========================================================+
251 | test_create_router_vanilla | 2 | Ensures that a router can be created via the |
252 | | | OpenStackRouter class with minimal settings |
253 +---------------------------------------+---------------+-----------------------------------------------------------+
254 | test_create_router_admin_user_to_new | 2 | Ensures that a router can be created by an admin user and |
255 | _project | | assigned to a new project |
256 +---------------------------------------+---------------+-----------------------------------------------------------+
257 | test_create_router_new_user_to_admin | 2 | Ensures that a router can be created by a new user and |
258 | _project | | assigned to the admin project |
259 +---------------------------------------+---------------+-----------------------------------------------------------+
260 | test_create_delete_router | 2 | Ensures that a router can be deleted via the |
261 | | | OpenStackRouter.clean() method |
262 +---------------------------------------+---------------+-----------------------------------------------------------+
263 | test_create_with_internal_sub | 2 | Ensures that a router can be joined to a subnet created by|
264 | | | the same user who created the subnet |
265 +---------------------------------------+---------------+-----------------------------------------------------------+
266 | test_create_with_invalid_internal_sub | 2 | Ensures that a router cannot be created when attempting to|
267 | | | join a subnet created by the admin user |
268 +---------------------------------------+---------------+-----------------------------------------------------------+
269 | test_create_router_admin_state_false | 2 | Ensures that a router can created with |
270 | | | admin_state_up = False |
271 +---------------------------------------+---------------+-----------------------------------------------------------+
272 | test_create_router_admin_state_True | 2 | Ensures that a router can created with |
273 | | | admin_state_up = True |
274 +---------------------------------------+---------------+-----------------------------------------------------------+
275 | test_create_router_private_network | 2 | Ensures that a router port can be created against a |
276 | | | private network |
277 +---------------------------------------+---------------+-----------------------------------------------------------+
278 | test_create_router_external_network | 2 | Ensures that a router can be created that is connected to |
279 | | | both external and private internal networks |
280 +---------------------------------------+---------------+-----------------------------------------------------------+
281 | test_create_router_with_ext_port | 2 | Ensures that a router can be created by an 'admin' user |
282 | | | with a port to an external network |
283 +---------------------------------------+---------------+-----------------------------------------------------------+
285 create_router_tests.py - CreateRouterNegativeTests
286 --------------------------------------------------
288 +----------------------------------------+---------------+-----------------------------------------------------------+
289 | Test Name | Neutron API | Description |
290 +========================================+===============+===========================================================+
291 | test_create_router_noname | 2 | Ensures that an exception is raised when attempting to |
292 | | | create a router without a name |
293 +----------------------------------------+---------------+-----------------------------------------------------------+
294 | test_create_router_invalid_gateway_name| 2 | Ensures that an exception is raised when attempting to |
295 | | | create a router to an external network that does not exist|
296 +----------------------------------------+---------------+-----------------------------------------------------------+
297 | test_create_router_admin_ports | 2 | Ensures that an exception is raised when attempting to |
298 | | | create a router with ports to networks owned by another |
300 +----------------------------------------+---------------+-----------------------------------------------------------+
302 create_router_tests.py - CreateMultipleRouterTests
303 --------------------------------------------------
305 +---------------------------------------+---------------+-----------------------------------------------------------+
306 | Test Name | Neutron API | Description |
307 +=======================================+===============+===========================================================+
308 | test_router_same_name_diff_proj | 2 | Ensures that a router with the same name can be created |
309 | | | against different projects |
310 +---------------------------------------+---------------+-----------------------------------------------------------+
311 | test_router_create_by_admin_to | 2 | Ensures that a router can be created by the admin user |
312 | _different_project | | to another project and that a creator with the credentials|
313 | | | to the other project will not create a new router with |
314 | | | the same name |
315 +---------------------------------------+---------------+-----------------------------------------------------------+
317 create_router_tests.py - CreateRouterSecurityGroupTests
318 -------------------------------------------------------
320 +---------------------------------------+---------------+-----------------------------------------------------------+
321 | Test Name | Neutron API | Description |
322 +=======================================+===============+===========================================================+
323 | test_create_router_secure_port | 2 | Ensures that a router's port can have a security group |
324 | | | applied to it |
325 +---------------------------------------+---------------+-----------------------------------------------------------+
327 create_router_tests.py - CreateRouterSharedNetworksTests
328 --------------------------------------------------------
330 +---------------------------------------+---------------+-----------------------------------------------------------+
331 | Test Name | Neutron API | Description |
332 +=======================================+===============+===========================================================+
333 | test_create_router_external | 2 | Ensures that a router can be joined to an external network|
334 | | | that was created by an admin user |
335 +---------------------------------------+---------------+-----------------------------------------------------------+
336 | test_create_router_port_external | 2 | Ensures that a router can have a port created to an |
337 | | | external network that was created by an admin user |
338 +---------------------------------------+---------------+-----------------------------------------------------------+
339 | test_create_router_port_shared | 2 | Ensures that a router can have a port created to an |
340 | | | shared network that was created by an admin user |
341 +---------------------------------------+---------------+-----------------------------------------------------------+
343 create_qos_tests.py - CreateQoSTests
344 ------------------------------------
346 +----------------------------------------+---------------+-----------------------------------------------------------+
347 | Test Name | Cinder API | Description |
348 +========================================+===============+===========================================================+
349 | test_create_qos | 2 & 3 | Tests the creation of a QoS Spec with the class |
351 +----------------------------------------+---------------+-----------------------------------------------------------+
352 | test_create_delete_qos | 2 & 3 | Tests the creation of a QoS Spec with the class |
353 | | | OpenStackQoS, its deletion with cinder_utils.py the |
354 | | | the attempts to use the clean() method to ensure an |
355 | | | exception is not called |
356 +----------------------------------------+---------------+-----------------------------------------------------------+
357 | test_create_same_qos | 2 & 3 | Tests the creation of a QoS Spec with the class |
358 | | | OpenStackQoS then instantiates another OpenStackQoS |
359 | | | object with the same configuration to ensure the second |
360 | | | instance returns the ID of the original |
361 +----------------------------------------+---------------+-----------------------------------------------------------+
363 create_volume_type_tests.py - CreateSimpleVolumeTypeSuccessTests
364 ----------------------------------------------------------------
366 +----------------------------------------+---------------+-----------------------------------------------------------+
367 | Test Name | Cinder API | Description |
368 +========================================+===============+===========================================================+
369 | test_create_volume_type | 2 & 3 | Tests the creation of a Volume Type with the class |
370 | | | OpenStackVolumeType |
371 +----------------------------------------+---------------+-----------------------------------------------------------+
372 | test_create_delete_volume_type | 2 & 3 | Tests the creation of a Volume Type with the class |
373 | | | OpenStackVolumeType, its deletion with cinder_utils.py, |
374 | | | then attempts to use the clean() method to ensure an |
375 | | | exception is not raised |
376 +----------------------------------------+---------------+-----------------------------------------------------------+
377 | test_create_same_volume_type | 2 & 3 | Tests the creation of a Volume Type with the class |
378 | | | OpenStackVolumeType then instantiates another |
379 | | | OpenStackVolumeType object with the same configuration to |
380 | | | ensure the second instance returns the ID of the original |
381 +----------------------------------------+---------------+-----------------------------------------------------------+
383 create_volume_type_tests.py - CreateSimpleVolumeTypeComplexTests
384 ----------------------------------------------------------------
386 +-----------------------------------------+---------------+-----------------------------------------------------------+
387 | Test Name | Cinder API | Description |
388 +=========================================+===============+===========================================================+
389 | test_volume_type_with_qos | 2 & 3 | Tests the creation of a Volume Type with the class |
390 | | | OpenStackVolumeType with a QoSSpec |
391 +-----------------------------------------+---------------+-----------------------------------------------------------+
392 | test_volume_type_with_encryption | 2 & 3 | Tests the creation of a Volume Type with the class |
393 | | | OpenStackVolumeType with encryption |
394 +-----------------------------------------+---------------+-----------------------------------------------------------+
395 | test_volume_type_with_qos_and_encryption| 2 & 3 | Tests the creation of a Volume Type with the class |
396 | | | OpenStackVolumeType with encryption and QoS Spec |
397 +-----------------------------------------+---------------+-----------------------------------------------------------+
399 create_volume_tests.py - CreateSimpleVolumeSuccessTests
400 -------------------------------------------------------
402 +----------------------------------------+---------------+-----------------------------------------------------------+
403 | Test Name | Cinder API | Description |
404 +========================================+===============+===========================================================+
405 | test_create_volume_simple | 2 & 3 | Tests the creation of a Volume Type with the class |
406 | | | OpenStackVolume |
407 +----------------------------------------+---------------+-----------------------------------------------------------+
408 | test_create_delete_volume | 2 & 3 | Tests the creation of a Volume with the class |
409 | | | OpenStackVolume, its deletion with cinder_utils.py, then |
410 | | | attempts to use the clean() method to ensure an |
411 | | | exception is not raised |
412 +----------------------------------------+---------------+-----------------------------------------------------------+
413 | test_create_same_volume | 2 & 3 | Tests the creation of a Volume with the class |
414 | | | OpenStackVolume then instantiates another |
415 | | | OpenStackVolume object with the same configuration to |
416 | | | ensure the second instance returns the ID of the original |
417 +----------------------------------------+---------------+-----------------------------------------------------------+
419 create_volume_tests.py - CreateSimpleVolumeFailureTests
420 -------------------------------------------------------
422 +----------------------------------------+---------------+-----------------------------------------------------------+
423 | Test Name | Cinder API | Description |
424 +========================================+===============+===========================================================+
425 | test_create_volume_bad_size | 2 & 3 | Tests to ensure that attempting to create a volume with a |
426 | | | size of -1 raises a BadRequest exception |
427 +----------------------------------------+---------------+-----------------------------------------------------------+
428 | test_create_volume_bad_type | 2 & 3 | Tests to ensure that attempting to create a volume with a |
429 | | | type that does not exist raises a NotFound exception |
430 +----------------------------------------+---------------+-----------------------------------------------------------+
431 | test_create_volume_bad_image | 2 & 3 | Tests to ensure that attempting to create a volume with an|
432 | | | image that does not exist raises a BadRequest exception |
433 +----------------------------------------+---------------+-----------------------------------------------------------+
435 create_volume_tests.py - CreateVolumeWithTypeTests
436 --------------------------------------------------
438 +----------------------------------------+---------------+-----------------------------------------------------------+
439 | Test Name | Cinder API | Description |
440 +========================================+===============+===========================================================+
441 | test_bad_volume_type | 2 & 3 | Tests to ensure the creation of a Volume with the |
442 | | | OpenStackVolume#create() method raises a NotFound |
443 | | | exception when attempting to apply a VolumeType that does |
445 +----------------------------------------+---------------+-----------------------------------------------------------+
446 | test_valid_volume_type | 2 & 3 | Tests to ensure the creation of a Volume with the |
447 | | | OpenStackVolume#create() method properly creates the |
448 | | | volume when associating with a valid VolumeType |
449 +----------------------------------------+---------------+-----------------------------------------------------------+
451 create_volume_tests.py - CreateVolumeWithImageTests
452 ---------------------------------------------------
454 +----------------------------------------+---------------+-----------------------------------------------------------+
455 | Test Name | Cinder API | Description |
456 +========================================+===============+===========================================================+
457 | test_bad_image_name | 2 & 3 | Tests to ensure the creation of a Volume with the |
458 | | | OpenStackVolume#create() method raises a BadRequest |
459 | | | exception when attempting to apply an image that does not |
461 +----------------------------------------+---------------+-----------------------------------------------------------+
462 | test_valid_volume_image | 2 & 3 | Tests to ensure the creation of a Volume with the |
463 | | | OpenStackVolume#create() method properly creates the |
464 | | | volume when associating with a valid image |
465 +----------------------------------------+---------------+-----------------------------------------------------------+
467 create_volume_tests.py - CreateVolMultipleCredsTests
468 ----------------------------------------------------
470 +----------------------------------------+---------------+-----------------------------------------------------------+
471 | Test Name | Cinder API | Description |
472 +========================================+===============+===========================================================+
473 | test_create_by_admin_to_other_proj | 2 & 3 | Tests to ensure the creation of a Volume as a user with |
474 | | | an 'admin' role can create a volume to another project |
475 | | | and a creator with the credentails to that project will |
476 | | | not create another with the same name |
477 | | | Currently inactive due to |
478 | | | https://bugs.launchpad.net/cinder/+bug/1641982 |
479 +----------------------------------------+---------------+-----------------------------------------------------------+
480 | test_create_two_vol_same_name_diff_proj| 2 & 3 | Tests to ensure the creation of a Volume with the same |
481 | | | name by two different creators with different credentials |
482 | | | will create two different volumes with the same name |
483 | | | that are applied to each project in question |
484 +----------------------------------------+---------------+-----------------------------------------------------------+
486 create_stack_tests.py - CreateStackSuccessTests
487 -----------------------------------------------
489 +---------------------------------------+---------------+-----------------------------------------------------------+
490 | Test Name | Heat API | Description |
491 +=======================================+===============+===========================================================+
492 | test_create_stack_template_file | 1-3 | Ensures that a Heat stack can be created with a file-based|
493 | | | Heat template file |
494 +---------------------------------------+---------------+-----------------------------------------------------------+
495 | test_create_stack_template_dict | 1-3 | Ensures that a Heat stack can be created with a dictionary|
496 | | | Heat template |
497 +---------------------------------------+---------------+-----------------------------------------------------------+
498 | test_create_delete_stack | 1-3 | Ensures that a Heat stack can be created and deleted |
499 | | | while having clean() called 2x without an exception |
500 +---------------------------------------+---------------+-----------------------------------------------------------+
501 | test_create_same_stack | 1-3 | Ensures that a Heat stack with the same name cannot be |
503 +---------------------------------------+---------------+-----------------------------------------------------------+
504 | test_retrieve_network_creators | 1-3 | Ensures that an OpenStackHeatStack instance can return an |
505 | | | OpenStackNetwork instance configured as deployed |
506 +---------------------------------------+---------------+-----------------------------------------------------------+
507 | test_retrieve_vm_inst_creators | 1-3 | Ensures that an OpenStackHeatStack instance can return an |
508 | | | OpenStackVmInstance instance configured as deployed |
509 +---------------------------------------+---------------+-----------------------------------------------------------+
511 create_stack_tests.py - CreateStackVolumeTests
512 ----------------------------------------------
514 +---------------------------------------+---------------+-----------------------------------------------------------+
515 | Test Name | Heat API | Description |
516 +=======================================+===============+===========================================================+
517 | test_retrieve_volume_creator | 1-3 | Ensures that an OpenStackHeatStack instance can return a |
518 | | | OpenStackVolume instance that it was responsible for |
520 +---------------------------------------+---------------+-----------------------------------------------------------+
521 | test_retrieve_volume_type_creator | 1-3 | Ensures that an OpenStackHeatStack instance can return a |
522 | | | OpenStackVolumeType instance that it was responsible for |
524 +---------------------------------------+---------------+-----------------------------------------------------------+
526 create_stack_tests.py - CreateStackFloatingIpTests
527 --------------------------------------------------
529 +---------------------------------------+---------------+-----------------------------------------------------------+
530 | Test Name | Heat API | Description |
531 +=======================================+===============+===========================================================+
532 | test_connect_via_ssh_heat_vm | 1 | Ensures that an OpenStackHeatStack instance can create a |
533 | | | VM with a floating IP that can be accessed via |
534 | | | OpenStackVmInstance |
535 +---------------------------------------+---------------+-----------------------------------------------------------+
536 | test_connect_via_ssh_heat_vm_derived | 1 | Ensures that an OpenStackHeatStack instance can create a |
537 | | | VM with a floating IP where a generated initialized |
538 | | | OpenStackHeatStack can return an initialized |
539 | | | OpenStackVmInstance object that will be used to access the|
541 +---------------------------------------+---------------+-----------------------------------------------------------+
543 create_stack_tests.py - CreateStackNestedResourceTests
544 ------------------------------------------------------
546 +---------------------------------------+---------------+-----------------------------------------------------------+
547 | Test Name | Heat API | Description |
548 +=======================================+===============+===========================================================+
549 | test_nested | 1 | Ensures that an OpenStackHeatStack with an external |
550 | | | resource file with VMs with floating IPs can be accessed |
551 | | | in the class OpenStackVmInstance and return the associated|
552 | | | initialized OpenStackVmInstance objects |
553 +---------------------------------------+---------------+-----------------------------------------------------------+
555 create_stack_tests.py - CreateStackUpdateTests
556 ----------------------------------------------
558 +---------------------------------------+---------------+-----------------------------------------------------------+
559 | Test Name | Heat API | Description |
560 +=======================================+===============+===========================================================+
561 | test_update | 1 | Ensures that an OpenStackHeatStack can have the number of |
562 | | | VMs updated and they are spawned and access can be |
563 | | | obtained with SSH over floating IPs |
564 +---------------------------------------+---------------+-----------------------------------------------------------+
566 create_stack_tests.py - CreateStackRouterTests
567 ----------------------------------------------
569 +---------------------------------------+---------------+-----------------------------------------------------------+
570 | Test Name | Heat API | Description |
571 +=======================================+===============+===========================================================+
572 | test_retrieve_router_creator | 1 | Ensures that an OpenStackHeatStack instance can return a |
573 | | | OpenStackRouter instance that it was responsible for |
575 +---------------------------------------+---------------+-----------------------------------------------------------+
577 create_stack_tests.py - CreateStackFlavorTests
578 ----------------------------------------------
580 +---------------------------------------+---------------+-----------------------------------------------------------+
581 | Test Name | Heat API | Description |
582 +=======================================+===============+===========================================================+
583 | test_retrieve_flavor_creator | 1-3 | Ensures that an OpenStackHeatStack instance can return a |
584 | | | OpenStackFlavor instance that it was responsible for |
586 +---------------------------------------+---------------+-----------------------------------------------------------+
588 create_stack_tests.py - CreateStackKeypairTests
589 -----------------------------------------------
591 +---------------------------------------+---------------+-----------------------------------------------------------+
592 | Test Name | Heat API | Description |
593 +=======================================+===============+===========================================================+
594 | test_retrieve_keypair_creator | 1-3 | Ensures that an OpenStackHeatStack instance can return a |
595 | | | OpenStackKeypair instance that it was responsible for |
597 +---------------------------------------+---------------+-----------------------------------------------------------+
599 create_stack_tests.py - CreateStackSecurityGroupTests
600 -----------------------------------------------------
602 +---------------------------------------+---------------+-----------------------------------------------------------+
603 | Test Name | Heat API | Description |
604 +=======================================+===============+===========================================================+
605 | test_retrieve_security_group_creator | 1-3 | Ensures that an OpenStackHeatStack instance can return a |
606 | | | OpenStackSecurityGroup instance that it was responsible |
607 | | | for deploying |
608 +---------------------------------------+---------------+-----------------------------------------------------------+
610 create_stack_tests.py - CreateComplexStackTests
611 -----------------------------------------------
613 +---------------------------------------+---------------+-----------------------------------------------------------+
614 | Test Name | Heat API | Description |
615 +=======================================+===============+===========================================================+
616 | test_connect_via_ssh_heat_vm | 1-3 | Ensures that two OpenStackHeatStack instances can return |
617 | | | OpenStackVmInstance instances one configured with a |
618 | | | floating IP and keypair and can be access via SSH |
619 +---------------------------------------+---------------+-----------------------------------------------------------+
621 create_stack_tests.py - CreateStackNegativeTests
622 ------------------------------------------------
624 +----------------------------------------+---------------+-----------------------------------------------------------+
625 | Test Name | Heat API | Description |
626 +========================================+===============+===========================================================+
627 | test_missing_dependencies | 1-3 | Ensures that a Heat template fails to deploy when expected|
628 | | | dependencies are missing |
629 +----------------------------------------+---------------+-----------------------------------------------------------+
630 | test_bad_stack_file | 1-3 | Ensures that a Heat template fails to deploy when the Heat|
631 | | | template file does not exist |
632 +----------------------------------------+---------------+-----------------------------------------------------------+
634 create_stack_tests.py - CreateStackFailureTests
635 -----------------------------------------------
637 +----------------------------------------+---------------+-----------------------------------------------------------+
638 | Test Name | Heat API | Description |
639 +========================================+===============+===========================================================+
640 | test_stack_failure | 1-3 | Ensures that a Heat template fails to deploy when expected|
641 | | | dependencies are missing |
642 +----------------------------------------+---------------+-----------------------------------------------------------+
644 create_instance_tests.py - CreateInstanceSimpleTests
645 ----------------------------------------------------
647 +---------------------------------------+---------------+-----------------------------------------------------------+
648 | Test Name | API Versions | Description |
649 +=======================================+===============+===========================================================+
650 | test_create_delete_instance | Nova 2 | Ensures that the OpenStackVmInstance.clean() method |
651 | | Neutron 2 | deletes the instance as well as ensuring the VmInst |
652 | | | availability_zone is populated and compute_host is None |
653 +---------------------------------------+---------------+-----------------------------------------------------------+
654 | test_create_admin_instance | Nova 2 | Ensures that the VmInst object members availability_zone |
655 | | Neutron 2 | and compute_host return a value |
656 +---------------------------------------+---------------+-----------------------------------------------------------+
658 create_instance_tests.py - CreateInstanceExternalNetTests
659 ---------------------------------------------------------
661 +---------------------------------------+---------------+-----------------------------------------------------------+
662 | Test Name | API Versions | Description |
663 +=======================================+===============+===========================================================+
664 | test_create_instance_public_net | Nova 2 | Ensures that an OpenStackVmInstance initialized as a user |
665 | | Neutron 2 | of type 'admin' can create a VM against an external net |
666 +---------------------------------------+---------------+-----------------------------------------------------------+
668 create_instance_tests.py - SimpleHealthCheck
669 --------------------------------------------
671 +---------------------------------------+---------------+-----------------------------------------------------------+
672 | Test Name | API Versions | Description |
673 +=======================================+===============+===========================================================+
674 | test_check_vm_ip_dhcp | Nova 2 | Tests the creation of an OpenStack instance with a single |
675 | | Neutron 2 | port and it's assigned IP address |
676 +---------------------------------------+---------------+-----------------------------------------------------------+
678 create_instance_tests.py - CreateInstanceTwoNetTests
679 ----------------------------------------------------
681 +---------------------------------------+---------------+-----------------------------------------------------------+
682 | Test Name | API Versions | Description |
683 +=======================================+===============+===========================================================+
684 | test_ping_via_router | Nova 2 | Tests the ability of two VMs on different private overlay |
685 | | Neutron 2 | networks tied together with a router to ping each other |
686 +---------------------------------------+---------------+-----------------------------------------------------------+
688 create_instance_tests.py - CreateInstanceSingleNetworkTests
689 -----------------------------------------------------------
691 +---------------------------------------+---------------+-----------------------------------------------------------+
692 | Test Name | API Versions | Description |
693 +=======================================+===============+===========================================================+
694 | test_single_port_static | Nova 2 | Ensures that an instance with a single port/NIC with a |
695 | | Neutron 2 | static IP can be created |
696 +---------------------------------------+---------------+-----------------------------------------------------------+
697 | test_ssh_client_fip_before_active | Nova 2 | Ensures that an instance can be reached over SSH when the |
698 | | Neutron 2 | floating IP is assigned prior to the VM becoming ACTIVE |
699 +---------------------------------------+---------------+-----------------------------------------------------------+
700 | test_ssh_client_fip_after_active | Nova 2 | Ensures that an instance can be reached over SSH when the |
701 | | Neutron 2 | floating IP is assigned after to the VM becoming ACTIVE |
702 +---------------------------------------+---------------+-----------------------------------------------------------+
703 | test_ssh_client_fip_after_init | Nova 2 | Ensures that an instance can have a floating IP assigned |
704 | | Neutron 2 | added after initialization |
705 +---------------------------------------+---------------+-----------------------------------------------------------+
706 | test_ssh_client_fip_reverse_engineer | Nova 2 | Ensures that an instance can be reverse engineered and |
707 | | Neutron 2 | allows for a floating IP to be added after initialization |
708 +---------------------------------------+---------------+-----------------------------------------------------------+
709 | test_ssh_client_fip_after_reboot | Nova 2 | Ensures that an instance can be reached over SSH after |
710 | | Neutron 2 | a reboot call has been issued |
711 +---------------------------------------+---------------+-----------------------------------------------------------+
712 | test_ssh_client_fip_second_creator | Nova 2 | Ensures that an instance can be reached over SSH via a |
713 | | Neutron 2 | second identical creator object |
714 +---------------------------------------+---------------+-----------------------------------------------------------+
716 create_instance_tests.py - CreateInstancePortManipulationTests
717 --------------------------------------------------------------
719 +---------------------------------------+---------------+-----------------------------------------------------------+
720 | Test Name | API Versions | Description |
721 +=======================================+===============+===========================================================+
722 | test_set_custom_valid_ip_one_subnet | Nova 2 | Ensures that an instance's can have a valid static IP is |
723 | | Neutron 2 | properly assigned |
724 +---------------------------------------+---------------+-----------------------------------------------------------+
725 | test_set_one_port_two_ip_one_subnet | Nova 2 | Ensures that an instance can have two static IPs on a |
726 | | Neutron 2 | single port from a single subnet |
727 +---------------------------------------+---------------+-----------------------------------------------------------+
728 | test_set_one_port_two_ip_two_subnets | Nova 2 | Ensures that an instance can have two static IPs on a |
729 | | Neutron 2 | single port from different subnets on a network |
730 +---------------------------------------+---------------+-----------------------------------------------------------+
731 | test_set_custom_invalid_ip_one_subnet | Nova 2 | Ensures that an instance's port with an invalid static IP |
732 | | Neutron 2 | raises an exception |
733 +---------------------------------------+---------------+-----------------------------------------------------------+
734 | test_set_custom_valid_mac | Nova 2 | Ensures that an instance's port can have a valid MAC |
735 | | Neutron 2 | address properly assigned |
736 +---------------------------------------+---------------+-----------------------------------------------------------+
737 | test_set_custom_invalid_mac | Nova 2 | Ensures that an instance's port with an invalid MAC |
738 | | Neutron 2 | address raises and exception |
739 +---------------------------------------+---------------+-----------------------------------------------------------+
740 | test_set_custom_mac_and_ip | Nova 2 | Ensures that an instance's port with a valid static IP and|
741 | | Neutron 2 | MAC are properly assigned |
742 +---------------------------------------+---------------+-----------------------------------------------------------+
743 | test_set_allowed_address_pairs | Nova 2 | Ensures the configured allowed_address_pairs is properly |
744 | | Neutron 2 | set on a VMs port |
745 +---------------------------------------+---------------+-----------------------------------------------------------+
746 | test_set_allowed_address_pairs_bad_mac| Nova 2 | Ensures the port cannot be created when a bad MAC address |
747 | | Neutron 2 | format is used in the allowed_address_pairs port attribute|
748 +---------------------------------------+---------------+-----------------------------------------------------------+
749 | test_set_allowed_address_pairs_bad_ip | Nova 2 | Ensures the port cannot be created when a bad IP address |
750 | | Neutron 2 | format is used in the allowed_address_pairs port attribute|
751 +---------------------------------------+---------------+-----------------------------------------------------------+
753 create_instance_tests.py - CreateInstanceOnComputeHost
754 ------------------------------------------------------
756 +---------------------------------------+---------------+-----------------------------------------------------------+
757 | Test Name | API Versions | Description |
758 +=======================================+===============+===========================================================+
759 | test_deploy_vm_to_each_compute_node | Nova 2 | Tests to ensure that one can fire up an instance on each |
760 | | Neutron 2 | active compute node |
761 +---------------------------------------+---------------+-----------------------------------------------------------+
763 create_instance_tests.py - CreateInstanceFromThreePartImage
764 -----------------------------------------------------------
766 +-----------------------------------------------------+---------------+-----------------------------------------------------------+
767 | Test Name | API Versions | Description |
768 +=====================================================+===============+===========================================================+
769 | test_create_delete_instance_from_three_part_image | Nova 2 | Tests to ensure that one can fire up an instance then |
770 | | Neutron 2 | delete it when using a 3-part image |
771 +-----------------------------------------------------+---------------+-----------------------------------------------------------+
773 create_instance_tests.py - CreateInstanceIPv6NetworkTests (Staging)
774 -------------------------------------------------------------------
776 +---------------------------------------+---------------+-----------------------------------------------------------+
777 | Test Name | API Versions | Description |
778 +=======================================+===============+===========================================================+
779 | test_v4fip_v6overlay | Nova 2 | Expects a BadRequest exception to be raised when |
780 | | Neutron 2 | attempting to add an IPv4 floating IP to a VM with an IPv6|
782 +---------------------------------------+---------------+-----------------------------------------------------------+
783 | test_fip_v4and6_overlay | Nova 2 | Connects to a VM via a floating IP joined to a port that |
784 | | Neutron 2 | has been confiured with both IPv4 and IPv6 addresses |
785 +---------------------------------------+---------------+-----------------------------------------------------------+
787 create_instance_tests.py - InstanceSecurityGroupTests
788 -----------------------------------------------------
790 +---------------------------------------+---------------+-----------------------------------------------------------+
791 | Test Name | API Versions | Description |
792 +=======================================+===============+===========================================================+
793 | test_add_security_group | Nova 2 | Ensures that a VM instance can have security group added |
794 | | Neutron 2 | to it while its running |
795 +---------------------------------------+---------------+-----------------------------------------------------------+
796 | test_add_invalid_security_group | Nova 2 | Ensures that a VM instance does not accept the addition of|
797 | | Neutron 2 | a security group that no longer exists |
798 +---------------------------------------+---------------+-----------------------------------------------------------+
799 | test_remove_security_group | Nova 2 | Ensures that a VM instance accepts the removal of a |
800 | | Neutron 2 | security group |
801 +---------------------------------------+---------------+-----------------------------------------------------------+
802 | test_remove_security_group_never_added| Nova 2 | Ensures that a VM instance does not accept the removal of |
803 | | Neutron 2 | a security group that was never added in the first place |
804 +---------------------------------------+---------------+-----------------------------------------------------------+
805 | test_add_same_security_group | Nova 2 | Ensures that a VM instance does not add a security group |
806 | | Neutron 2 | that has already been added to the instance |
807 +---------------------------------------+---------------+-----------------------------------------------------------+
809 create_instance_tests.py - CreateInstanceVolumeTests
810 ----------------------------------------------------
812 +---------------------------------------+---------------+-----------------------------------------------------------+
813 | Test Name | API Versions | Description |
814 +=======================================+===============+===========================================================+
815 | test_create_instance_with_one_volume | Nova 2 | Ensures that a VM instance can have one volume attached |
816 | | Cinder 2 & 3 | to it |
817 +---------------------------------------+---------------+-----------------------------------------------------------+
818 | test_create_instance_with_two_volumes | Nova 2 | Ensures that a VM instance can have two volumes attached |
819 | | Cinder 2 & 3 | to it |
820 +---------------------------------------+---------------+-----------------------------------------------------------+
822 ansible_utils_tests.py - AnsibleProvisioningTests
823 -------------------------------------------------
825 +---------------------------------------+---------------+-----------------------------------------------------------+
826 | Test Name | API Versions | Description |
827 +=======================================+===============+===========================================================+
828 | test_apply_simple_playbook | Nova 2 | Ensures that an instance assigned with a floating IP will |
829 | | Neutron 2 | apply a simple Ansible playbook |
830 +---------------------------------------+---------------+-----------------------------------------------------------+
831 | test_apply_template_playbook | Nova 2 | Ensures that an instance assigned with a floating IP will |
832 | | Neutron 2 | apply a Ansible playbook containing Jinga2 substitution |
834 +---------------------------------------+---------------+-----------------------------------------------------------+
836 cluster_template_tests.py - CreateClusterTemplateTests
837 ------------------------------------------------------
839 +----------------------------------------+---------------+-----------------------------------------------------------+
840 | Test Name | Magnum API | Description |
841 +========================================+===============+===========================================================+
842 | test_create_cluster_template | 1 | Tests the creation of a Cluster template with the class |
843 | | | OpenStackClusterTemplate |
844 +----------------------------------------+---------------+-----------------------------------------------------------+
845 | test_create_delete_cluster_template | 1 | Tests the creation and deletiong of a Cluster template |
846 | | | with the class OpenStackClusterTemplate |
847 +----------------------------------------+---------------+-----------------------------------------------------------+
848 | test_create_same_cluster_template | 1 | Tests the creation of a Cluster template 2x using the same|
849 | | | config object to ensure it was only created once |
850 +----------------------------------------+---------------+-----------------------------------------------------------+
851 | test_create_cluster_template_bad_flavor| 1 | Tests to ensure OpenStackClusterTemplate#create() will |
852 | | | raise an exception when the flavor is invalid |
853 +----------------------------------------+---------------+-----------------------------------------------------------+
854 | test_create_cluster_template_bad_master| 1 | Tests to ensure OpenStackClusterTemplate#create() will |
855 | _flavor | | raise an exception when the master flavor is invalid |
856 +----------------------------------------+---------------+-----------------------------------------------------------+
857 | test_create_cluster_template_bad_image | 1 | Tests to ensure OpenStackClusterTemplate#create() will |
858 | | | raise an exception when the image is invalid |
859 +----------------------------------------+---------------+-----------------------------------------------------------+
860 | test_create_cluster_template_bad | 1 | Tests to ensure OpenStackClusterTemplate#create() will |
861 | _network_driver | | raise an exception when the network driver is invalid |
862 +----------------------------------------+---------------+-----------------------------------------------------------+
863 | test_create_cluster_template_bad | 1 | Tests to ensure OpenStackClusterTemplate#create() will |
864 | _volume_driver | | raise an exception when the volume driver is invalid |
865 +----------------------------------------+---------------+-----------------------------------------------------------+