Merge "Add HostnameMap to allow granular control of hostnames"
[apex-tripleo-heat-templates.git] / puppet / swift-storage-post.yaml
1 heat_template_version: 2015-04-30
2 description: 'OpenStack swift storage node post deployment for Puppet'
3
4 parameters:
5   ConfigDebug:
6     default: false
7     description: Whether to run config management (e.g. Puppet) in debug mode.
8     type: boolean
9   servers:
10     type: json
11   NodeConfigIdentifiers:
12      type: json
13      description: Value which changes if the node configuration may need to be re-applied
14
15 resources:
16
17   StorageArtifactsConfig:
18     type: deploy-artifacts.yaml
19
20   StorageArtifactsDeploy:
21     type: OS::Heat::StructuredDeployments
22     properties:
23       servers:  {get_param: servers}
24       config: {get_resource: StorageArtifactsConfig}
25       input_values:
26         update_identifier: {get_param: NodeConfigIdentifiers}
27
28   StoragePuppetConfig:
29     type: OS::Heat::SoftwareConfig
30     properties:
31       group: puppet
32       options:
33         enable_debug: {get_param: ConfigDebug}
34       outputs:
35       - name: result
36       config:
37         get_file: manifests/overcloud_object.pp
38
39   StorageDeployment_Step1:
40     type: OS::Heat::StructuredDeployments
41     depends_on: StorageArtifactsDeploy
42     properties:
43       name: StorageDeployment_Step1
44       servers:  {get_param: servers}
45       config: {get_resource: StoragePuppetConfig}
46       input_values:
47         update_identifier: {get_param: NodeConfigIdentifiers}
48
49   StorageRingbuilderPuppetConfig:
50     type: OS::Heat::SoftwareConfig
51     properties:
52       group: puppet
53       options:
54         enable_debug: {get_param: ConfigDebug}
55       outputs:
56       - name: result
57       config:
58         get_file: manifests/ringbuilder.pp
59
60   StorageRingbuilderDeployment_Step2:
61     type: OS::Heat::StructuredDeployments
62     depends_on: StorageDeployment_Step1
63     properties:
64       name: StorageRingbuilderDeployment_Step2
65       servers:  {get_param: servers}
66       config: {get_resource: StorageRingbuilderPuppetConfig}
67       input_values:
68         update_identifier: {get_param: NodeConfigIdentifiers}
69
70   # Note, this should come last, so use depends_on to ensure
71   # this is created after any other resources.
72   ExtraConfig:
73     depends_on: StorageRingbuilderDeployment_Step2
74     type: OS::TripleO::NodeExtraConfigPost
75     properties:
76         servers: {get_param: servers}
77