Jump to: navigation, search

Difference between revisions of "Heat/GettingStartedUsingDevstack"

(Use python-heatclient commands)
Line 37: Line 37:
  
 
<pre><nowiki>
 
<pre><nowiki>
heat-cfn list
+
heat stack-list
</nowiki></pre>
 
 
 
This should return the following
 
 
 
<pre><nowiki>
 
<ListStacksResponse>
 
  <ListStacksResult>
 
    <StackSummaries/>
 
  </ListStacksResult>
 
</ListStacksResponse>
 
 
</nowiki></pre>
 
</nowiki></pre>
  
 +
This should return an empty line
  
 
== Preparing Nova for running stacks ==
 
== Preparing Nova for running stacks ==
Line 69: Line 60:
  
 
== Launching a stack ==
 
== Launching a stack ==
Now lets launch a stack
+
Now lets launch a stack, assuming that DEST is left as the default /opt/stack
  
 
<pre><nowiki>
 
<pre><nowiki>
heat-cfn -d create teststack --template-file=../heat/templates/WordPress_Single_Instance.template \
+
heat stack-create teststack --template-file=/opt/stack/heat/templates/WordPress_Single_Instance.template --parameters="InstanceType=m1.large;DBUsername=wp;DBPassword=verybadpassword;KeyName=heat_key;LinuxDistribution=F16"
--parameters="InstanceType=m1.large;DBUsername=wp;DBPassword=verybadpassword;KeyName=heat_key;LinuxDistribution=F16"
 
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 79: Line 69:
  
 
<pre><nowiki>
 
<pre><nowiki>
<CreateStackResponse>
+
+--------------------------------------+-----------+--------------------+----------------------+
  <CreateStackResult>
+
| ID                                  | Name      | Status            | Created              |
    <StackId>arn:openstack:heat::service:stacks/teststack/1</StackId>
+
+--------------------------------------+-----------+--------------------+----------------------+
  </CreateStackResult>
+
| (uuid)                              | teststack | CREATE_IN_PROGRESS | (timestamp)          |
</CreateStackResponse>
+
+--------------------------------------+-----------+--------------------+----------------------+
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 91: Line 81:
  
 
<pre><nowiki>
 
<pre><nowiki>
heat-cfn list
+
heat stack-list
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 99: Line 89:
  
 
<pre><nowiki>
 
<pre><nowiki>
heat-cfn event-list teststack
+
heat event-list teststack
 
</nowiki></pre>
 
</nowiki></pre>
  
Line 107: Line 97:
  
 
<pre><nowiki>
 
<pre><nowiki>
heat-cfn describe teststack
+
heat stack-show teststack
 
</nowiki></pre>
 
</nowiki></pre>
  
Note: After a few seconds, the [[StackStatus]] should change from IN_PROGRESS to CREATE_COMPLETE.
+
Note: After a few seconds, the stack_status should change from IN_PROGRESS to CREATE_COMPLETE.
  
 
=== Verify instance creation ===
 
=== Verify instance creation ===
Line 116: Line 106:
 
Because the software takes some time to install from the repository, it may be a few minutes before the Wordpress instance is in a running state.
 
Because the software takes some time to install from the repository, it may be a few minutes before the Wordpress instance is in a running state.
  
Point a web browser at the location given by the WebsiteURL Output as shown by heat describe::
+
Point a web browser at the location given by the WebsiteURL Output as shown by heat stack-show teststack::
  
  
Line 127: Line 117:
  
 
<pre><nowiki>
 
<pre><nowiki>
heat-cfn delete teststack
+
heat stack-delete teststack
heat-cfn list
+
heat stack-list
 
</nowiki></pre>
 
</nowiki></pre>
  

Revision as of 04:07, 4 December 2012

Heat and Devstack

Heat is fully integrated into DevStack. This is a convenient way to try out or develop heat alongside the current development state of all the other OpenStack projects. Heat on DevStack works on both Ubuntu and Fedora.

These instructions assume you already have a working DevStack installation which can launch basic instances.

Configure DevStack to enable Heat

Adding the following line to your `localrc` file will enable the heat services

ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng


It would also be useful to automatically download and register a VM image that Heat can launch.

IMAGE_URLS+=",https://github.com/downloads/heat-api/prebuilt-jeos-images/F16-x86_64-cfntools.qcow2"

URLs for any of these prebuilt JEOS images can be specified.

That is all the configuration that is required. When you run `./stack.sh` the Heat processes will be launched in `screen` with the labels prefixed with `h-`.

Confirming heat is responding

Before any heat commands can be run, the authentication environment needs to be loaded

source openrc


You can confirm that Heat is running and responding with this command

heat stack-list

This should return an empty line

Preparing Nova for running stacks

Enabling Heat in devstack will replace the default Nova flavors with flavours that the Heat example templates expect. You can see what those flavors are by running

nova flavor-list


Heat needs to launch instances with a keypair, so we need to generate one

nova keypair-add heat_key > heat_key.priv
chmod 600 heat_key.priv


Launching a stack

Now lets launch a stack, assuming that DEST is left as the default /opt/stack

heat stack-create teststack --template-file=/opt/stack/heat/templates/WordPress_Single_Instance.template --parameters="InstanceType=m1.large;DBUsername=wp;DBPassword=verybadpassword;KeyName=heat_key;LinuxDistribution=F16"

Which will respond

+--------------------------------------+-----------+--------------------+----------------------+
| ID                                   | Name      | Status             | Created              |
+--------------------------------------+-----------+--------------------+----------------------+
| (uuid)                               | teststack | CREATE_IN_PROGRESS | (timestamp)          |
+--------------------------------------+-----------+--------------------+----------------------+


List stacks

heat stack-list


List stack events

heat event-list teststack


Describe the wordpress stack

heat stack-show teststack

Note: After a few seconds, the stack_status should change from IN_PROGRESS to CREATE_COMPLETE.

Verify instance creation

Because the software takes some time to install from the repository, it may be a few minutes before the Wordpress instance is in a running state.

Point a web browser at the location given by the WebsiteURL Output as shown by heat stack-show teststack::


wget ${WebsiteURL}


Delete the instance when done

heat stack-delete teststack
heat stack-list


Note: This operation will show no running stack.

Troubleshooting

If you encounter issues running heat, see if the solution to the issue is documented on the Troubleshooting wiki page. If not, let us know about the problem in the #heat IRC channel on freenode.