tripleo-heat-templates/docker/services
Dan Prince 9d82796da2 docker: eliminate copy-json.py in favor of json-file
This patch rewires how we configure the Kolla external config files
via Heat templates and uses a more simple json-file heat hook to
directly write out Kolla config files to disk.

By using a heat hook instead of a shell script we can avoid
Json conversion issues.  Additionally, This generic json file hook will
be useful for other ad-hoc Json file configuration within the TripleO
docker architecture.

Co-Authored-By: Martin André <m.andre@redhat.com>
Change-Id: I8c72a4a9a7022f722bfe1cef3e18517605720cce
Depends-On: I2b372ac2e291339e436202c9fe58a681ed6a743f
Depends-On: Id3f779b11e23fd3122ef29b7ccbae116667d4520
2017-01-29 08:16:19 -05:00
..
neutron-ovs-agent.yaml docker: eliminate copy-json.py in favor of json-file 2017-01-29 08:16:19 -05:00
nova-compute.yaml docker: eliminate copy-json.py in favor of json-file 2017-01-29 08:16:19 -05:00
nova-libvirt.yaml docker: eliminate copy-json.py in favor of json-file 2017-01-29 08:16:19 -05:00
README.rst docker: eliminate copy-json.py in favor of json-file 2017-01-29 08:16:19 -05:00
services.yaml docker: eliminate copy-json.py in favor of json-file 2017-01-29 08:16:19 -05:00

services

A TripleO nested stack Heat template that encapsulates generic configuration data to configure a specific service. This generally includes everything needed to configure the service excluding the local bind ports which are still managed in the per-node role templates directly (controller.yaml, compute.yaml, etc.). All other (global) service settings go into the puppet/service templates.

Input Parameters

Each service may define its own input parameters and defaults. Operators will use the parameter_defaults section of any Heat environment to set per service parameters.

Config Settings

Each service may define a config_settings output variable which returns Hiera settings to be configured.

Steps

Each service may define an output variable which returns a puppet manifest snippet that will run at each of the following steps. Earlier manifests are re-asserted when applying latter ones.

  • config_settings: Custom hiera settings for this service. These are used to generate configs.
  • kolla_config: Contains YAML that represents how to map config files into the kolla container. This config file is typically mapped into the container itself at the /var/lib/kolla/config_files/config.json location and drives how kolla's external config mechanisms work.
  • step_config: A puppet manifest that is used to step through the deployment sequence. Each sequence is given a "step" (via hiera('step') that provides information for when puppet classes should activate themselves.
  • docker_compose:
  • container_name:
  • volumes:

Steps correlate to the following:

  1. Service configuration generation with puppet.
  2. Early Openstack Service setup (database init?)
  3. Early containerized networking services startup (OVS)
  4. Network configuration
  5. General OpenStack Services
  6. Service activation (Pacemaker)
  7. Fencing (Pacemaker)