Skip to content

user-data script for starting the bootstrapping process and other Openstack Heat resources

License

Notifications You must be signed in to change notification settings

autostrap/heat-resources

Repository files navigation

Description

This repository contains Heat templates for bootstrapping Openstack instances using Autostrap, along with some handy OS::Neutron wrapper resources.

Organization

All templates must reside in a directory with their implemented resource's name. E.g. the autostrap resource would reside in autostrap/.

Resources must be versioned, i.e. whenever a resources' parameters, output or behaviour changes this change results in an incremented version number.

File names in a resource directory match the following pattern:

vversion number.yaml

Where version number reflects the resources version number for each of the resource's versions.

Example:

autostrap/v1.yaml
autostrap/v2.yaml

The latest version must be symlinked to the repository's root directory. The link must the resource's name with a .yaml extension, e.g. if autostrap/v2.yaml is the latest version of the autostrap resource, there would have to be the following symlink in the repository's root directory:

Installation

There are two ways to install these resources:

Installation on the local machine

Just issue a

make

in this repository's top-level directory. This will create the Heat environment file env.yaml which contains a resource_registry data structure referencing all resources in this repository. Add this file to your Heat client's environment using the -e option.

System-wide installation in an Openstack cloud

Alternatively, you can install these resources as a global environment by cloning this repository to all machines your cloud runs heat-engine on and issuing a

make install

in its top-level directory.

This will create the environment file /etc/heat/environment.d/autostrap.yaml referencing this repository's resources in a resource_registry data structure.

Usage

All of these resources are prefixed with the namespace component AS. So you could use the latest versio of the autostrap resource in the example above (autostrap/v2.yaml) in two ways:

  1. Using the alias referencing the latest resource version:
bootstrap:
  type: AS::autostrap
  properties:
    [...]
  1. Referencing version 2 explicitly:
bootstrap:
  type: AS::autostrap::v2
  properties:
    [...]

Documentation

Documentation for these resources can be generated by running make doc in the top-level directory. This requires asciidoctor and autostrap-utils' bin/ directory to be in $PATH. Additionally, make lint will run basic sanity checks on all resources (it checks for missing description: fields and report them). This also requires autostrap-utils.

About

user-data script for starting the bootstrapping process and other Openstack Heat resources

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published