Book Image

OpenStack Orchestration

By : Adnan Ahmed Siddiqui
Book Image

OpenStack Orchestration

By: Adnan Ahmed Siddiqui

Overview of this book

This book is focused on setting up and using one of the most important services in OpenStack orchestration, Heat. First, the book introduces you to the orchestration service for OpenStack to help you understand the uses of the templating mechanism, complex control groups of cloud resources, and huge-potential and multiple-use cases. We then move on to the topology and orchestration specification for cloud applications and standards, before introducing the most popular IaaS cloud framework, Heat. You will get to grips with the standards used in Heat, overview and roadmap, architecture and CLI, heat API, heat engine, CloudWatch API, scaling principles, JeOS and installation and configuration of Heat. We wrap up by giving you some insights into troubleshooting for OpenStack. With easy-to-follow, step-by-step instructions and supporting images, you will be able to manage OpenStack operations by implementing the orchestration services of Heat.
Table of Contents (14 chapters)
OpenStack Orchestration
About the Author
About the Reviewers
Stack Group of Connected Cloud Resources

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:

The following is an example of a working HOT template:

Creating an advanced template for Heat

In this example, we will use two interconnected VMs with floating IP addresses accessible from the Internet:

To deploy this stack, we need to specify different resources in the HOT template. The following diagram describes clearly resources and their dependencies:

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::Neutron...