OpenStack Orchestration (Heat) Agents
Go to file
ricolin def252eb96 Use six StringIO
On python3, sys.stdin/stdout are Text-mode streams, which can be
approximated with io.StringIO. On python2, there's no real
distinction between Text-mode and Binary-mode (except for line
endings, which sys.stdin/stdout also treat as Text-mode). Hence,
there's no need to explicitly use io.BytesIO on python2.
StringIO.StringIO is equally or more representative of how the
mocked streams behave.

Therefore, just use six.StringIO instead of different types for
python2 vs. python3.

Change-Id: Ib80e10a40e68ece946b344ce7bcfba5e182ce848
2018-03-26 20:09:41 +00:00
doc/source Add basic stuff to build docs 2017-07-20 09:12:08 +05:30
heat-config Add py3.5 support 2017-07-17 13:43:43 +00:00
heat-config-ansible Add py3.5 support 2017-07-17 13:43:43 +00:00
heat-config-apply-config Add py3.5 support 2017-07-17 13:43:43 +00:00
heat-config-cfn-init Add py3.5 support 2017-07-17 13:43:43 +00:00
heat-config-chef Prevent trailing whitespace in rendered JSON 2017-01-13 12:07:51 +01:00
heat-config-docker-cmd Add py3.5 support 2017-07-17 13:43:43 +00:00
heat-config-docker-compose Add py3.5 support 2017-07-17 13:43:43 +00:00
heat-config-hiera Add py3.5 support 2017-07-17 13:43:43 +00:00
heat-config-json-file Prevent trailing whitespace in rendered JSON 2017-01-13 12:07:51 +01:00
heat-config-kubelet Use six StringIO 2018-03-26 20:09:41 +00:00
heat-config-puppet Add py3.5 support 2017-07-17 13:43:43 +00:00
heat-config-salt Add py3.5 support 2017-07-17 13:43:43 +00:00
heat-config-script Add py3.5 support 2017-07-17 13:43:43 +00:00
releasenotes/notes docker-cmd hook switch to the paunch library 2017-05-24 12:29:38 +12:00
tests Use six StringIO 2018-03-26 20:09:41 +00:00
.gitignore Move elements at the top level 2017-01-04 16:57:10 +01:00
.gitreview Move elements at the top level 2017-01-04 16:57:10 +01:00
.testr.conf Move elements at the top level 2017-01-04 16:57:10 +01:00
LICENSE Reinstate LICENSE file 2017-01-13 11:37:47 -05:00
MANIFEST.in Add setup files for packaging 2017-01-25 16:15:23 +01:00
README.rst Use heat-agents instead of heat-templates 2017-01-09 16:44:07 +08:00
requirements.txt Move elements at the top level 2017-01-04 16:57:10 +01:00
setup.cfg Add basic stuff to build docs 2017-07-20 09:12:08 +05:30
setup.py Add setup files for packaging 2017-01-25 16:15:23 +01:00
test-requirements.txt Add basic stuff to build docs 2017-07-20 09:12:08 +05:30
tox.ini Add basic stuff to build docs 2017-07-20 09:12:08 +05:30

README.rst

Software configuration hooks

This directory contains diskimage-builder elements to build an image which contains the software configuration hook required to use your preferred configuration method.

These elements depend on some elements found in the tripleo-image-elements repository. These elements will build an image which uses os-collect-config, os-refresh-config, and os-apply-config together to invoke a hook with the supplied configuration data, and return any outputs back to heat.

When building an image only the elements for the preferred configuration methods are required. The heat-config element is automatically included as a dependency.

An example fedora based image containing all hooks can be built and uploaded to glance with the following:

git clone https://git.openstack.org/openstack/diskimage-builder.git
git clone https://git.openstack.org/openstack/tripleo-image-elements.git
git clone https://git.openstack.org/openstack/heat-agents.git
git clone https://git.openstack.org/openstack/dib-utils.git
export PATH="${PWD}/dib-utils/bin:$PATH"
export ELEMENTS_PATH=tripleo-image-elements/elements:heat-agents/
diskimage-builder/bin/disk-image-create vm \
  fedora selinux-permissive \
  os-collect-config \
  os-refresh-config \
  os-apply-config \
  heat-config \
  heat-config-ansible \
  heat-config-cfn-init \
  heat-config-docker-compose \
  heat-config-kubelet \
  heat-config-puppet \
  heat-config-salt \
  heat-config-script \
  -o fedora-software-config.qcow2
openstack image create --disk-format qcow2 --container-format bare fedora-software-config < \
  fedora-software-config.qcow2