tripleo-heat-templates/puppet/swift-storage-post.yaml
Jiri Stransky a058beeda4 Use modulepath for Puppet
We only create the /etc/puppet/modules symlinks during image building,
so as we update the openstack-puppet-modules RPM during the lifecycle
of a deployment, the symlinks can get out of date and some modules
aren't find.

This patch adds modulepath for puppet deployments, getting rid of the
need for our Puppet modules to be symlinked from /etc/puppet/modules. If
there are some already symlinked, they will take precedence. Also
modules installed from source to /opt/stack/puppet-modules will take
precedence over packaged modules in /usr/share/openstack-puppet/modules.

Change-Id: I626a596478be7c55500f9e3c7118ef64ff28aaae
Closes-Bug: #1613211
2016-08-17 15:18:23 +02: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
RoleData:
type: json
default: {}
DeployIdentifier:
type: string
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: DeployIdentifier}
StoragePuppetConfig:
type: OS::Heat::SoftwareConfig
properties:
group: puppet
options:
enable_debug: {get_param: ConfigDebug}
enable_hiera: True
enable_facter: False
modulepath: /etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules
inputs:
- name: step
outputs:
- name: result
config:
list_join:
- ''
- - get_file: manifests/overcloud_object.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: DeployIdentifier}
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: DeployIdentifier}
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: DeployIdentifier}
# 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}