Skip to main content

Quick notes: Integrating your software with TripleO Heat Templates


There is a lot of information available about TripleO Heat Templates (THT). Some cool blogs are listed in the references section. But sometimes you are looking for a smaller volume of information, in order to get started quickly.

Here is a collection of notes, which may be useful if you want to integrate your product with THT. These are collected based on the work done for integration of the Veritas HyperScale for OpenStack with the THT. The examples mentioned below point to some of this work. These notes are only about the development work and it’s testing.

It’s assumed that you have done some background work and are well versed with THT terminology and the deployment commands.

Deployment method
You can deploy OpenStack using either quickstart or director. I preferred director based setup since it provides a way of specifying environment files. I felt it was easier than modifying the quickstart scripts.


THT workflow

tripleo-heat-templates à puppet-tripleo à component specific puppet modules

The workflow goes like this:
  1. The roles_data.yaml file specifies which composable services should be part of which role. There are services for different components.
Example: OS::TripleO::Services::VRTSHyperScale
  1. These composable services reside in puppet services.
  1. The input parameters to these composable services can be specified via an environment file in tripleo-heat-templates. This environment file needs to be specified as an input to the “openstack overcloud deploy” command using “-e” option. These environment files set the parameters and call the which use those parameters.
  1. The puppet services call the puppet modules.
Example: The VRTSHyperScale service calls the puppet modules of puppet-veritas_hyperscale.


Development and testing
  1. Make the changes locally to the following repositories:
    1. tripleo-heat-templates
    2. puppet-tripleo
  2. Upload the changes made to puppet-tripleo locally, in order to use them for overcloud deployment.
# upload-puppet-modules –d <parent of local puppet-tripleo directory>
  1. Upload your product specific puppet modules, in order to use them for overcloud deployment.
# upload-puppet-modules –d <parent of local directory containing your puppet modules>
  1. Add new composable service to the roles_data.yaml in the tripleo-heat-template directory.
  2. Deploy overcloud again by specifying the environment file:
# openstack overcloud deploy --templates <local tripleo-heat-templates directory> -e <path of your new environment file>


References

  1. Steve Hardy’s fantastic blogs on TripleO Heat templates and its components.
  2. The IRC channel #tripleo. TripleO folks are pretty helpful.

Comments