tripleo-heat-templates/puppet/controller-post-puppet.yaml
Steven Hardy 23c329bbb9 Align puppet Controller post-deploy Deployment names
Align all Deployment resource so we can use a glob convention for
stepped deployments via heat hooks/breakpoints.

Since most resources already use a FooDeployment_StepN convention,
align those which deviate from this as a precursor to supporting
stepped deployment, e.g stepping through "*Deployment_Step*".

Change-Id: I6bfee04649aa36116d1141ebe06d08b310ec8939
2015-05-21 17:44:47 +01:00

83 lines
2.5 KiB
YAML

heat_template_version: 2015-04-30
description: >
OpenStack controller node post deployment for Puppet.
parameters:
servers:
type: json
resources:
ControllerPuppetConfig:
type: OS::TripleO::ControllerConfig
# Step through a series of Puppet runs using the same manifest.
# NOTE: To enable stepping through the deployments via heat hooks,
# you must observe the glob naming defined in overcloud-steps.yaml
# e.g all Deployment resources should have a *Deployment_StepN suffix
ControllerLoadBalancerDeployment_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
ControllerServicesBaseDeployment_Step2:
type: OS::Heat::StructuredDeployments
depends_on: ControllerLoadBalancerDeployment_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: ControllerServicesBaseDeployment_Step2
properties:
servers: {get_param: servers}
config: {get_resource: ControllerRingbuilderPuppetConfig}
ControllerOvercloudServicesDeployment_Step4:
type: OS::Heat::StructuredDeployments
depends_on: ControllerRingbuilderDeployment_Step3
properties:
servers: {get_param: servers}
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 3
ControllerOvercloudServicesDeployment_Step5:
type: OS::Heat::StructuredDeployments
depends_on: ControllerOvercloudServicesDeployment_Step4
properties:
servers: {get_param: servers}
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 4
# Note, this should come last, so use depends_on to ensure
# this is created after any other resources.
ExtraConfig:
depends_on: ControllerOvercloudServicesDeployment_Step5
type: OS::TripleO::NodeExtraConfigPost
properties:
servers: {get_param: servers}