tripleo-heat-templates/puppet/controller-post-puppet.yaml

83 lines
2.4 KiB
YAML

heat_template_version: 2014-10-16
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(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
ControllerDeploymentOvercloudServices_Step5:
type: OS::Heat::StructuredDeployments
depends_on: ControllerDeploymentOvercloudServices_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: ControllerDeploymentOvercloudServices_Step5
type: OS::TripleO::NodeExtraConfigPost
properties:
servers: {get_param: servers}