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

117 lines
3.8 KiB
YAML

heat_template_version: 2015-04-30
description: >
OpenStack controller node post deployment for Puppet.
parameters:
ConfigDebug:
default: false
description: Whether to run config management (e.g. Puppet) in debug mode.
type: boolean
servers:
type: json
RoleData:
type: json
default: {}
DeployIdentifier:
type: string
description: Value which changes if the node configuration may need to be re-applied
resources:
ControllerArtifactsConfig:
type: deploy-artifacts.yaml
ControllerArtifactsDeploy:
type: OS::Heat::StructuredDeployments
properties:
servers: {get_param: servers}
config: {get_resource: ControllerArtifactsConfig}
ControllerPrePuppet:
type: OS::TripleO::Tasks::ControllerPrePuppet
properties:
servers: {get_param: servers}
input_values:
update_identifier: {get_param: DeployIdentifier}
ControllerPuppetConfig:
type: OS::TripleO::ControllerConfig
properties:
StepConfig: {get_param: [RoleData, step_config]}
# 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
depends_on: [ControllerPrePuppet, ControllerArtifactsDeploy]
properties:
name: ControllerLoadBalancerDeployment_Step1
servers: {get_param: servers}
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 1
update_identifier: {get_param: DeployIdentifier}
ControllerServicesBaseDeployment_Step2:
type: OS::Heat::StructuredDeployments
depends_on: ControllerLoadBalancerDeployment_Step1
properties:
name: ControllerServicesBaseDeployment_Step2
servers: {get_param: servers}
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 2
update_identifier: {get_param: DeployIdentifier}
ControllerOvercloudServicesDeployment_Step3:
type: OS::Heat::StructuredDeployments
depends_on: ControllerServicesBaseDeployment_Step2
properties:
name: ControllerOvercloudServicesDeployment_Step3
servers: {get_param: servers}
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 3
update_identifier: {get_param: DeployIdentifier}
ControllerOvercloudServicesDeployment_Step4:
type: OS::Heat::StructuredDeployments
depends_on: ControllerOvercloudServicesDeployment_Step3
properties:
name: ControllerOvercloudServicesDeployment_Step4
servers: {get_param: servers}
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 4
update_identifier: {get_param: DeployIdentifier}
ControllerOvercloudServicesDeployment_Step5:
type: OS::Heat::StructuredDeployments
depends_on: ControllerOvercloudServicesDeployment_Step4
properties:
name: ControllerOvercloudServicesDeployment_Step5
servers: {get_param: servers}
config: {get_resource: ControllerPuppetConfig}
input_values:
step: 5
update_identifier: {get_param: DeployIdentifier}
ControllerPostPuppet:
type: OS::TripleO::Tasks::ControllerPostPuppet
depends_on: ControllerOvercloudServicesDeployment_Step5
properties:
servers: {get_param: servers}
input_values:
update_identifier: {get_param: DeployIdentifier}
# Note, this should come last, so use depends_on to ensure
# this is created after any other resources.
ExtraConfig:
depends_on: ControllerPostPuppet
type: OS::TripleO::NodeExtraConfigPost
properties:
servers: {get_param: servers}