Increase PXE deployment timeout for overcloud
[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   CeilometerMeteringSecret:
19     Default: unset
20     Description: Secret shared by the ceilometer services.
21     Type: String
22     NoEcho: true
23   CeilometerPassword:
24     Default: unset
25     Description: The password for the ceilometer service account.
26     Type: String
27     NoEcho: true
28   Flavor:
29     Default: baremetal
30     Description: Flavor to request when deploying.
31     Type: String
32   GlancePassword:
33     Default: unset
34     Description: The password for the glance service account, used by the glance services.
35     Type: String
36     NoEcho: true
37   GlanceNotifierStrategy:
38     Description: Strategy to use for Glance notification queue
39     Type: String
40     Default: noop
41   GlanceLogFile:
42     Description: The filepath of the file to use for logging messages from Glance.
43     Type: String
44     Default: ''
45   KeyName:
46     Default: default
47     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
48     Type: String
49   HeatPassword:
50     Default: unset
51     Description: The password for the Heat service account, used by the Heat services.
52     Type: String
53     NoEcho: true
54   ImageUpdatePolicy:
55     Default: REBUILD_PRESERVE_EPHEMERAL
56     Description: What policy to use when reconstructing instances. REBUILD for rebuilds,
57       REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
58     Type: String
59   undercloudImage:
60     Default: undercloud
61     Type: String
62   NeutronPassword:
63     Default: unset
64     Description: The password for the neutron service account, used by neutron agents.
65     Type: String
66     NoEcho: true
67   NovaPassword:
68     Default: unset
69     Description: The password for the nova service account, used by nova-api.
70     Type: String
71     NoEcho: true
72   NtpServer:
73     Type: String
74     Default: ''
75   RabbitUserName:
76     Default: guest
77     Description: The username for RabbitMQ
78     Type: String
79   RabbitPassword:
80     Default: guest
81     Description: The password for RabbitMQ
82     Type: String
83     NoEcho: true
84   RabbitCookieSalt:
85     Type: String
86     Default: unset
87     Description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
88   HeatStackDomainAdminPassword:
89     Description: Password for heat_domain_admin user.
90     Type: String
91     Default: ''
92     NoEcho: true
93   MysqlInnodbBufferPoolSize:
94     Description: Specifies the size of the buffer pool in megabytes.
95     Type: Number
96     Default: 100
97 Resources:
98   RabbitCookie:
99     Type: OS::Heat::RandomString
100     Properties:
101       length: 20
102       salt:
103         Ref: RabbitCookieSalt
104   AccessPolicy:
105     Properties:
106       AllowedResources:
107       - undercloudConfig
108     Type: OS::Heat::AccessPolicy
109   controller0Key:
110     Properties:
111       UserName:
112         Ref: User
113     Type: AWS::IAM::AccessKey
114   controller0CompletionCondition:
115     Type: AWS::CloudFormation::WaitCondition
116     DependsOn: undercloud
117     Properties:
118       Handle: {Ref: controller0CompletionHandle}
119       Count: '1'
120       Timeout: '1800'
121   controller0CompletionHandle:
122     Type: AWS::CloudFormation::WaitConditionHandle
123   User:
124     Properties:
125       Policies:
126       - Ref: AccessPolicy
127     Type: AWS::IAM::User
128   undercloudConfig:
129     Type: AWS::AutoScaling::LaunchConfiguration
130     Properties:
131       ImageId: '0'
132       InstanceType: foo
133     Metadata:
134       OpenStack::Role: undercloudConfig
135       OpenStack::Heat::Stack: {}
136       OpenStack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, neutron-network-node ]
137       admin-password:
138         Ref: AdminPassword
139       admin-token:
140         Ref: AdminToken
141       controller-address:
142         Fn::Select:
143           - 0
144           - Fn::Select:
145             - "ctlplane"
146             - Fn::GetAtt:
147               - undercloud
148               - networks
149       ceilometer:
150         db: mysql://ceilometer:unset@localhost/ceilometer
151         metering_secret: {Ref: CeilometerMeteringSecret}
152         service-password:
153           Ref: CeilometerPassword
154       cinder:
155         db: mysql://cinder:unset@localhost/cinder
156         volume_size_mb: '5000'
157       completion-handle:
158         Ref: controller0CompletionHandle
159       db-password: unset
160       glance:
161         backend: file
162         db: mysql://glance:unset@localhost/glance
163         host: 127.0.0.1
164         service-password:
165           Ref: GlancePassword
166         notifier-strategy:
167           Ref: GlanceNotifierStrategy
168         log-file:
169           Ref: GlanceLogFile
170       heat:
171         admin_password:
172           Ref: HeatPassword
173         admin_tenant_name: service
174         admin_user: heat
175         auth_encryption_key: unset___________
176         db: mysql://heat:unset@localhost/heat
177         stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
178         watch_server_url:
179           Fn::Join:
180             - ''
181             - - http://
182               - Fn::Select:
183                   - 0
184                   - Fn::Select:
185                     - "ctlplane"
186                     - Fn::GetAtt:
187                       - undercloud
188                       - networks
189               - ":8003"
190         metadata_server_url:
191           Fn::Join:
192             - ''
193             - - http://
194               - Fn::Select:
195                   - 0
196                   - Fn::Select:
197                     - "ctlplane"
198                     - Fn::GetAtt:
199                       - undercloud
200                       - networks
201               - ":8000"
202         waitcondition_server_url:
203           Fn::Join:
204             - ''
205             - - http://
206               - Fn::Select:
207                   - 0
208                   - Fn::Select:
209                     - "ctlplane"
210                     - Fn::GetAtt:
211                       - undercloud
212                       - networks
213               - ":8000/v1/waitcondition"
214       os-collect-config:
215         cfn:
216           access_key_id:
217             Ref: controller0Key
218           path: undercloudConfig.Metadata
219           secret_access_key:
220             Fn::GetAtt:
221             - controller0Key
222             - SecretAccessKey
223           stack_name:
224             Ref: AWS::StackName
225       keystone:
226         db: mysql://keystone:unset@localhost/keystone
227         host: 127.0.0.1
228       mysql:
229         innodb_buffer_pool_size: {Ref: MysqlInnodbBufferPoolSize}
230       neutron:
231         host: 127.0.0.1
232         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
233         ovs:
234           public_interface:
235             Ref: NeutronPublicInterface
236           physical_bridge: br-ctlplane
237           physical_network: ctlplane
238           network_vlan_ranges: ctlplane
239           bridge_mappings: ctlplane:br-ctlplane
240           tenant_network_type: vlan
241           enable_tunneling: 'False'
242         service-password:
243           Ref: NeutronPassword
244       ntp:
245         servers:
246             - {server: {Ref: NtpServer}, fudge: "stratum 0"}
247       rabbit:
248         host: 127.0.0.1
249         username:
250           Ref: RabbitUserName
251         password:
252           Ref: RabbitPassword
253         cookie:
254           Fn::GetAtt:
255           - RabbitCookie
256           - value
257   undercloud:
258     Type: OS::Nova::Server
259     Properties:
260       image:
261         Ref: undercloudImage
262       flavor:
263         Ref: Flavor
264       key_name:
265         Ref: KeyName
266       image_update_policy:
267         Ref: ImageUpdatePolicy
268     Metadata:
269       os-collect-config:
270         cfn:
271           access_key_id:
272             Ref: controller0Key
273           path: undercloudConfig.Metadata
274           secret_access_key:
275             Fn::GetAtt:
276             - controller0Key
277             - SecretAccessKey
278           stack_name:
279             Ref: AWS::StackName