Drop dnsmasq_range from the undercloud source.
[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   ImageUpdatePolicy:
45     Default: REPLACE
46     Description: What policy to use when reconstructing instances. REBUILD for rebuilds,
47       REBUILD_PRESERVE_EPHEMERAL to preserve /mnt.
48     Type: String
49   undercloudImage:
50     Default: undercloud
51     Type: String
52   NeutronPassword:
53     Default: unset
54     Description: The password for the neutron service account, used by neutron agents.
55     Type: String
56     NoEcho: true
57   NovaPassword:
58     Default: unset
59     Description: The password for the nova service account, used by nova-api.
60     Type: String
61     NoEcho: true
62   RabbitUserName:
63     Default: guest
64     Description: The username for RabbitMQ
65     Type: String
66   RabbitPassword:
67     Default: guest
68     Description: The password for RabbitMQ
69     Type: String
70     NoEcho: true
71   RabbitCookieSalt:
72     Type: String
73     Default: unset
74     Description: Salt for the rabbit cookie, change this to force the randomly generated rabbit cookie to change.
75   HeatStackDomainAdminPassword:
76     Description: Password for heat_domain_admin user.
77     Type: String
78     Default: ''
79     NoEcho: true
80 Resources:
81   RabbitCookie:
82     Type: OS::Heat::RandomString
83     Properties:
84       length: 20
85       salt:
86         Ref: RabbitCookieSalt
87   AccessPolicy:
88     Properties:
89       AllowedResources:
90       - undercloudConfig
91     Type: OS::Heat::AccessPolicy
92   notCompute0Key:
93     Properties:
94       UserName:
95         Ref: User
96     Type: AWS::IAM::AccessKey
97   notCompute0CompletionCondition:
98     Type: AWS::CloudFormation::WaitCondition
99     DependsOn: undercloud
100     Properties:
101       Handle: {Ref: notCompute0CompletionHandle}
102       Count: '1'
103       Timeout: '1800'
104   notCompute0CompletionHandle:
105     Type: AWS::CloudFormation::WaitConditionHandle
106   User:
107     Properties:
108       Policies:
109       - Ref: AccessPolicy
110     Type: AWS::IAM::User
111   undercloudConfig:
112     Type: AWS::AutoScaling::LaunchConfiguration
113     Properties:
114       ImageId: '0'
115       InstanceType: foo
116     Metadata:
117       OpenStack::Role: undercloudConfig
118       OpenStack::Heat::Stack: {}
119       OpenStack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, neutron-network-node ]
120       admin-password:
121         Ref: AdminPassword
122       admin-token: 
123         Ref: AdminToken
124       controller-address:
125         Fn::Select:
126           - 0
127           - Fn::Select:
128             - "ctlplane"
129             - Fn::GetAtt:
130               - undercloud
131               - networks
132       cinder:
133         db: mysql://cinder:unset@localhost/cinder
134         volume_size_mb: '5000'
135       completion-handle:
136         Ref: notCompute0CompletionHandle
137       db-password: unset
138       glance:
139         backend: file
140         db: mysql://glance:unset@localhost/glance
141         host: 127.0.0.1
142         service-password:
143           Ref: GlancePassword
144         notifier-strategy:
145           Ref: GlanceNotifierStrategy
146         log-file:
147           Ref: GlanceLogFile
148       heat:
149         admin_password:
150           Ref: HeatPassword
151         admin_tenant_name: service
152         admin_user: heat
153         auth_encryption_key: unset___________
154         db: mysql://heat:unset@localhost/heat
155         stack_domain_admin_password: {Ref: HeatStackDomainAdminPassword}
156         watch_server_url:
157           Fn::Join:
158             - ''
159             - - http://
160               - Fn::Select:
161                   - 0
162                   - Fn::Select:
163                     - "ctlplane"
164                     - Fn::GetAtt:
165                       - undercloud
166                       - networks
167               - ":8003"
168         metadata_server_url:
169           Fn::Join:
170             - ''
171             - - http://
172               - Fn::Select:
173                   - 0
174                   - Fn::Select:
175                     - "ctlplane"
176                     - Fn::GetAtt:
177                       - undercloud
178                       - networks
179               - ":8000"
180         waitcondition_server_url:
181           Fn::Join:
182             - ''
183             - - http://
184               - Fn::Select:
185                   - 0
186                   - Fn::Select:
187                     - "ctlplane"
188                     - Fn::GetAtt:
189                       - undercloud
190                       - networks
191               - ":8000/v1/waitcondition"
192       os-collect-config:
193         cfn:
194           access_key_id:
195             Ref: notCompute0Key
196           path: undercloudConfig.Metadata
197           secret_access_key:
198             Fn::GetAtt:
199             - notCompute0Key
200             - SecretAccessKey
201           stack_name:
202             Ref: AWS::StackName
203       keystone:
204         db: mysql://keystone:unset@localhost/keystone
205         host: 127.0.0.1
206       neutron:
207         host: 127.0.0.1
208         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
209         ovs:
210           public_interface:
211             Ref: NeutronPublicInterface
212           physical_bridge: br-ctlplane
213           physical_network: ctlplane
214           network_vlan_ranges: ctlplane
215           bridge_mappings: ctlplane:br-ctlplane
216           tenant_network_type: vlan
217           enable_tunneling: 'False'
218         service-password:
219           Ref: NeutronPassword
220       rabbit:
221         host: 127.0.0.1
222         username:
223           Ref: RabbitUserName
224         password:
225           Ref: RabbitPassword
226         cookie:
227           Fn::GetAtt:
228           - RabbitCookie
229           - value
230   undercloud:
231     Type: OS::Nova::Server
232     Properties:
233       image:
234         Ref: undercloudImage
235       flavor:
236         Ref: Flavor
237       key_name:
238         Ref: KeyName
239       image_update_policy:
240         Ref: ImageUpdatePolicy
241     Metadata:
242       os-collect-config:
243         cfn:
244           access_key_id:
245             Ref: notCompute0Key
246           path: undercloudConfig.Metadata
247           secret_access_key:
248             Fn::GetAtt:
249             - notCompute0Key
250             - SecretAccessKey
251           stack_name:
252             Ref: AWS::StackName