698cadbac94f0a8920e914f50ea6f9912a306048
[apex-tripleo-heat-templates.git] / puppet / compute-post.yaml
1 heat_template_version: 2015-04-30
2
3 description: >
4   OpenStack compute node post deployment for Puppet.
5
6 parameters:
7   ConfigDebug:
8     default: false
9     description: Whether to run config management (e.g. Puppet) in debug mode.
10     type: boolean
11   servers:
12     type: json
13   NodeConfigIdentifiers:
14      type: json
15      description: Value which changes if the node configuration may need to be re-applied
16   StepConfig:
17      type: string
18      description: Config manifests that will be used to step through the deployment.
19      default: ''
20
21 resources:
22
23   ComputeArtifactsConfig:
24     type: deploy-artifacts.yaml
25
26   ComputeArtifactsDeploy:
27     type: OS::Heat::StructuredDeployments
28     properties:
29       servers:  {get_param: servers}
30       config: {get_resource: ComputeArtifactsConfig}
31       input_values:
32         update_identifier: {get_param: NodeConfigIdentifiers}
33
34   ComputePuppetConfig:
35     type: OS::Heat::SoftwareConfig
36     properties:
37       group: puppet
38       options:
39         enable_debug: {get_param: ConfigDebug}
40         enable_hiera: True
41         enable_facter: False
42       inputs:
43       - name: step
44       outputs:
45       - name: result
46       config:
47         list_join:
48         - ''
49         - - get_file: manifests/overcloud_compute.pp
50           - {get_param: StepConfig}
51
52   ComputeServicesBaseDeployment_Step2:
53     type: OS::Heat::StructuredDeployments
54     depends_on: [ComputeArtifactsDeploy]
55     properties:
56       name: ComputeServicesBaseDeployment_Step2
57       servers:  {get_param: servers}
58       config: {get_resource: ComputePuppetConfig}
59       input_values:
60         step: 2
61         update_identifier: {get_param: NodeConfigIdentifiers}
62
63   ComputeOvercloudServicesDeployment_Step3:
64     type: OS::Heat::StructuredDeployments
65     depends_on: ComputeServicesBaseDeployment_Step2
66     properties:
67       name: ComputeOvercloudServicesDeployment_Step3
68       servers:  {get_param: servers}
69       config: {get_resource: ComputePuppetConfig}
70       input_values:
71         step: 3
72         update_identifier: {get_param: NodeConfigIdentifiers}
73
74   ComputeOvercloudServicesDeployment_Step4:
75     type: OS::Heat::StructuredDeployments
76     depends_on: ComputeOvercloudServicesDeployment_Step3
77     properties:
78       name: ComputeOvercloudServicesDeployment_Step4
79       servers:  {get_param: servers}
80       config: {get_resource: ComputePuppetConfig}
81       input_values:
82         step: 4
83         update_identifier: {get_param: NodeConfigIdentifiers}
84
85   # Note, this should come last, so use depends_on to ensure
86   # this is created after any other resources.
87   ExtraConfig:
88     depends_on: ComputeOvercloudServicesDeployment_Step4
89     type: OS::TripleO::NodeExtraConfigPost
90     properties:
91         servers: {get_param: servers}
92