tripleo-heat-templates/puppet/controller-post-puppet.yaml
Steven Hardy b8b5ca12be Add hooks for extra post-deployment config
Adds optional hooks which can run operator defined additional config on
nodes after the application deployment has completed.

Change-Id: I3f99e648efad82ce2cd51e2d5168c716f0cee8fe
2015-04-24 10:19:04 +01:00

83 lines
2.3 KiB
YAML

heat_template_version: 2014-10-16
description: >
OpenStack controller node post deployment for Puppet.
parameters:
servers:
type: json
resources:
ControllerPuppetConfig:
type: OS::Heat::SoftwareConfig
properties:
group: puppet
options:
enable_hiera: True
enable_facter: False
outputs:
- name: result
config:
get_file: manifests/overcloud_controller.pp
# Step through a series of Puppet runs using the same manifest.
# NOTE(dprince): Heat breakpoints would make for a really cool way to step
# through breakpoints in a controlled manner across the entire cluster
ControllerDeploymentLoadBalancer_Step1:
type: OS::Heat::StructuredDeployments
properties:
servers: {get_param: servers}
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 1
actions: ['CREATE'] # no need for two passes on an UPDATE
ControllerDeploymentServicesBase_Step2:
type: OS::Heat::StructuredDeployments
depends_on: ControllerDeploymentLoadBalancer_Step1
properties:
servers: {get_param: servers}
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 2
actions: ['CREATE'] # no need for two passes on an UPDATE
ControllerRingbuilderPuppetConfig:
type: OS::Heat::SoftwareConfig
properties:
group: puppet
options:
enable_hiera: True
enable_facter: False
inputs:
outputs:
- name: result
config:
get_file: manifests/ringbuilder.pp
ControllerRingbuilderDeployment_Step3:
type: OS::Heat::StructuredDeployments
depends_on: ControllerDeploymentServicesBase_Step2
properties:
servers: {get_param: servers}
config: {get_resource: ControllerRingbuilderPuppetConfig}
ControllerDeploymentOvercloudServices_Step4:
type: OS::Heat::StructuredDeployments
depends_on: ControllerRingbuilderDeployment_Step3
properties:
servers: {get_param: servers}
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 3
# Note, this should come last, so use depends_on to ensure
# this is created after any other resources.
ExtraConfig:
depends_on: ControllerDeploymentOvercloudServices_Step4
type: OS::TripleO::NodeExtraConfigPost
properties:
servers: {get_param: servers}