Difference between revisions of "Heat/GettingStartedUsingDevstack"
Clark Boylan (talk | contribs) |
|||
Line 2: | Line 2: | ||
== Heat and Devstack == | == Heat and Devstack == | ||
− | Heat is fully integrated into [http://devstack.org/ 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 | + | Heat is fully integrated into [http://devstack.org/ 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 | + | These instructions assume you already have a working DevStack installation which can launch basic instances. |
− | == Configure | + | == Configure DevStack to enable Heat == |
Adding the following line to your `localrc` file will enable the heat services | Adding the following line to your `localrc` file will enable the heat services | ||
Line 13: | Line 13: | ||
ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng | ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
It would also be useful to automatically download and register a VM image that Heat can launch. | It would also be useful to automatically download and register a VM image that Heat can launch. | ||
Line 32: | Line 31: | ||
source openrc | source openrc | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
You can confirm that Heat is running and responding with this command | You can confirm that Heat is running and responding with this command | ||
Line 49: | Line 47: | ||
nova flavor-list | nova flavor-list | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Heat needs to launch instances with a keypair, so we need to generate one | Heat needs to launch instances with a keypair, so we need to generate one | ||
Line 57: | Line 54: | ||
chmod 600 heat_key.priv | chmod 600 heat_key.priv | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
== Launching a stack == | == Launching a stack == | ||
Line 75: | Line 71: | ||
+--------------------------------------+-----------+--------------------+----------------------+ | +--------------------------------------+-----------+--------------------+----------------------+ | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== List stacks === | === List stacks === | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
heat list | heat list | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== List stack events === | === List stack events === | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
heat event-list teststack | heat event-list teststack | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== Describe the wordpress stack === | === Describe the wordpress stack === | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
Line 107: | Line 97: | ||
Point a web browser at the location given by the WebsiteURL Output as shown by heat stack-show teststack:: | Point a web browser at the location given by the WebsiteURL Output as shown by heat stack-show teststack:: | ||
− | |||
<pre><nowiki> | <pre><nowiki> | ||
wget ${WebsiteURL} | wget ${WebsiteURL} | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
=== Delete the instance when done === | === Delete the instance when done === | ||
Line 120: | Line 108: | ||
heat list | heat list | ||
</nowiki></pre> | </nowiki></pre> | ||
− | |||
Note: This operation will show no running stack. | Note: This operation will show no running stack. |
Revision as of 23:02, 16 February 2013
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+=",http://fedorapeople.org/groups/heat/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 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 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 list
List stack events
heat event-list teststack
Describe the wordpress stack
heat describe 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 delete teststack heat 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.