tripleo-heat-templates/extraconfig/post_deploy/example_run_on_update.yaml
Steven Hardy 8c0ba4c09e Add ExtraConfig example that always runs on update
Some user feedback indicates we need better examples showing how
we can run an extraconfig template, e.g on post-deploy so that it
runs every update, regardless of if a change to the config has
occurred.  We can leverage DeployIdentifier for this, just like with
the puppet deployments.

This can be tested with an example like this:

resource_registry:
  OS::TripleO::NodeExtraConfigPost: tripleo-heat-templates/extraconfig/post_deploy/example_run_on_update.yaml

Change-Id: I45d8f8093ab45c03238ec56651c437128661cb95
2016-03-23 14:29:50 +00:00

40 lines
1.1 KiB
YAML

heat_template_version: 2014-10-16
description: >
Example extra config for post-deployment, this re-runs every update
# Note extra parameters can be defined, then passed data via the
# environment parameter_defaults, without modifying the parent template
parameters:
servers:
type: json
# This is provided via parameter_defaults from tripleoclient
# it changes to a new timestamp every update, so we can use it to
# trigger the deployment to run even though it and the config are
# otherwise unchanged
DeployIdentifier:
type: string
resources:
ExtraConfig:
type: OS::Heat::SoftwareConfig
properties:
group: script
inputs:
- name: deploy_identifier
config: |
#!/bin/sh
echo "extra_update $deploy_identifier" >> /root/extra_update
ExtraDeployments:
type: OS::Heat::SoftwareDeployments
properties:
name: ExtraDeployments
servers: {get_param: servers}
config: {get_resource: ExtraConfig}
# Do this on CREATE/UPDATE (which is actually the default)
actions: ['CREATE', 'UPDATE']
input_values:
deploy_identifier: {get_param: DeployIdentifier}