Files
tripleo-heat-templates/puppet/swift-storage-post.yaml
Dan Prince 337d2c6203 Pass RoleData into -post.yaml stacks
This patch modifies the interface for the -post stacks so
that we pass RoleData instead of just the StepConfig
into each -post.yaml template.

This will facilitate creating other types of -post.yaml scripts
that require more data that just 'step_config'. Things like
containers, etc. will require this.

Change-Id: I2527fc0098192f092f5e9046033a04bc71be2cae
2016-07-01 10:05:04 +01:00

91 lines
2.6 KiB
YAML

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
NodeConfigIdentifiers:
type: json
description: Value which changes if the node configuration may need to be re-applied
RoleData:
type: json
default: {}
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: NodeConfigIdentifiers}
StoragePuppetConfig:
type: OS::Heat::SoftwareConfig
properties:
group: puppet
options:
enable_debug: {get_param: ConfigDebug}
enable_hiera: True
enable_facter: False
inputs:
- name: step
outputs:
- name: result
config:
list_join:
- ''
- - get_file: manifests/overcloud_object.pp
- get_file: manifests/ringbuilder.pp
- {get_param: [RoleData, step_config]}
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: NodeConfigIdentifiers}
StorageRingbuilderDeployment_Step3:
type: OS::Heat::StructuredDeployments
depends_on: StorageRingbuilderDeployment_Step2
properties:
name: StorageRingbuilderDeployment_Step3
servers: {get_param: servers}
config: {get_resource: StoragePuppetConfig}
input_values:
step: 3
update_identifier: {get_param: NodeConfigIdentifiers}
StorageDeployment_Step4:
type: OS::Heat::StructuredDeployments
depends_on: StorageRingbuilderDeployment_Step3
properties:
name: StorageDeployment_Step4
servers: {get_param: servers}
config: {get_resource: StoragePuppetConfig}
input_values:
step: 4
update_identifier: {get_param: NodeConfigIdentifiers}
# 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}