Composable Sahara services
[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         enable_hiera: True
35         enable_facter: False
36       inputs:
37       - name: step
38       outputs:
39       - name: result
40       config:
41         list_join:
42         - ''
43         - - get_file: manifests/overcloud_object.pp
44           - get_file: manifests/ringbuilder.pp
45
46   StorageRingbuilderDeployment_Step2:
47     type: OS::Heat::StructuredDeployments
48     depends_on: StorageArtifactsDeploy
49     properties:
50       name: StorageRingbuilderDeployment_Step2
51       servers:  {get_param: servers}
52       config: {get_resource: StoragePuppetConfig}
53       input_values:
54         step: 2
55         update_identifier: {get_param: NodeConfigIdentifiers}
56
57   StorageRingbuilderDeployment_Step3:
58     type: OS::Heat::StructuredDeployments
59     depends_on: StorageRingbuilderDeployment_Step2
60     properties:
61       name: StorageRingbuilderDeployment_Step3
62       servers:  {get_param: servers}
63       config: {get_resource: StoragePuppetConfig}
64       input_values:
65         step: 3
66         update_identifier: {get_param: NodeConfigIdentifiers}
67
68   StorageDeployment_Step4:
69     type: OS::Heat::StructuredDeployments
70     depends_on: StorageRingbuilderDeployment_Step3
71     properties:
72       name: StorageDeployment_Step4
73       servers:  {get_param: servers}
74       config: {get_resource: StoragePuppetConfig}
75       input_values:
76         step: 4
77         update_identifier: {get_param: NodeConfigIdentifiers}
78
79   # Note, this should come last, so use depends_on to ensure
80   # this is created after any other resources.
81   ExtraConfig:
82     depends_on: StorageDeployment_Step4
83     type: OS::TripleO::NodeExtraConfigPost
84     properties:
85         servers: {get_param: servers}
86