tripleo-heat-templates/puppet/swift-storage-post.yaml
Dan Prince 55054f02d7 Add support for DeployArtifactURLs
Adds a new nested stack deployment which allows operators to
opt-in to deploy tarball's and RPM packages by setting
DeployArtifactURLs as a parameter_default in a Heat
environment.

The intent is to use this setting to allow t-h-t to
transparently deploy things like tarballs of puppet modules
via a Swift Temp URL.

Change-Id: I1bad4a4a79cf297f5b6e439e0657269738b5f326
Implements: blueprint puppet-modules-deployment-via-swift
2016-02-26 16:55:44 -05:00

78 lines
2.2 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
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}
outputs:
- name: result
config:
get_file: manifests/overcloud_object.pp
StorageDeployment_Step1:
type: OS::Heat::StructuredDeployments
depends_on: StorageArtifactsDeploy
properties:
name: StorageDeployment_Step1
servers: {get_param: servers}
config: {get_resource: StoragePuppetConfig}
input_values:
update_identifier: {get_param: NodeConfigIdentifiers}
StorageRingbuilderPuppetConfig:
type: OS::Heat::SoftwareConfig
properties:
group: puppet
options:
enable_debug: {get_param: ConfigDebug}
outputs:
- name: result
config:
get_file: manifests/ringbuilder.pp
StorageRingbuilderDeployment_Step2:
type: OS::Heat::StructuredDeployments
depends_on: StorageDeployment_Step1
properties:
name: StorageRingbuilderDeployment_Step2
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}