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