Fix bad indentation
[apex-tripleo-heat-templates.git] / undercloud-source.yaml
1 Description: All-in-one baremetal OpenStack and all dependencies.
2 HeatTemplateFormatVersion: '2012-12-12'
3 Parameters:
4   AdminPassword:
5     Default: unset
6     Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
7     Type: String
8     NoEcho: true
9   AdminToken:
10     Default: unset
11     Description: The keystone auth secret.
12     Type: String
13     NoEcho: true
14   BaremetalArch:
15     Default: i386
16     Description: The architecture to use in Nova-BM - i386 or amd64.
17     Type: String
18   Flavor:
19     Default: baremetal
20     Description: Flavor to request when deploying.
21     Type: String
22   GlancePassword:
23     Default: unset
24     Description: The password for the glance service account, used by the glance services.
25     Type: String
26     NoEcho: true
27   GlanceNotifierStrategy:
28     Description: Strategy to use for Glance notification queue
29     Type: String
30     Default: noop
31   GlanceLogFile:
32     Description: The filepath of the file to use for logging messages from Glance.
33     Type: String
34     Default: ''
35   KeyName:
36     Default: default
37     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
38     Type: String
39   HeatPassword:
40     Default: unset
41     Description: The password for the Heat service account, used by the Heat services.
42     Type: String
43     NoEcho: true
44   undercloudImage:
45     Default: undercloud
46     Type: String
47   NeutronPassword:
48     Default: unset
49     Description: The password for the neutron service account, used by neutron agents.
50     Type: String
51     NoEcho: true
52   NovaPassword:
53     Default: unset
54     Description: The password for the nova service account, used by nova-api.
55     Type: String
56     NoEcho: true
57   RabbitUserName:
58     Default: guest
59     Description: The username for RabbitMQ
60     Type: String
61   RabbitPassword:
62     Default: guest
63     Description: The password for RabbitMQ
64     Type: String
65     NoEcho: true
66 Resources:
67   AccessPolicy:
68     Properties:
69       AllowedResources:
70       - undercloudConfig
71     Type: OS::Heat::AccessPolicy
72   notCompute0Key:
73     Properties:
74       UserName:
75         Ref: User
76     Type: AWS::IAM::AccessKey
77   notCompute0CompletionCondition:
78     Type: AWS::CloudFormation::WaitCondition
79     DependsOn: undercloud
80     Properties:
81       Handle: {Ref: notCompute0CompletionHandle}
82       Count: '1'
83       Timeout: '1800'
84   notCompute0CompletionHandle:
85     Type: AWS::CloudFormation::WaitConditionHandle
86   User:
87     Properties:
88       Policies:
89       - Ref: AccessPolicy
90     Type: AWS::IAM::User
91   undercloudConfig:
92     Type: AWS::AutoScaling::LaunchConfiguration
93     Properties:
94       ImageId: '0'
95       InstanceType: foo
96     Metadata:
97       OpenStack::Role: undercloudConfig
98       OpenStack::Heat::Stack: {}
99       OpenStack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, neutron-network-node ]
100       admin-password:
101         Ref: AdminPassword
102       admin-token: 
103         Ref: AdminToken
104       controller-address:
105         Fn::Select:
106           - 0
107           - Fn::Select:
108             - "ctlplane"
109             - Fn::GetAtt:
110               - undercloud
111               - networks
112       cinder:
113         db: mysql://cinder:unset@localhost/cinder
114         volume_size_mb: '5000'
115       completion-handle:
116         Ref: notCompute0CompletionHandle
117       db-password: unset
118       glance:
119         backend: file
120         db: mysql://glance:unset@localhost/glance
121         host: 127.0.0.1
122         service-password:
123           Ref: GlancePassword
124         notifier-strategy:
125           Ref: GlanceNotifierStrategy
126         log-file:
127           Ref: GlanceLogFile
128       heat:
129         admin_password:
130           Ref: HeatPassword
131         admin_tenant_name: service
132         admin_user: heat
133         auth_encryption_key: unset___________
134         db: mysql://heat:unset@localhost/heat
135         watch_server_url:
136           Fn::Join:
137             - ''
138             - - http://
139               - Fn::Select:
140                   - 0
141                   - Fn::Select:
142                     - "ctlplane"
143                     - Fn::GetAtt:
144                       - undercloud
145                       - networks
146               - ":8003"
147         metadata_server_url:
148           Fn::Join:
149             - ''
150             - - http://
151               - Fn::Select:
152                   - 0
153                   - Fn::Select:
154                     - "ctlplane"
155                     - Fn::GetAtt:
156                       - undercloud
157                       - networks
158               - ":8000"
159         waitcondition_server_url:
160           Fn::Join:
161             - ''
162             - - http://
163               - Fn::Select:
164                   - 0
165                   - Fn::Select:
166                     - "ctlplane"
167                     - Fn::GetAtt:
168                       - undercloud
169                       - networks
170               - ":8000/v1/waitcondition"
171       os-collect-config:
172         cfn:
173           access_key_id:
174             Ref: notCompute0Key
175           path: undercloudConfig.Metadata
176           secret_access_key:
177             Fn::GetAtt:
178             - notCompute0Key
179             - SecretAccessKey
180           stack_name:
181             Ref: AWS::StackName
182       keystone:
183         db: mysql://keystone:unset@localhost/keystone
184         host: 127.0.0.1
185       neutron:
186         host: 127.0.0.1
187         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
188         ovs:
189           dnsmasq_range: [192.0.2.25, 192.0.2.44]
190           public_interface:
191             Ref: NeutronPublicInterface
192           physical_bridge: br-ctlplane
193           physical_network: ctlplane
194           network_vlan_ranges: ctlplane
195           bridge_mappings: ctlplane:br-ctlplane
196           tenant_network_type: vlan
197           enable_tunneling: 'False'
198         service-password:
199           Ref: NeutronPassword
200       rabbit:
201         host: 127.0.0.1
202         username:
203           Ref: RabbitUserName
204         password:
205           Ref: RabbitPassword
206   undercloud:
207     Type: OS::Nova::Server
208     Properties:
209       image:
210         Ref: undercloudImage
211       flavor:
212         Ref: Flavor
213       key_name:
214         Ref: KeyName
215     Metadata:
216       os-collect-config:
217         cfn:
218           access_key_id:
219             Ref: notCompute0Key
220           path: undercloudConfig.Metadata
221           secret_access_key:
222             Fn::GetAtt:
223             - notCompute0Key
224             - SecretAccessKey
225           stack_name:
226             Ref: AWS::StackName