Creating a stack with Heat
Now that we have installed and configured the orchestration service for OpenStack, we need to use it, and this is the time to create a stack and see Heat in action. We will use the HOT template to define a stack. HOT is an OpenStack native template system that describes the resources, which will be managed by Heat. The following is the structure of a very basic HOT template:
![Creating a stack with Heat](https://static.packt-cdn.com/products/9781783551651/graphics/graphics/B04668_04_40.jpg)
The following is an example of a working HOT template:
![Creating a stack with Heat](https://static.packt-cdn.com/products/9781783551651/graphics/graphics/B04668_04_41.jpg)
Creating an advanced template for Heat
In this example, we will use two interconnected VMs with floating IP addresses accessible from the Internet:
![Creating an advanced template for Heat](https://static.packt-cdn.com/products/9781783551651/graphics/graphics/B04668_04_42.jpg)
To deploy this stack, we need to specify different resources in the HOT template. The following diagram describes clearly resources and their dependencies:
![Creating an advanced template for Heat](https://static.packt-cdn.com/products/9781783551651/graphics/graphics/B04668_04_43.jpg)
Let's describe the resources and their dependencies:
- The first resource we define is a private network (of type OS::Neutron::Net) to which we associate a resource of type subnet (OS::Neutron::Subnet).
- Second, we define a router (of type OS...