Make LaunchConfiguration resources mergeable
[apex-tripleo-heat-templates.git] / undercloud-bm.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   KeyName:
28     Default: default
29     Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
30     Type: String
31   HeatPassword:
32     Default: unset
33     Description: The password for the Heat service account, used by the Heat services.
34     Type: String
35     NoEcho: true
36   Image:
37     Default: undercloud
38     Type: String
39   NeutronPassword:
40     Default: unset
41     Description: The password for the neutron service account, used by neutron agents.
42     Type: String
43     NoEcho: true
44   NeutronNativePXE:
45     Default: ''
46     Type: String
47     Description: Set truthy to enable Neutron native PXE.
48   NeutronPublicInterface:
49     Default: eth2
50     Description: What interface to bridge onto br-ex for network nodes.
51     Type: String
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   PowerManager:
58     Default: nova.virt.baremetal.ipmi.IPMI
59     Description: Bare metal power manager driver.
60     Type: String
61 Resources:
62   AccessPolicy:
63     Properties:
64       AllowedResources:
65       - notcomputeConfig
66     Type: OS::Heat::AccessPolicy
67   Key:
68     Properties:
69       UserName:
70         Ref: User
71     Type: AWS::IAM::AccessKey
72   User:
73     Properties:
74       Policies:
75       - Ref: AccessPolicy
76     Type: AWS::IAM::User
77   notcomputeConfig:
78     Type: AWS::AutoScaling::LaunchConfiguration
79     Properties:
80       ImageId: '0'
81       InstanceType: foo
82     Metadata:
83       OpenStack::Heat::Stack: {}
84       Openstack::ImageBuilder::Elements: [ boot-stack, heat-cfntools, neutron-network-node ]
85       admin-password:
86         Ref: AdminPassword
87       admin-token: 
88         Ref: AdminToken
89       controller-address:
90         Fn::Select:
91           - 0
92           - Fn::Select:
93             - "ctlplane"
94             - Fn::GetAtt:
95               - notcompute
96               - networks
97       cinder:
98         db: mysql://cinder:unset@localhost/cinder
99         volume_size_mb: '5000'
100       db-password: unset
101       glance:
102         db: mysql://glance:unset@localhost/glance
103         host: 127.0.0.1
104         service-password:
105           Ref: GlancePassword
106       heat:
107         admin_password:
108           Ref: HeatPassword
109         admin_tenant_name: service
110         admin_user: heat
111         auth_encryption_key: unset___________
112         db: mysql://heat:unset@localhost/heat
113         heat_watch_server_url:
114           Fn::Join:
115             - ''
116             - - http://
117               - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [ notcompute, networks ]} ]}]}
118               - ":8003"
119         metadata_server_url:
120           Fn::Join:
121             - ''
122             - - http://
123               - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [ notcompute, networks ]} ]}]}
124               - ":8000"
125         waitcondition_server_url:
126           Fn::Join:
127             - ''
128             - - http://
129               - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [ notcompute, networks ]} ]}]}
130               - ":8000/v1/waitcondition"
131       os-collect-config:
132         cfn:
133           access_key_id:
134             Ref: Key
135           path: notcomputeConfig.Metadata
136           secret_access_key:
137             Fn::GetAtt:
138             - Key
139             - SecretAccessKey
140           stack_name:
141             Ref: AWS::StackName
142       keystone:
143         db: mysql://keystone:unset@localhost/keystone
144         host: 127.0.0.1
145       nova:
146         compute_hostname: undercloud
147         compute_driver: baremetal.driver.BareMetalDriver
148         db: mysql://nova:unset@localhost/nova
149         host: 127.0.0.1
150         metadata-proxy: false
151         tuning:
152           ram_allocation_ratio: 1.0
153           reserved_host_memory_mb: 0
154         baremetal:
155           arch:
156             Ref: BaremetalArch
157           db: mysql://nova:unset@localhost/nova_bm
158           power_manager:
159             Ref: PowerManager
160           pxe_deploy_timeout: 2400
161         service-password:
162           Ref: NovaPassword
163       neutron:
164         host: 127.0.0.1
165         native_pxe:
166           Ref: NeutronNativePXE
167         ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
168         ovs:
169           dnsmasq_range: [192.0.2.25, 192.0.2.44]
170           public_interface:
171             Ref: NeutronPublicInterface
172           physical_bridge: br-ctlplane
173           physical_network: ctlplane
174           network_vlan_ranges: ctlplane
175           bridge_mappings: ctlplane:br-ctlplane
176           tenant_network_type: vlan
177           enable_tunneling: 'False'
178         service-password:
179           Ref: NeutronPassword
180       rabbit:
181         host: 127.0.0.1
182         password: guest
183   notcompute:
184     Type: OS::Nova::Server
185     Properties:
186       image:
187         Ref: Image
188       flavor:
189         Ref: Flavor
190       key_name:
191         Ref: KeyName
192     Metadata:
193       os-collect-config:
194         cfn:
195           access_key_id:
196             Ref: Key
197           path: notcomputeConfig.Metadata
198           secret_access_key:
199             Fn::GetAtt:
200             - Key
201             - SecretAccessKey
202           stack_name:
203             Ref: AWS::StackName