fa9db05a82ecd427e9548ef14a27494f5be88af8
[apex-tripleo-heat-templates.git] / controller-config.yaml
1 heat_template_version: 2014-10-16
2
3 description: >
4   Controller Config for Controller.
5
6 parameters:
7   # unused here but is a placeholder for other compute-config templates
8   # which may choose to create in-templates resources that require controller
9   controller_id:
10     type: string
11     hidden: true
12
13 resources:
14
15   ControllerConfigImpl:
16     type: OS::Heat::StructuredConfig
17     properties:
18       group: os-apply-config
19       config:
20         admin-password: {get_input: admin_password}
21         admin-token: {get_input: admin_token}
22         bootstack:
23           public_interface_ip: {get_input: neutron_public_interface_ip}
24         bootstrap_host:
25           nodeid: {get_input: bootstack_nodeid}
26         cinder:
27           db: {get_input: cinder_dsn}
28           debug: {get_input: debug}
29           volume_size_mb: {get_input: cinder_lvm_loop_device_size}
30           service-password: {get_input: cinder_password}
31           iscsi-helper: {get_input: CinderISCSIHelper}
32         controller-address: {get_input: controller_host}
33         corosync:
34           bindnetaddr: {get_input: controller_host}
35           mcastport: 5577
36         pacemaker:
37           stonith_enabled : false
38           recheck_interval : 5
39           quorum_policy : ignore
40         db-password: unset
41         glance:
42           registry:
43             host: {get_input: controller_virtual_ip}
44           backend: swift
45           db: {get_input: glance_dsn}
46           debug: {get_input: debug}
47           host: {get_input: controller_virtual_ip}
48           port: {get_input: glance_port}
49           protocol: {get_input: glance_protocol}
50           service-password: {get_input: glance_password}
51           swift-store-user: service:glance
52           swift-store-key: {get_input: glance_password}
53           notifier-strategy: {get_input: glance_notifier_strategy}
54           log-file: {get_input: glance_log_file}
55         heat:
56           admin_password: {get_input: heat_password}
57           admin_tenant_name: service
58           admin_user: heat
59           auth_encryption_key: unset___________
60           db: {get_input: heat_dsn}
61           debug: {get_input: debug}
62           stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
63           watch_server_url: {get_input: heat.watch_server_url}
64           metadata_server_url: {get_input: heat.metadata_server_url}
65           waitcondition_server_url: {get_input: heat.waitcondition_server_url}
66         keystone:
67           db: {get_input: keystone_dsn}
68           debug: {get_input: debug}
69           host: {get_input: controller_virtual_ip}
70           ca_certificate: {get_input: keystone_ca_certificate}
71           signing_key: {get_input: keystone_signing_key}
72           signing_certificate: {get_input: keystone_signing_certificate}
73           ssl:
74               certificate: {get_input: keystone_ssl_certificate}
75               certificate_key: {get_input: keystone_ssl_certificate_key}
76         mysql:
77           innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
78           local_bind: true
79           root-password: {get_input: mysql_root_password}
80           cluster_name: {get_input: mysql_cluster_name}
81         neutron:
82           debug: {get_input: debug}
83           flat-networks: {get_input: neutron_flat_networks}
84           host: {get_input: controller_virtual_ip}
85           metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
86           agent_mode: {get_input: neutron_agent_mode}
87           router_distributed: {get_input: neutron_router_distributed}
88           mechanism_drivers: {get_input: neutron_mechanism_drivers}
89           allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
90           ovs:
91             enable_tunneling: {get_input: neutron_enable_tunneling}
92             local_ip: {get_input: controller_host}
93             network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
94             bridge_mappings: {get_input: neutron_bridge_mappings}
95             public_interface: {get_input: neutron_public_interface}
96             public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
97             public_interface_route: {get_input: neutron_public_interface_default_route}
98             public_interface_tag: {get_input: neutron_public_interface_tag}
99             physical_bridge: br-ex
100             tenant_network_type: {get_input: neutron_tenant_network_type}
101             tunnel_types: {get_input: neutron_tunnel_types}
102           ovs_db: {get_input: neutron_dsn}
103           service-password: {get_input: neutron_password}
104           dnsmasq-options: {get_input: neutron_dnsmasq_options}
105         ceilometer:
106           db: {get_input: ceilometer_dsn}
107           debug: {get_input: debug}
108           metering_secret: {get_input: ceilometer_metering_secret}
109           service-password: {get_input: ceilometer_password}
110         snmpd:
111           export_MIB: UCD-SNMP-MIB
112           readonly_user_name: {get_input: snmpd_readonly_user_name}
113           readonly_user_password: {get_input: snmpd_readonly_user_password}
114         nova:
115           compute_driver: libvirt.LibvirtDriver
116           db: {get_input: nova_dsn}
117           default_floating_pool:
118             ext-net
119           host: {get_input: controller_virtual_ip}
120           metadata-proxy: true
121           service-password: {get_input: nova_password}
122         rabbit:
123           host: {get_input: controller_virtual_ip}
124           username: {get_input: rabbit_username}
125           password: {get_input: rabbit_password}
126           cookie: {get_input: rabbit_cookie}
127           rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
128           rabbit_port: {get_input: rabbit_client_port}
129         ntp:
130           servers:
131               - {server: {get_input: ntp_server}}
132         virtual_interfaces:
133           instances:
134             - vrrp_instance_name: VI_CONTROL
135               virtual_router_id: 51
136               keepalive_interface: {get_input: control_virtual_interface}
137               priority: 101
138               virtual_ips:
139               - ip: {get_input: controller_virtual_ip}
140                 interface: {get_input: control_virtual_interface}
141             - vrrp_instance_name: VI_PUBLIC
142               virtual_router_id: 52
143               keepalive_interface: {get_input: public_virtual_interface}
144               priority: 101
145               virtual_ips:
146               - ip: {get_input: public_virtual_ip}
147                 interface: {get_input: public_virtual_interface}
148           vrrp_sync_groups:
149             - name: VG1
150               members:
151                 - VI_CONTROL
152                 - VI_PUBLIC
153         keepalived:
154           keepalive_interface: {get_input: public_virtual_interface}
155           priority: 101
156         virtual_ips:
157             -
158               ip: {get_input: controller_virtual_ip}
159               interface: {get_input: control_virtual_interface}
160             -
161               ip: {get_input: public_virtual_ip}
162               interface: {get_input: public_virtual_interface}
163         haproxy:
164           net_binds:
165             - ip: {get_input: controller_virtual_ip}
166           options:
167             - option httpchk GET /
168           services:
169             - name: keystone_admin
170               port: 35357
171               net_binds: &public_binds
172                 - ip: {get_input: controller_virtual_ip}
173                 - ip: {get_input: public_virtual_ip}
174             - name: keystone_public
175               port: 5000
176               net_binds: *public_binds
177             - name: horizon
178               port: 80
179               net_binds: *public_binds
180             - name: neutron
181               port: 9696
182               net_binds: *public_binds
183             - name: cinder
184               port: 8776
185               net_binds: *public_binds
186             - name: glance_api
187               port: 9292
188               net_binds: *public_binds
189             - name: glance_registry
190               port: 9191
191               net_binds: *public_binds
192               options: # overwrite options as glace_reg needs auth for http req
193             - name: heat_api
194               port: 8004
195               net_binds: *public_binds
196             - name: heat_cloudwatch
197               port: 8003
198               net_binds: *public_binds
199             - name: heat_cfn
200               port: 8000
201               net_binds: *public_binds
202             - name: mysql
203               port: 3306
204               extra_server_params:
205                 - backup
206               options:
207                 - timeout client 0
208                 - timeout server 0
209             - name: nova_ec2
210               port: 8773
211             - name: nova_osapi
212               port: 8774
213               net_binds: *public_binds
214             - name: nova_metadata
215               port: 8775
216               net_binds: *public_binds
217             - name: nova_novncproxy
218               port: 6080
219               net_binds: *public_binds
220             - name: ceilometer
221               port: 8777
222               net_binds: *public_binds
223               options: # overwrite options as ceil needs auth for http req
224             - name: swift_proxy_server
225               port: 8080
226               net_binds: *public_binds
227               options:
228                 - option httpchk GET /info
229             - name: rabbitmq
230               port: 5672
231               options:
232                 - timeout client 0
233                 - timeout server 0
234                 - maxconn 1500
235
236 outputs:
237   config_id:
238     description: The ID of the ControllerConfigImpl resource.
239     value:
240       {get_resource: ControllerConfigImpl}