ec3137dc6e
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
57 lines
1.5 KiB
YAML
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}
|
|
|