59b6afcd35
We added NodeConfigIdentifiers to trigger config to be re-applied on update, but then later added DeployIdentifier which forces config to *always* be applied on update, so we can simplify things by just referencing the DeployIdentifier directly. Change-Id: I79212def1936740825b714419dcb4952bc586a39
117 lines
3.8 KiB
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}
|