Fixed vm instance instantiation from Heat when using nested resources
[snaps.git] / docs / how-to-use / IntegrationTests.rst
index 983c165..eb627ad 100644 (file)
@@ -16,12 +16,21 @@ create_security_group_tests.py - CreateSecurityGroupTests
 | test_create_group_without_rules       | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can create a     |
 |                                       | Neutron 2     | security group without any rules                          |
 +---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_group_admin_user_to_new   | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can be created   |
+| _project                              | Neutron 2     | by the admin user and associated with a new project       |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_group_new_user_to_admin   | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can be created   |
+| _project                              | Neutron 2     | by the new user and associated with the admin project     |
++---------------------------------------+---------------+-----------------------------------------------------------+
 | test_create_delete_group              | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class clean() method   |
 |                                       | Neutron 2     | will not raise an exception should the group be deleted by|
 |                                       |               | some other process                                        |
 +---------------------------------------+---------------+-----------------------------------------------------------+
 | test_create_group_with_one_simple_rule| Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can create a     |
-|                                       | Neutron 2     | security group with a single rule                         |
+|                                       | Neutron 2     | security group with a single simple rule                  |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_group_with_one_complex    | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can create a     |
+| _rule                                 | Neutron 2     | security group with a single complex rule                 |
 +---------------------------------------+---------------+-----------------------------------------------------------+
 | test_create_group_with_several_rules  | Keysone 2 & 3 | Ensures the OpenStackSecurityGroup class can create a     |
 |                                       | Neutron 2     | security group with several rules                         |
@@ -43,19 +52,26 @@ create_image_tests.py - CreateImageSuccessTests
 +---------------------------------------+---------------+-----------------------------------------------------------+
 | Test Name                             | Glance API    | Description                                               |
 +=======================================+===============+===========================================================+
-| test_create_image_clean_url           | 1             | Ensures the OpenStackImage class can create an image from |
+| test_create_image_clean_url           | 1 & 2         | Ensures the OpenStackImage class can create an image from |
 |                                       |               | a download URL location                                   |
 +---------------------------------------+---------------+-----------------------------------------------------------+
-| test_create_image_clean_file          | 1             | Ensures the OpenStackImage class can create an image from |
+| test_create_image_clean_url_properties| 1 & 2         | Ensures the OpenStackImage class can create an image from |
+|                                       |               | a download URL location with custom properties            |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_image_clean_file          | 1 & 2         | Ensures the OpenStackImage class can create an image from |
 |                                       |               | a locally sourced image file                              |
 +---------------------------------------+---------------+-----------------------------------------------------------+
-| test_create_delete_image              | 1             | Ensures the OpenStackImage.clean() method deletes an image|
+| test_create_delete_image              | 1 & 2         | Ensures the OpenStackImage.clean() method deletes an image|
 |                                       |               | and does not raise an exception on subsequent calls to the|
 |                                       |               | clean() method                                            |
 +---------------------------------------+---------------+-----------------------------------------------------------+
-| test_create_same_image                | 1             | Ensures the OpenStackImage.create() method does not create|
+| test_create_same_image                | 1 & 2         | Ensures the OpenStackImage.create() method does not create|
 |                                       |               | another image when one already exists with the same name  |
 +---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_same_image_new_settings   | 1 & 2         | Tests the creation of an OpenStack image when the image   |
+|                                       |               | already exists and the configuration only contains the    |
+|                                       |               | the name.                                                 |
++---------------------------------------+---------------+-----------------------------------------------------------+
 
 create_image_tests.py - CreateImageNegativeTests
 ------------------------------------------------
@@ -63,29 +79,36 @@ create_image_tests.py - CreateImageNegativeTests
 +---------------------------------------+---------------+-----------------------------------------------------------+
 | Test Name                             | Glance API    | Description                                               |
 +=======================================+===============+===========================================================+
-| test_none_image_name                  | 1             | Ensures OpenStackImage.create() results in an Exception   |
-|                                       |               | being raised when the ImageSettings.name attribute has    |
+| test_bad_image_name                   | 1 & 2         | Ensures OpenStackImage.create() results in an Exception   |
+|                                       |               | being raised when the ImageConfig.name attribute has    |
 |                                       |               | not been set                                              |
 +---------------------------------------+---------------+-----------------------------------------------------------+
-| test_bad_image_url                    | 1             | Ensures OpenStackImage.create() results in an Exception   |
+| test_bad_image_url                    | 1 & 2         | Ensures OpenStackImage.create() results in an Exception   |
 |                                       |               | being raised when the download URL is invalid             |
 +---------------------------------------+---------------+-----------------------------------------------------------+
-| test_bad_image_file                   | 1             | Ensures OpenStackImage.create() results in an Exception   |
-|                                       |               | being raised when the image file does not exist           |
-+---------------------------------------+---------------+-----------------------------------------------------------+
-| test_none_proj_name                   | 1             | Ensures OpenStackImage.create() results in an Exception   |
-|                                       |               | being raised when the credentials project name is None    |
+| test_bad_image_type                   | 1 & 2         | Ensures OpenStackImage.create() results in an Exception   |
+|                                       |               | being raised when the image format is 'foo'               |
 +---------------------------------------+---------------+-----------------------------------------------------------+
-| test_none_auth_url                    | 1             | Ensures OpenStackImage.create() results in an Exception   |
-|                                       |               | being raised when the credentials URL is None             |
-+---------------------------------------+---------------+-----------------------------------------------------------+
-| test_none_password                    | 1             | Ensures OpenStackImage.create() results in an Exception   |
-|                                       |               | being raised when the credentials password is None        |
-+---------------------------------------+---------------+-----------------------------------------------------------+
-| test_none_user                        | 1             | Ensures OpenStackImage.create() results in an Exception   |
-|                                       |               | being raised when the credentials user is None            |
+| test_bad_image_file                   | 1 & 2         | Ensures OpenStackImage.create() results in an Exception   |
+|                                       |               | being raised when the image file does not exist           |
 +---------------------------------------+---------------+-----------------------------------------------------------+
 
+create_image_tests.py - CreateMultiPartImageTests
+-------------------------------------------------
+
++----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                              | Glance API    | Description                                               |
++========================================+===============+===========================================================+
+| test_create_three_part_image_from_url  | 1 & 2         | Ensures that a 3-part image can be created when each part |
+|                                        |               | is being sourced from URLs                                |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_three_part_image_from_file | 1 & 2         | Ensures that a 3-part image can be created when each part |
+| _3_creators                            |               | is being sourced from local files and 3 creators are used |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_three_part_image_from_url  | 1 & 2         | Ensures that a 3-part image can be created when each part |
+| _3_creators                            |               | is being sourced from a URL and 3 creators are used       |
++----------------------------------------+---------------+-----------------------------------------------------------+
+
 create_keypairs_tests.py - CreateKeypairsTests
 ----------------------------------------------
 
@@ -95,6 +118,9 @@ create_keypairs_tests.py - CreateKeypairsTests
 | test_create_keypair_only              | 2             | Ensures that a keypair object can be created simply by    |
 |                                       |               | only configuring a name                                   |
 +---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_keypair_large_key         | 2             | Ensures that a keypair object can be created with a large |
+|                                       |               | key of 10000 bytes                                        |
++---------------------------------------+---------------+-----------------------------------------------------------+
 | test_create_delete_keypair            | 2             | Ensures that a keypair object is deleted via              |
 |                                       |               | OpenStackKeypair.clean() and subsequent calls do not      |
 |                                       |               | result in exceptions                                      |
@@ -109,6 +135,29 @@ create_keypairs_tests.py - CreateKeypairsTests
 |                                       |               | existing public key file                                  |
 +---------------------------------------+---------------+-----------------------------------------------------------+
 
+create_keypairs_tests.py - CreateKeypairsCleanupTests
+-----------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | Nova API      | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_keypair_gen_files_delete_1| 2             | Ensures that new keypair files are deleted by default     |
+|                                       |               | by OpenStackKeypair#clean()                               |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_keypair_gen_files_delete_2| 2             | Ensures that new keypair files are deleted by         |
+|                                       |               | OpenStackKeypair#clean() when the settings delete_on_clean|
+|                                       |               | attribute is set to True                                  |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_keypair_gen_files_keep    | 2             | Ensures that new keypair files are not deleted by         |
+|                                       |               | OpenStackKeypair#clean()                                  |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_keypair_exist_files_keep  | 2             | Ensures that existing keypair files are not deleted by    |
+|                                       |               | OpenStackKeypair#clean()                                  |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_keypair_exist_files_delete| 2             | Ensures that existing keypair files are deleted by        |
+|                                       |               | OpenStackKeypair#clean()                                  |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
 create_network_tests.py - CreateNetworkSuccessTests
 ---------------------------------------------------
 
@@ -127,6 +176,26 @@ create_network_tests.py - CreateNetworkSuccessTests
 | test_create_networks_same_name        | 2             | Ensures that the OpenStackNetwork.create() method will not|
 |                                       |               | create a network with the same name                       |
 +---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_networks_router_admin_user| 2             | Ensures that the networks, subnets, and routers can be    |
+| _to_new_project                       |               | create created by an admin user and assigned to a new     |
+|                                       |               | project ID                                                |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_networks_router_new_user  | 2             | Ensures that the networks, subnets, and routers can be    |
+| _to_admin_project                     |               | create created by a new admin user and assigned to the    |
+|                                       |               | 'admin' project ID                                        |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+create_network_tests.py - CreateNetworkIPv6Tests
+------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | Neutron API   | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_network_one_ipv6_subnet   | 2             | Ensures that a network can be created with an IPv6 subnet |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_network_ipv4_ipv6_subnet  | 2             | Ensures that a network can be created with an IPv4 and    |
+|                                       |               | IPv6 subnet                                               |
++---------------------------------------+---------------+-----------------------------------------------------------+
 
 create_router_tests.py - CreateRouterSuccessTests
 -------------------------------------------------
@@ -137,6 +206,12 @@ create_router_tests.py - CreateRouterSuccessTests
 | test_create_router_vanilla            | 2             | Ensures that a router can be created via the              |
 |                                       |               | OpenStackRouter class with minimal settings               |
 +---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_router_admin_user_to_new  | 2             | Ensures that a router can be created by an admin user and |
+| _project                              |               | assigned to a new project                                 |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_router_new_user_to_admin  | 2             | Ensures that a router can be created by a new user and    |
+| _project                              |               | assigned to the admin project                             |
++---------------------------------------+---------------+-----------------------------------------------------------+
 | test_create_delete_router             | 2             | Ensures that a router can be deleted via the              |
 |                                       |               | OpenStackRouter.clean() method                            |
 +---------------------------------------+---------------+-----------------------------------------------------------+
@@ -166,6 +241,274 @@ create_router_tests.py - CreateRouterNegativeTests
 |                                        |               | create a router to an external network that does not exist|
 +----------------------------------------+---------------+-----------------------------------------------------------+
 
+create_qos_tests.py - CreateQoSTests
+------------------------------------
+
++----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                              |  Cinder API   | Description                                               |
++========================================+===============+===========================================================+
+| test_create_qos                        | 2 & 3         | Tests the creation of a QoS Spec with the class           |
+|                                        |               | OpenStackQoS                                              |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_qos                 | 2 & 3         | Tests the creation of a QoS Spec with the class           |
+|                                        |               | OpenStackQoS, its deletion with cinder_utils.py the       |
+|                                        |               | the attempts to use the clean() method to ensure an       |
+|                                        |               | exception is not called                                   |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_same_qos                   | 2 & 3         | Tests the creation of a QoS Spec with the class           |
+|                                        |               | OpenStackQoS then instantiates another OpenStackQoS       |
+|                                        |               | object with the same configuration to ensure the second   |
+|                                        |               | instance returns the ID of the original                   |
++----------------------------------------+---------------+-----------------------------------------------------------+
+
+create_volume_type_tests.py - CreateSimpleVolumeTypeSuccessTests
+----------------------------------------------------------------
+
++----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                              |  Cinder API   | Description                                               |
++========================================+===============+===========================================================+
+| test_create_volume_type                | 2 & 3         | Tests the creation of a Volume Type with the class        |
+|                                        |               | OpenStackVolumeType                                       |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_volume_type         | 2 & 3         | Tests the creation of a Volume Type with the class        |
+|                                        |               | OpenStackVolumeType, its deletion with cinder_utils.py,   |
+|                                        |               | then attempts to use the clean() method to ensure an      |
+|                                        |               | exception is not raised                                   |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_same_volume_type           | 2 & 3         | Tests the creation of a Volume Type with the class        |
+|                                        |               | OpenStackVolumeType then instantiates another             |
+|                                        |               | OpenStackVolumeType object with the same configuration to |
+|                                        |               | ensure the second instance returns the ID of the original |
++----------------------------------------+---------------+-----------------------------------------------------------+
+
+create_volume_type_tests.py - CreateSimpleVolumeTypeComplexTests
+----------------------------------------------------------------
+
++-----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                               |  Cinder API   | Description                                               |
++=========================================+===============+===========================================================+
+| test_volume_type_with_qos               | 2 & 3         | Tests the creation of a Volume Type with the class        |
+|                                         |               | OpenStackVolumeType with a QoSSpec                        |
++-----------------------------------------+---------------+-----------------------------------------------------------+
+| test_volume_type_with_encryption        | 2 & 3         | Tests the creation of a Volume Type with the class        |
+|                                         |               | OpenStackVolumeType with encryption                       |
++-----------------------------------------+---------------+-----------------------------------------------------------+
+| test_volume_type_with_qos_and_encryption| 2 & 3         | Tests the creation of a Volume Type with the class        |
+|                                         |               | OpenStackVolumeType with encryption and QoS Spec          |
++-----------------------------------------+---------------+-----------------------------------------------------------+
+
+create_volume_tests.py - CreateSimpleVolumeSuccessTests
+-------------------------------------------------------
+
++----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                              |  Cinder API   | Description                                               |
++========================================+===============+===========================================================+
+| test_create_volume_simple              | 2 & 3         | Tests the creation of a Volume Type with the class        |
+|                                        |               | OpenStackVolume                                           |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_volume              | 2 & 3         | Tests the creation of a Volume with the class             |
+|                                        |               | OpenStackVolume, its deletion with cinder_utils.py, then  |
+|                                        |               | attempts to use the clean() method to ensure an           |
+|                                        |               | exception is not raised                                   |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_same_volume                | 2 & 3         | Tests the creation of a Volume with the class             |
+|                                        |               | OpenStackVolume then instantiates another                 |
+|                                        |               | OpenStackVolume object with the same configuration to     |
+|                                        |               | ensure the second instance returns the ID of the original |
++----------------------------------------+---------------+-----------------------------------------------------------+
+
+create_volume_tests.py - CreateSimpleVolumeFailureTests
+-------------------------------------------------------
+
++----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                              |  Cinder API   | Description                                               |
++========================================+===============+===========================================================+
+| test_create_volume_bad_size            | 2 & 3         | Tests to ensure that attempting to create a volume with a |
+|                                        |               | size of -1 raises a BadRequest exception                  |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_volume_bad_type            | 2 & 3         | Tests to ensure that attempting to create a volume with a |
+|                                        |               | type that does not exist raises a NotFound exception      |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_volume_bad_image           | 2 & 3         | Tests to ensure that attempting to create a volume with an|
+|                                        |               | image that does not exist raises a BadRequest exception   |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_volume_bad_zone            | 2 & 3         | Tests to ensure that attempting to create a volume with an|
+|                                        |               | invalid availability zone raises a BadRequest exception   |
++----------------------------------------+---------------+-----------------------------------------------------------+
+
+create_volume_tests.py - CreateVolumeWithTypeTests
+--------------------------------------------------
+
++----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                              |  Cinder API   | Description                                               |
++========================================+===============+===========================================================+
+| test_bad_volume_type                   | 2 & 3         | Tests to ensure the creation of a Volume with the         |
+|                                        |               | OpenStackVolume#create() method raises a NotFound         |
+|                                        |               | exception when attempting to apply a VolumeType that does |
+|                                        |               | not exist                                                 |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_valid_volume_type                 | 2 & 3         | Tests to ensure the creation of a Volume with the         |
+|                                        |               | OpenStackVolume#create() method properly creates the      |
+|                                        |               | volume when associating with a valid VolumeType           |
++----------------------------------------+---------------+-----------------------------------------------------------+
+
+create_volume_tests.py - CreateVolumeWithImageTests
+---------------------------------------------------
+
++----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                              |  Cinder API   | Description                                               |
++========================================+===============+===========================================================+
+| test_bad_image_name                    | 2 & 3         | Tests to ensure the creation of a Volume with the         |
+|                                        |               | OpenStackVolume#create() method raises a BadRequest       |
+|                                        |               | exception when attempting to apply an image that does not |
+|                                        |               | exist                                                     |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_valid_volume_image                | 2 & 3         | Tests to ensure the creation of a Volume with the         |
+|                                        |               | OpenStackVolume#create() method properly creates the      |
+|                                        |               | volume when associating with a valid image                |
++----------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateStackSuccessTests
+-----------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |   Heat API    | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_stack_template_file       | 1-3           | Ensures that a Heat stack can be created with a file-based|
+|                                       |               | Heat template file                                        |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_stack_template_dict       | 1-3           | Ensures that a Heat stack can be created with a dictionary|
+|                                       |               | Heat template                                             |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_stack              | 1-3           | Ensures that a Heat stack can be created and deleted      |
+|                                       |               | while having clean() called 2x without an exception       |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_same_stack                | 1-3           | Ensures that a Heat stack with the same name cannot be    |
+|                                       |               | created 2x                                                |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_retrieve_network_creators        | 1-3           | Ensures that an OpenStackHeatStack instance can return an |
+|                                       |               | OpenStackNetwork instance configured as deployed          |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_retrieve_vm_inst_creators        | 1-3           | Ensures that an OpenStackHeatStack instance can return an |
+|                                       |               | OpenStackVmInstance instance configured as deployed       |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateStackVolumeTests
+----------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |   Heat API    | Description                                               |
++=======================================+===============+===========================================================+
+| test_retrieve_volume_creator          | 1-3           | Ensures that an OpenStackHeatStack instance can return a  |
+|                                       |               | OpenStackVolume instance that it was responsible for      |
+|                                       |               | deploying                                                 |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_retrieve_volume_type_creator     | 1-3           | Ensures that an OpenStackHeatStack instance can return a  |
+|                                       |               | OpenStackVolumeType instance that it was responsible for  |
+|                                       |               | deploying                                                 |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateStackFloatingIpTests
+--------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |   Heat API    | Description                                               |
++=======================================+===============+===========================================================+
+| test_connect_via_ssh_heat_vm          | 1             | Ensures that an OpenStackHeatStack instance can create a  |
+|                                       |               | VM with a floating IP that can be accessed via            |
+|                                       |               | OpenStackVmInstance                                       |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateStackNestedResourceTests
+------------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |   Heat API    | Description                                               |
++=======================================+===============+===========================================================+
+| test_nested                           | 1             | Ensures that an OpenStackHeatStack with an external       |
+|                                       |               | resource file with VMs with floating IPs can be accessed  |
+|                                       |               | in the class OpenStackVmInstance and return the associated|
+|                                       |               | initialized OpenStackVmInstance objects                   |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateStackRouterTests
+----------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |   Heat API    | Description                                               |
++=======================================+===============+===========================================================+
+| test_retrieve_router_creator          | 1             | Ensures that an OpenStackHeatStack instance can return a  |
+|                                       |               | OpenStackRouter instance that it was responsible for      |
+|                                       |               | deploying                                                 |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateStackFlavorTests
+----------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |   Heat API    | Description                                               |
++=======================================+===============+===========================================================+
+| test_retrieve_flavor_creator          | 1-3           | Ensures that an OpenStackHeatStack instance can return a  |
+|                                       |               | OpenStackFlavor instance that it was responsible for      |
+|                                       |               | deploying                                                 |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateStackKeypairTests
+-----------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |   Heat API    | Description                                               |
++=======================================+===============+===========================================================+
+| test_retrieve_keypair_creator         | 1-3           | Ensures that an OpenStackHeatStack instance can return a  |
+|                                       |               | OpenStackKeypair instance that it was responsible for     |
+|                                       |               | deploying                                                 |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateStackSecurityGroupTests
+-----------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |   Heat API    | Description                                               |
++=======================================+===============+===========================================================+
+| test_retrieve_security_group_creator  | 1-3           | Ensures that an OpenStackHeatStack instance can return a  |
+|                                       |               | OpenStackSecurityGroup instance that it was responsible   |
+|                                       |               | for deploying                                             |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateComplexStackTests
+-----------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             |   Heat API    | Description                                               |
++=======================================+===============+===========================================================+
+| test_connect_via_ssh_heat_vm          | 1-3           | Ensures that two OpenStackHeatStack instances can return  |
+|                                       |               | OpenStackVmInstance instances one configured with a       |
+|                                       |               | floating IP and keypair and can be access via SSH         |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateStackNegativeTests
+------------------------------------------------
+
++----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                              |   Heat API    | Description                                               |
++========================================+===============+===========================================================+
+| test_missing_dependencies              | 1-3           | Ensures that a Heat template fails to deploy when expected|
+|                                        |               | dependencies are missing                                  |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_bad_stack_file                    | 1-3           | Ensures that a Heat template fails to deploy when the Heat|
+|                                        |               | template file does not exist                              |
++----------------------------------------+---------------+-----------------------------------------------------------+
+
+create_stack_tests.py - CreateStackFailureTests
+-----------------------------------------------
+
++----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                              |   Heat API    | Description                                               |
++========================================+===============+===========================================================+
+| test_stack_failure                     | 1-3           | Ensures that a Heat template fails to deploy when expected|
+|                                        |               | dependencies are missing                                  |
++----------------------------------------+---------------+-----------------------------------------------------------+
+
 create_instance_tests.py - CreateInstanceSimpleTests
 ----------------------------------------------------
 
@@ -186,6 +529,16 @@ create_instance_tests.py - SimpleHealthCheck
 |                                       | Neutron 2     | port and it's assigned IP address                         |
 +---------------------------------------+---------------+-----------------------------------------------------------+
 
+create_instance_tests.py - CreateInstanceTwoNetTests
+----------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | API Versions  | Description                                               |
++=======================================+===============+===========================================================+
+| test_ping_via_router                  | Nova 2        | Tests the ability of two VMs on different private overlay |
+|                                       | Neutron 2     | networks tied together with a router to ping each other   |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
 create_instance_tests.py - CreateInstanceSingleNetworkTests
 -----------------------------------------------------------
 
@@ -201,6 +554,18 @@ create_instance_tests.py - CreateInstanceSingleNetworkTests
 | test_ssh_client_fip_after_active      | Nova 2        | Ensures that an instance can be reached over SSH when the |
 |                                       | Neutron 2     | floating IP is assigned after to the VM becoming ACTIVE   |
 +---------------------------------------+---------------+-----------------------------------------------------------+
+| test_ssh_client_fip_after_init        | Nova 2        | Ensures that an instance can have a floating IP assigned  |
+|                                       | Neutron 2     | added after initialization                                |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_ssh_client_fip_reverse_engineer  | Nova 2        | Ensures that an instance can be reverse engineered and    |
+|                                       | Neutron 2     | allows for a floating IP to be added after initialization |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_ssh_client_fip_after_reboot      | Nova 2        | Ensures that an instance can be reached over SSH after    |
+|                                       | Neutron 2     | a reboot call has been issued                             |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_ssh_client_fip_second_creator    | Nova 2        | Ensures that an instance can be reached over SSH via a    |
+|                                       | Neutron 2     | second identical creator object                           |
++---------------------------------------+---------------+-----------------------------------------------------------+
 
 create_instance_tests.py - CreateInstancePortManipulationTests
 --------------------------------------------------------------
@@ -243,14 +608,28 @@ create_instance_tests.py - CreateInstanceOnComputeHost
 |                                       | Neutron 2     | active compute node                                       |
 +---------------------------------------+---------------+-----------------------------------------------------------+
 
-create_instance_tests.py - CreateInstancePubPrivNetTests
---------------------------------------------------------
+create_instance_tests.py - CreateInstanceFromThreePartImage
+-----------------------------------------------------------
+
++-----------------------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                                           | API Versions  | Description                                               |
++=====================================================+===============+===========================================================+
+| test_create_delete_instance_from_three_part_image   | Nova 2        | Tests to ensure that one can fire up an instance then     |
+|                                                     | Neutron 2     | delete it when using a 3-part image                       |
++-----------------------------------------------------+---------------+-----------------------------------------------------------+
+
+create_instance_tests.py - CreateInstanceIPv6NetworkTests (Staging)
+-------------------------------------------------------------------
 
 +---------------------------------------+---------------+-----------------------------------------------------------+
 | Test Name                             | API Versions  | Description                                               |
 +=======================================+===============+===========================================================+
-| test_dual_ports_dhcp                  | Nova 2        | Ensures that a VM with two ports/NICs can have its second |
-|                                       | Neutron 2     | NIC configured via SSH/Ansible after startup              |
+| test_v4fip_v6overlay                  | Nova 2        | Expects a BadRequest exception to be raised when          |
+|                                       | Neutron 2     | attempting to add an IPv4 floating IP to a VM with an IPv6|
+|                                       |               | port                                                      |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_fip_v4and6_overlay               | Nova 2        | Connects to a VM via a floating IP joined to a port that  |
+|                                       | Neutron 2     | has been confiured with both IPv4 and IPv6 addresses      |
 +---------------------------------------+---------------+-----------------------------------------------------------+
 
 create_instance_tests.py - InstanceSecurityGroupTests
@@ -275,6 +654,19 @@ create_instance_tests.py - InstanceSecurityGroupTests
 |                                       | Neutron 2     | that has already been added to the instance               |
 +---------------------------------------+---------------+-----------------------------------------------------------+
 
+create_instance_tests.py - CreateInstanceVolumeTests
+----------------------------------------------------
+
++---------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                             | API Versions  | Description                                               |
++=======================================+===============+===========================================================+
+| test_create_instance_with_one_volume  | Nova 2        | Ensures that a VM instance can have one volume attached   |
+|                                       | Cinder 2 & 3  | to it                                                     |
++---------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_instance_with_two_volumes | Nova 2        | Ensures that a VM instance can have two volumes attached  |
+|                                       | Cinder 2 & 3  | to it                                                     |
++---------------------------------------+---------------+-----------------------------------------------------------+
+
 ansible_utils_tests.py - AnsibleProvisioningTests
 -------------------------------------------------
 
@@ -288,3 +680,35 @@ ansible_utils_tests.py - AnsibleProvisioningTests
 |                                       | Neutron 2     | apply a Ansible playbook containing Jinga2 substitution   |
 |                                       |               | values                                                    |
 +---------------------------------------+---------------+-----------------------------------------------------------+
+
+cluster_template_tests.py - CreateClusterTemplateTests
+------------------------------------------------------
+
++----------------------------------------+---------------+-----------------------------------------------------------+
+| Test Name                              |  Magnum API   | Description                                               |
++========================================+===============+===========================================================+
+| test_create_cluster_template           | 1             | Tests the creation of a Cluster template with the class   |
+|                                        |               | OpenStackClusterTemplate                                  |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_delete_cluster_template    | 1             | Tests the creation and deletiong of a Cluster template    |
+|                                        |               | with the class OpenStackClusterTemplate                   |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_same_cluster_template      | 1             | Tests the creation of a Cluster template 2x using the same|
+|                                        |               | config object to ensure it was only created once          |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_cluster_template_bad_flavor| 1             | Tests to ensure OpenStackClusterTemplate#create() will    |
+|                                        |               | raise an exception when the flavor is invalid             |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_cluster_template_bad_master| 1             | Tests to ensure OpenStackClusterTemplate#create() will    |
+| _flavor                                |               | raise an exception when the master flavor is invalid      |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_cluster_template_bad_image | 1             | Tests to ensure OpenStackClusterTemplate#create() will    |
+|                                        |               | raise an exception when the image is invalid              |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_cluster_template_bad       | 1             | Tests to ensure OpenStackClusterTemplate#create() will    |
+| _network_driver                        |               | raise an exception when the network driver is invalid     |
++----------------------------------------+---------------+-----------------------------------------------------------+
+| test_create_cluster_template_bad       | 1             | Tests to ensure OpenStackClusterTemplate#create() will    |
+| _volume_driver                         |               | raise an exception when the volume driver is invalid      |
++----------------------------------------+---------------+-----------------------------------------------------------+
+