Get rid of global service-password.
[apex-tripleo-heat-templates.git] / overcloud-source.yaml
1 Description: Nova API,Keystone,Heat Engine and API,Glance,Neutron,Dedicated MySQL
2   server,Dedicated RabbitMQ Server,Group of Nova Computes
3 HeatTemplateFormatVersion: '2012-12-12'
4 Parameters:
5   AdminPassword:
6     Default: unset
7     Description: The password for the keystone admin account, used for monitoring, querying neutron etc.
8     Type: String
9   AdminToken:
10     Default: unset
11     Description: The keystone auth secret.
12     Type: String
13   CinderPassword:
14     Default: unset
15     Description: The password for the cinder service account, used by cinder-api.
16     Type: String
17   Flavor:
18     Default: baremetal
19     Description: Flavor to request when deploying.
20     Type: String
21   GlancePassword:
22     Default: unset
23     Description: The password for the glance service account, used by the glance services.
24     Type: String
25   KeyName:
26     Default: default
27     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
28     Type: String
29   NeutronPassword:
30     Default: unset
31     Description: The password for the neutron service account, used by neutron agents.
32     Type: String
33   NovaComputeDriver:
34     Default: libvirt.LibvirtDriver
35     Type: String
36   NovaComputeLibvirtType:
37     Default: ''
38     Type: String
39   NovaImage:
40     Type: String
41     Default: overcloud-compute
42   NovaInterfaces:
43     Default: eth0
44     Type: String
45   NovaPassword:
46     Default: unset
47     Description: The password for the nova service account, used by nova-api.
48     Type: String
49   PowerUserName:
50     Default: stack
51     Description: What username to ssh to the virtual power host with.
52     Type: String
53   notcomputeImage:
54     Type: String
55     Default: overcloud-control
56 Resources:
57   AccessPolicy:
58     Properties:
59       AllowedResources:
60       - notcompute
61       - notcomputeConfig
62     Type: OS::Heat::AccessPolicy
63   ComputeAccessPolicy:
64     Properties:
65       AllowedResources:
66       - NovaCompute0
67       - NovaCompute0Config
68     Type: OS::Heat::AccessPolicy
69   Key:
70     Properties:
71       UserName:
72         Ref: User
73     Type: AWS::IAM::AccessKey
74   ComputeKey:
75     Properties:
76       UserName:
77         Ref: ComputeUser
78     Type: AWS::IAM::AccessKey
79   ComputeUser:
80     Properties:
81       Policies:
82       - Ref: ComputeAccessPolicy
83     Type: AWS::IAM::User
84   NovaCompute0Config:
85     Type: FileInclude
86     Path: nova-compute-instance.yaml
87     SubKey: Resources.NovaCompute0Config
88     Parameters:
89         NovaApiHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
90         KeystoneHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
91         RabbitHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
92         NeutronHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
93         GlanceHost: {"Fn::GetAtt": [notcompute, PrivateIp]}
94         NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::GetAtt": [notcompute, PrivateIp]}, '/nova']]}
95         NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::GetAtt": [notcompute, PrivateIp]}, '/neutron']]}
96         NeutronNetworkType: "gre"
97         NeutronEnableTunnelling: "True"
98         NeutronNetworkVLANRanges: ""
99         NeutronBridgeMappings: ""
100         RabbitPassword: "guest"
101   NovaCompute0:
102     Type: FileInclude
103     Path: nova-compute-instance.yaml
104     SubKey: Resources.NovaCompute0
105   User:
106     Properties:
107       Policies:
108       - Ref: AccessPolicy
109     Type: AWS::IAM::User
110   notcomputeConfig:
111     Type: AWS::AutoScaling::LaunchConfiguration
112     Properties:
113       ImageId: '0'
114       InstanceType: '0'
115     Metadata:
116       OpenStack::Heat::Stack: {}
117       Openstack::ImageBuilder::Elements:
118       - boot-stack
119       - heat-cfntools
120       - heat-localip
121       - neutron-network-node
122       admin-password:
123         Ref: AdminPassword
124       admin-token:
125         Ref: AdminToken
126       cinder:
127         db: mysql://cinder:unset@localhost/cinder
128         volume_size_mb: '5000'
129         service-password:
130           Ref: CinderPassword
131       controller-address:
132         Fn::GetAtt:
133           - notcompute
134           - PrivateIp
135       db-password: unset
136       glance:
137         db: mysql://glance:unset@localhost/glance
138         host:
139           Fn::GetAtt:
140             - notcompute
141             - PrivateIp
142         service-password:
143           Ref: GlancePassword
144       os-collect-config:
145         cfn:
146           access_key_id:
147             Ref: Key
148           path: notcomputeConfig.Metadata
149           secret_access_key:
150             Fn::GetAtt:
151             - Key
152             - SecretAccessKey
153           stack_name:
154             Ref: AWS::StackName
155       heat:
156         admin_password: unset
157         admin_tenant_name: service
158         admin_user: heat
159         auth_encryption_key: unset___________
160         db: mysql://heat:unset@localhost/heat
161         heat_watch_server_url:
162           Fn::Join:
163             - ''
164             - - 'http://'
165               - Fn::GetAtt:
166                   - notcompute
167                   - PrivateIp
168               - ':8003'
169         metadata_server_url:
170           Fn::Join:
171             - ''
172             - - 'http://'
173               - Fn::GetAtt:
174                   - notcompute
175                   - PrivateIp
176               - ':8000'
177         waitcondition_server_url:
178           Fn::Join:
179             - ''
180             - - 'http://'
181               - Fn::GetAtt:
182                   - notcompute
183                   - PrivateIp
184               - ':8000/v1/waitcondition'
185       interfaces:
186         control: eth0
187       keystone:
188         db: mysql://keystone:unset@localhost/keystone
189         host:
190           Fn::GetAtt:
191             - notcompute
192             - PrivateIp
193       nova:
194         compute_driver: libvirt.LibvirtDriver
195         db: mysql://nova:unset@localhost/nova
196         host:
197           Fn::GetAtt:
198             - notcompute
199             - PrivateIp
200         metadata-proxy: true
201         service-password:
202           Ref: NovaPassword
203       neutron:
204         host:
205           Fn::GetAtt:
206             - notcompute
207             - PrivateIp
208         metadata_proxy_shared_secret: unset
209         ovs:
210           enable_tunneling: 'True'
211           local_ip:
212             Fn::GetAtt:
213               - notcompute
214               - PrivateIp
215           public_interface: eth0
216           physical_bridge: br-ex
217           tenant_network_type: gre
218         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
219         service-password:
220           Ref: NeutronPassword
221       rabbit:
222         host:
223           Fn::GetAtt:
224             - notcompute
225             - PrivateIp
226         password: guest
227   notcompute:
228     Type: OS::Nova::Server
229     Properties:
230       image:
231         Ref: notcomputeImage
232       flavor:
233         Ref: Flavor
234       key_name:
235         Ref: KeyName
236     Metadata:
237       os-collect-config:
238         cfn:
239           access_key_id:
240             Ref: Key
241           path: notcomputeConfig.Metadata
242           secret_access_key:
243             Fn::GetAtt:
244             - Key
245             - SecretAccessKey
246           stack_name:
247             Ref: AWS::StackName