From 3eb1755f84a3c74f5201b6a42bd5993c5aef6096 Mon Sep 17 00:00:00 2001 From: fhernan2 Date: Fri, 8 Mar 2019 09:03:46 -0600 Subject: [PATCH] Adding HEAT_HOT_template_02 Test case into the HEAT Test suite. Change-Id: Iddeabffce7df3422d89e53b00ec2157d7722bb7e --- .../heat/heat_hot_template_suite.rst | 243 ++++++++++++++++-- 1 file changed, 217 insertions(+), 26 deletions(-) diff --git a/doc/source/manual_tests/heat/heat_hot_template_suite.rst b/doc/source/manual_tests/heat/heat_hot_template_suite.rst index 4c52bb0..d7f22e7 100644 --- a/doc/source/manual_tests/heat/heat_hot_template_suite.rst +++ b/doc/source/manual_tests/heat/heat_hot_template_suite.rst @@ -3,7 +3,6 @@ HOT Template ============ - .. contents:: :local: :depth: 1 @@ -29,7 +28,7 @@ Test Pre-Conditions a) An image with the name of cirros available -:: +.. code:: bash Export openstack_helm authentication - go to [0] for details. @@ -43,11 +42,11 @@ Test Steps 1. Create Heat stack using -:: +.. code:: bash - $ openstack stack create -t cinder_volume.yaml + $ openstack stack create -t cinder_volume.yaml -:: +.. code:: bash i.e. +---------------------+--------------------------------------+ @@ -62,9 +61,9 @@ Test Steps 2.Delete the stack -:: +.. code:: bash - $ openstack stack delete + $ openstack stack delete ~~~~~~~~~~~~~~~~~ Expected Behavior @@ -72,11 +71,11 @@ Expected Behavior 1. Verify 1GB cinder volume is successfully created. -:: +.. code:: bash - $ openstack stack show + $ openstack stack show -:: +.. code:: bash i.e. $ openstack stack show Volumefer @@ -99,13 +98,13 @@ Expected Behavior 2. Verify the STACK and the resources is deleted Openstack stack list (STACK should not be there in the list) -~~~~~~~~~~~~~~~~~~~~ - -~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~ +cinder_volume.yaml +~~~~~~~~~~~~~~~~~~ -:: +.. code:: yaml - heat_template_version: 2015-10-15 + heat_template_version: 2015-10-15 description: Launch a cinder volume cirros image. resources: volume: @@ -121,6 +120,195 @@ Expected Behavior description: Volume value: { get_attr: [volume, size ] } +-------------------- +HEAT_HOT_template_02 +-------------------- + +:Test ID: HEAT_HOT_Template_02 +:Test Title: Heat resource creation for Cinder Volume Attachment. +:Tags: HOT_template + +~~~~~~~~~~~~~~ +Test Objective +~~~~~~~~~~~~~~ + +This test case verify that `OS::Cinder::VolumeAttachment` resource for +associate an existing volume to an existing instance. + +~~~~~~~~~~~~~~~~~~~ +Test Pre-Conditions +~~~~~~~~~~~~~~~~~~~ + +a) A Nova Server Instance already created. Check [2] for creation. + +b) A volume already created. Check [3] for creation. + +c) Create the "cinder_volume_attachment.yaml" yaml file in your +controller. + +.. code:: bash + + controller-0:~$ touch cinder_volume_attachment.yaml + +d) Export Instance id in your current session. + +.. code:: bash + + controller-0:~$ export Instance_ID=$(openstack server list | awk '/stack_demo*/ {print $2}') + +e) Export Volume id in your current session. + +.. code:: bash + + controller-0:~$ export Volume_ID=$(openstack volume list | awk '/Vol_demo*/ {print $2}') + + +~~~~~~~~~~ +Test Steps +~~~~~~~~~~ + +1. Associate a volume to an instance by typing: + +.. code:: bash + + controller-0:~$ openstack stack create -t cinder_volume_attachment.yaml Vol_attach_Instance --parameter "Volume_ID=$Volume_ID;Instance_ID=$Instance_ID" + +.. code:: bash + + +---------------------+----------------------------------------------------------+ + | Field | Value | + +---------------------+----------------------------------------------------------+ + | id | 45c92f19-b543-4216-bce5-136b140c74e8 | + | stack_name | Vol_attach_Instance | + | description | this is a template that attached a volume to an instance | + | creation_time | 2019-03-07T16:00:19Z | + | updated_time | None | + | stack_status | CREATE_IN_PROGRESS | + | stack_status_reason | Stack CREATE started | + +---------------------+----------------------------------------------------------+ + +2. List your stacks and make sure the volume was associated to the instance. + +.. code:: bash + + controller-0:~$ openstack stack list + +3. Delete the stack Vol_attach_Instance and make sure the stack and the resources are deleted. + +.. code:: bash + + controller-0:~$ openstack stack delete + +~~~~~~~~~~~~~~~~~ +Expected Behavior +~~~~~~~~~~~~~~~~~ + +1. Volume was associated to the instance successfully. + +2. Vol_attach_Instance listed successfully. + +.. code:: bash + + +--------------------------------------+---------------------+----------------------------------+-----------------+----------------------+--------------+ + | ID | Stack Name | Project | Stack Status | Creation Time | Updated Time | + +--------------------------------------+---------------------+----------------------------------+-----------------+----------------------+--------------+ + | 45c92f19-b543-4216-bce5-136b140c74e8 | Vol_attach_Instance | 86ab4e9a23d644d5a378e9b637dc5f5e | CREATE_COMPLETE | 2019-03-07T16:00:19Z | None | + | 229be306-6e5d-4b4c-93cc-a22b75f677c9 | Volume_demo_stack | 86ab4e9a23d644d5a378e9b637dc5f5e | CREATE_COMPLETE | 2019-03-07T15:38:40Z | None | + | 1f18959c-2d04-4def-8323-b2497bb3b745 | stack_demo | 86ab4e9a23d644d5a378e9b637dc5f5e | CREATE_COMPLETE | 2019-03-07T15:27:58Z | None | + +--------------------------------------+---------------------+----------------------------------+-----------------+----------------------+--------------+ + +3. STACK and resources were deleted successfully + +.. code:: bash + + controller-0:~$ openstack stack list + +~~~~~~~~~ +Templates +~~~~~~~~~ + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +cinder_volume_attachment.yaml +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: yaml + + heat_template_version: 2015-04-30 + description: this is a template that attached a volume to an instance + + parameters: + Instance_ID: + type: string + description: Instance ID to attach to the corresponding volume + Volume_ID: + type: string + description: Volume ID to where the instance is attached + + resources: + the_resource: + type: OS::Cinder::VolumeAttachment + properties: + instance_uuid: { get_param: Instance_ID } + volume_id: { get_param: Volume_ID } + + + +~~~~~~~~~~~~~~~~~~ +cinder_volume.yaml +~~~~~~~~~~~~~~~~~~ + +.. code:: yaml + + heat_template_version: 2015-10-15 + description: Launch a cinder volume cirros image. + + resources: + volume: + type: OS::Cinder::Volume + properties: + description: Cinder volume create + image: cirros + name: Vol_demo + size: 1 + + outputs: + volume_size: + description: Volume + value: { get_attr: [volume, size ] } + +~~~~~~~~~~~~~~~~ +nova_server.yaml +~~~~~~~~~~~~~~~~ + +.. code:: yaml + + heat_template_version: 2015-10-15 + description: Launch a basic instance with CirrOS image using the + ``demo1.tiny`` flavor, ``mykey`` key, and one network. + + parameters: + NetID: + type: string + description: Network ID to use for the instance. + + resources: + server: + type: OS::Nova::Server + properties: + image: cirros + flavor: demo1.tiny + key_name: + networks: + - network: { get_param: NetID } + + outputs: + instance_name: + description: Name of the instance + value: { get_attr: [ server, name ] } + instance_ip: + description: IP address of the instance. + value: { get_attr: [ server, first_address ] } + -------------------- HEAT_HOT_Template_12 -------------------- @@ -142,7 +330,7 @@ Test Pre-Conditions a) An image with the name of cirros available -:: +.. code:: bash i.e. Export openstack_helm authentication @@ -155,7 +343,7 @@ a) An image with the name of cirros available b) A flavor with the name flavor_name.type available. -:: +.. code:: bash i.e. $ openstack flavor create --public --id 1 --ram 512 --vcpus 1 --disk 4 flavor_name.type @@ -163,7 +351,7 @@ b) A flavor with the name flavor_name.type available. c) A network available -:: +.. code:: bash i.e. $ openstack network create net @@ -172,24 +360,23 @@ c) A network available d) Execute the following command to take the network id -:: +.. code:: bash $ export NET_ID=$(openstack network list | awk '/ net / { print $2 }') - ~~~~~~~~~~ Test Steps ~~~~~~~~~~ 1. Create Heat stack using nova_server.yaml by typing: -:: +.. code:: bash $ openstack stack create --template nova_server.yaml stack_demo --parameter "NetID=$NET_ID" 2. Delete the stack -:: +.. code:: bash $ openstack stack delete stack_demo @@ -199,11 +386,11 @@ Expected Behavior 1. Verify Stack is successfully created and new nova instance is created. -:: +.. code:: bash - $ openstack stack list + $ openstack stack list -:: +.. code:: bash i.e. +--------------------------------------+------------+----------------------------------+-----------------+----------------------+----------------------+ @@ -218,7 +405,7 @@ Expected Behavior ~~~~~~~~~~~~~~~~~~ -:: +.. code:: yaml heat_template_version: 2015-10-15 description: Launch a basic instance with CirrOS image using the ``demo1.tiny`` flavor, ``mykey`` key, and one network. @@ -251,3 +438,7 @@ References: [0] - [https://wiki.openstack.org/wiki/StarlingX/Containers/Installation] [1] - [https://docs.openstack.org/nova/pike/admin/flavors2.html] + +[2] - HEAT_HOT_Template_12 Test Case + +[3] - HEAT_HOT_Template_01 Test Case \ No newline at end of file