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