tripleo-heat-templates/puppet/swift-storage-post.yaml
Steven Hardy ec3137dc6e Make puppet-applying *Post resources depend on hieradata
When you do a stack-update which affects, e.g ControllerDeployment
such that some value in hieradata is updated (for example changing
the "Debug" parameter to True), we only write the hieradata file and
don't reapply the manifests.

So we introduce a dependency on the deploy_stdout values from all
hieradata applying configs, such that the manifests will be re-applied
on update if the data is changed.

This requires https://review.openstack.org/#/c/190282/ so that
99-refresh-completed will return the derived config ID as part of the
deploy_stdout payload.

Closes-Bug: #1463092
Change-Id: I1175248c3236d0c42e37d062afce550efce8aadc
2015-06-16 04:12:09 -04:00

57 lines
1.5 KiB
YAML

heat_template_version: 2015-04-30
description: 'OpenStack swift storage node post deployment for Puppet'
parameters:
servers:
type: json
NodeConfigIdentifiers:
type: json
description: Value which changes if the node configuration may need to be re-applied
resources:
StoragePuppetConfig:
type: OS::Heat::SoftwareConfig
properties:
group: puppet
outputs:
- name: result
config:
get_file: manifests/overcloud_object.pp
StorageDeployment_Step1:
type: OS::Heat::StructuredDeployments
properties:
servers: {get_param: servers}
config: {get_resource: StoragePuppetConfig}
input_values:
update_identifier: {get_param: NodeConfigIdentifiers}
StorageRingbuilderPuppetConfig:
type: OS::Heat::SoftwareConfig
properties:
group: puppet
outputs:
- name: result
config:
get_file: manifests/ringbuilder.pp
StorageRingbuilderDeployment_Step2:
type: OS::Heat::StructuredDeployments
depends_on: StorageDeployment_Step1
properties:
servers: {get_param: servers}
config: {get_resource: StorageRingbuilderPuppetConfig}
input_values:
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: StorageRingbuilderDeployment_Step2
type: OS::TripleO::NodeExtraConfigPost
properties:
servers: {get_param: servers}