Atom feed of this document
  
 

 Create and manage stacks

The template languages are described in the Template Guide in the Heat developer documentation.

 Create a stack from an example template file

  1. To create a stack, or template, from an example template file, run the following command:

    $ heat stack-create mystack --template-file=/PATH_TO_HEAT_TEMPLATES/WordPress_Single_Instance.template
         --parameters="InstanceType=m1.large;DBUsername=USERNAME;DBPassword=PASSWORD;KeyName=HEAT_KEY;LinuxDistribution=F17"

    The --parameters values that you specify depend on the parameters that are defined in the template. If a website hosts the template file, you can specify the URL with the --template-url parameter instead of the --template-file parameter.

    The command returns the following output:

    +--------------------------------------+---------------+--------------------+----------------------+
    | id                                   | stack_name    | stack_status       | creation_time        |
    +--------------------------------------+---------------+--------------------+----------------------+
    | 4c712026-dcd5-4664-90b8-0915494c1332 | mystack       | CREATE_IN_PROGRESS | 2013-04-03T23:22:08Z |
    +--------------------------------------+---------------+--------------------+----------------------+
  2. You can also use the stack-create command to validate a template file without creating a stack from it.

    To do so, run the following command:

    $ heat stack-create mystack --template-file=/PATH_TO_HEAT_TEMPLATES/WordPress_Single_Instance.template

    If validation fails, the response returns an error message.

 Get information about stacks

To explore the state and history of a particular stack, you can run a number of commands.

  • To see which stacks are visible to the current user, run the following command:

    $ heat stack-list
    +--------------------------------------+---------------+-----------------+----------------------+
    | id                                   | stack_name    | stack_status    | creation_time        |
    +--------------------------------------+---------------+-----------------+----------------------+
    | 4c712026-dcd5-4664-90b8-0915494c1332 | mystack       | CREATE_COMPLETE | 2013-04-03T23:22:08Z |
    | 7edc7480-bda5-4e1c-9d5d-f567d3b6a050 | my-otherstack | CREATE_FAILED   | 2013-04-03T23:28:20Z |
    +--------------------------------------+---------------+-----------------+----------------------+
  • To show the details of a stack, run the following command:

    $ heat stack-show mystack
  • A stack consists of a collection of resources.

    To list the resources and their status, run the following command:

    $ heat resource-list mystack
    +---------------------+--------------------+-----------------+----------------------+
    | logical_resource_id | resource_type      | resource_status | updated_time         |
    +---------------------+--------------------+-----------------+----------------------+
    | WikiDatabase        | AWS::EC2::Instance | CREATE_COMPLETE | 2013-04-03T23:25:56Z |
    +---------------------+--------------------+-----------------+----------------------+
  • To show the details for the specified resource in a stack, run the following command:

    $ heat resource-show mystack WikiDatabase

    Some resources have associated metadata which can change throughout the life-cycle of a resource:

    $ heat resource-metadata mystack WikiDatabase
  • A series of events is generated during the life-cycle of a stack.

    To display life-cycle events, run:

    $ heat event-list mystack
    +---------------------+----+------------------------+-----------------+----------------------+
    | logical_resource_id | id | resource_status_reason | resource_status | event_time           |
    +---------------------+----+------------------------+-----------------+----------------------+
    | WikiDatabase        | 1  | state changed          | IN_PROGRESS     | 2013-04-03T23:22:09Z |
    | WikiDatabase        | 2  | state changed          | CREATE_COMPLETE | 2013-04-03T23:25:56Z |
    +---------------------+----+------------------------+-----------------+----------------------+
  • To show the details for a particular event, run the following command:

    $ heat event-show WikiDatabase 1

 Update a stack

 
  • To update an existing stack from a modified template file, run a command like the following command:

    $ heat stack-update mystack --template-file=/path/to/heat/templates/WordPress_Single_Instance_v2.template
         --parameters="InstanceType=m1.large;DBUsername=wp;DBPassword=verybadpassword;KeyName=heat_key;LinuxDistribution=F17"
    +--------------------------------------+---------------+-----------------+----------------------+
    | id                                   | stack_name    | stack_status    | creation_time        |
    +--------------------------------------+---------------+-----------------+----------------------+
    | 4c712026-dcd5-4664-90b8-0915494c1332 | mystack       | UPDATE_COMPLETE | 2013-04-03T23:22:08Z |
    | 7edc7480-bda5-4e1c-9d5d-f567d3b6a050 | my-otherstack | CREATE_FAILED   | 2013-04-03T23:28:20Z |
    +--------------------------------------+---------------+-----------------+----------------------+

    Some resources are updated in-place, while others are replaced with new resources.

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page

loading table of contents...