heat-templates/hot/software-config/README.rst
Steve Baker 0175da2ee6 Elements for building a heat test image
The heat functional test job needs to boot full images containing the
heat agent code (os-collect-config etc) so that it can test the
interaction between heat and the agent.

Images built with the elements in this change contain the necessary
distro packages so that only pip packages need to be installed on
server boot. This is very fast compared to doing a disk-image-create
on every gate run or doing distro package installs during boot.

Initially pip packages would be installed from upstream pypi during
boot, but devstack already has the code required [1] to build pip
repos from local git checkouts so it will be possible to check and
gate on agent code changes, which is not currently possible.

The intent would be for these images to replace the vanilla
Fedora-x86_64-20-20140618-sda which devstack currently uses during gate
jobs. The Fedora-x86_64-20-20140618-sda qcow is cached on the nodepool
images but it might be better for these images to be hosted on a
server like tarballs.o.o and downloaded on every gate run. Initially
I'd like to request that an image be manually built and uploaded
somewhere so we can start using it immediately and drop
Fedora-x86_64-20-20140618-sda.

Building these images does not need to be fully automated and likely
only needs to be triggered when there are dependency changes in the
heat agent tools.

The script build-heat-test-image.sh will trigger a image build
defaulting to fedora. Ubuntu and CentOS7 are also fully supported by
these elements.

[1] https://github.com/openstack-dev/devstack/blob/master/lib/dib#L52

Change-Id: I3f10f9137cc4391de884fddcab5b4fcb802a8dd8
2015-03-04 10:21:03 +13:00

1.2 KiB

HOT software configuration hooks and examples

The Heat software configuration resources can be combined with a server agent and hooks to configure software on servers using a variety of techniques.

Contained here are the following directories:

boot-config

This directory has environment files which each declare a resource type Heat::InstallConfigAgent.

This can be used by server user_data when booting a pristine image to install the agent required to use software deployment resources in templates.

elements

This contains diskimage-builder elements which will install the hooks for different configuration tools onto a custom-built image.

example-templates

This contains example heat templates which demonstrate how the software config resources and the hooks work together to perform software configuration.

test-image

This contains diskimage-builder elements which will install the distro packages required for a base test image.