-heat_template_version: 2014-10-16
-description: 'Swift Storage Post Deployment'
-# NOTE: this is a noop for os-apply-config style deployments because
-# post deployment ordering is controlled by tripleo-image-elements
+heat_template_version: 2015-04-30
+description: 'OpenStack swift storage 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:
+ StorageArtifactsConfig:
+ type: deploy-artifacts.yaml
+
+ StorageArtifactsDeploy:
+ type: OS::Heat::StructuredDeployments
+ properties:
+ servers: {get_param: servers}
+ config: {get_resource: StorageArtifactsConfig}
+ input_values:
+ update_identifier: {get_param: DeployIdentifier}
+
StoragePuppetConfig:
type: OS::Heat::SoftwareConfig
properties:
group: puppet
+ options:
+ enable_debug: {get_param: ConfigDebug}
+ enable_hiera: True
+ enable_facter: False
+ modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules
+ inputs:
+ - name: step
outputs:
- name: result
config:
- get_file: manifests/overcloud_object.pp
+ list_join:
+ - ''
+ - - get_file: manifests/overcloud_object.pp
+ - {get_param: [RoleData, step_config]}
- StorageDeployment_Step1:
+ StorageRingbuilderDeployment_Step2:
type: OS::Heat::StructuredDeployments
+ depends_on: StorageArtifactsDeploy
properties:
+ name: StorageRingbuilderDeployment_Step2
servers: {get_param: servers}
config: {get_resource: StoragePuppetConfig}
+ input_values:
+ step: 2
+ update_identifier: {get_param: DeployIdentifier}
- StorageRingbuilderPuppetConfig:
- type: OS::Heat::SoftwareConfig
+ StorageRingbuilderDeployment_Step3:
+ type: OS::Heat::StructuredDeployments
+ depends_on: StorageRingbuilderDeployment_Step2
properties:
- group: puppet
- outputs:
- - name: result
- config:
- get_file: manifests/ringbuilder.pp
+ name: StorageRingbuilderDeployment_Step3
+ servers: {get_param: servers}
+ config: {get_resource: StoragePuppetConfig}
+ input_values:
+ step: 3
+ update_identifier: {get_param: DeployIdentifier}
- StorageRingbuilderDeployment_Step2:
+ StorageDeployment_Step4:
type: OS::Heat::StructuredDeployments
- depends_on: StorageDeployment_Step1
+ depends_on: StorageRingbuilderDeployment_Step3
properties:
+ name: StorageDeployment_Step4
servers: {get_param: servers}
- config: {get_resource: StorageRingbuilderPuppetConfig}
+ config: {get_resource: StoragePuppetConfig}
+ input_values:
+ step: 4
+ 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: StorageDeployment_Step4
+ type: OS::TripleO::NodeExtraConfigPost
+ properties:
+ servers: {get_param: servers}
+