Update heat configuration for Mitaka. 1) Remove explicit installation of some packages due to dependency fixes. 2) Remove explicit configuration of verbosity. 3) Use to the OpenStack client if possible. Change-Id: I680c54849056a2763e397e55da343d234a32d567
5.1 KiB
Orchestration
Create a template
The Orchestration service uses templates to describe stacks. To learn about the template language, see the Template Guide in the Heat developer documentation.
Create the
demo-template.yml
file with the following content:heat_template_version: 2015-10-15 description: Launch a basic instance using the ``m1.tiny`` flavor and one network. parameters: ImageID: type: string description: Image to use for the instance. NetID: type: string description: Network ID to use for the instance. resources: server: type: OS::Nova::Server properties: image: { get_param: ImageID } flavor: m1.tiny 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 ] }
Create a stack
Create a stack using the demo-template.yml
template.
Source the
demo
credentials to perform the following steps as a non-administrative project:$ source demo-openrc.sh
Determine available networks.
$ openstack network list +--------------------------------------+-------------+--------------------------------------+ | ID | Name | Subnets | +--------------------------------------+-------------+--------------------------------------+ | 4716ddfe-6e60-40e7-b2a8-42e57bf3c31c | selfservice | 2112d5eb-f9d6-45fd-906e-7cabd38b7c7c | | b5b6993c-ddf9-40e7-91d0-86806a42edb8 | provider | 310911f6-acf0-4a47-824e-3032916582ff | +--------------------------------------+-------------+--------------------------------------+
Note
This output may differ from your environment.
Set the
NET_ID
environment variable to reflect the ID of a network. For example, using the provider network:$ export NET_ID=$(openstack network list | awk '/ provider / { print $2 }')
Create a stack of one CirrOS instance on the provider network:
$ heat stack-create -f demo-template.yml -P "ImageID=cirros;NetID=$NET_ID" stack +--------------------------------------+------------+--------------------+---------------------+--------------+ | id | stack_name | stack_status | creation_time | updated_time | +--------------------------------------+------------+--------------------+---------------------+--------------+ | dbf46d1b-0b97-4d45-a0b3-9662a1eb6cf3 | stack | CREATE_IN_PROGRESS | 2015-10-13T15:27:20 | None | +--------------------------------------+------------+--------------------+---------------------+--------------+
After a short time, verify successful creation of the stack:
$ heat stack-list +--------------------------------------+------------+-----------------+---------------------+--------------+ | id | stack_name | stack_status | creation_time | updated_time | +--------------------------------------+------------+-----------------+---------------------+--------------+ | dbf46d1b-0b97-4d45-a0b3-9662a1eb6cf3 | stack | CREATE_COMPLETE | 2015-10-13T15:27:20 | None | +--------------------------------------+------------+-----------------+---------------------+--------------+
Show the name and IP address of the instance and compare with the output of the OpenStack client:
$ heat output-show --all stack [ { "output_value": "stack-server-3nzfyfofu6d4", "description": "Name of the instance.", "output_key": "instance_name" }, { "output_value": "10.4.31.106", "description": "IP address of the instance.", "output_key": "instance_ip" } ]
$ openstack server list +--------------------------------------+---------------------------+--------+---------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+---------------------------+--------+---------------------------------+ | 0fc2af0c-ae79-4d22-8f36-9e860c257da5 | stack-server-3nzfyfofu6d4 | ACTIVE | public=10.4.31.106 | +--------------------------------------+---------------------------+--------+---------------------------------+
Delete the stack.
$ heat stack-delete stack