Step 15: The first heat template
Start
In the previous step, you learned the basic layout of a heat template. Now you can create your own.
The first template
As stated earlier, your template needs to start with a version definition.
Version 2016-10-14 is used for the below example:
heat_template_version: 2016-10-14
Although it is optional, it is best practice to add a description to your template.
heat_template_version: 2016-10-14
description: A simple template to deploy a vm
Next, add the resource “Instanz”.
Be sure to pay attention to the structure of our template and to indent the “Instanz” under resources.
To indent, use 4 spaces (not tabs). If you use tabs or an inconsistent amount of spaces, it will cause errors that may be hard to locate.
Your template should now look like this:
heat_template_version: 2016-10-14
description: A simple template to deploy a vm
resources:
Instanz:
Next, define the resource type.
A detailed list of all types is available in the official OpenStack documentation
In our example, you can define Instanz as a VM:
heat_template_version: 2016-10-14
description: A simple template to deploy a vm
resources:
Instanz:
type: OS::Nova::Server
Now that you have defined the type, you should next define its properties.
Let’s define the key, image, and the flavor:
heat_template_version: 2016-10-14
description: A simple template to deploy a vm
resources:
Instanz:
type: OS::Nova::Server
properties:
key_name: BeispielKey
image: Ubuntu 16.04 Xenial Xerus - Latest
flavor: m1.small
Conclusion
You have now defined a template that creates a single VM instance. If you like, you can run it like you did previously in Step 13: “The structured way to create an instance (with stacks)”.