a058beeda4
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
91 lines
2.6 KiB
YAML
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}
|
|
|