tripleo-heat-templates/controller-config.yaml
Giulio Fidente 4f4d8e3d16 Add parameter to manage usage of Neutron l3_ha option
This change will allow for the enablement of Neutron routers HA
via the new NeutronL3HA parameter.

Change-Id: Ia5f7c0b4e89159456482e840c50d166ec5f25d4c
Implements: blueprint tripleo-icehouse-ha-production-configuration
2015-01-09 19:24:53 +01:00

242 lines
9.3 KiB
YAML

heat_template_version: 2014-10-16
description: >
Controller Config for Controller.
parameters:
# unused here but is a placeholder for other compute-config templates
# which may choose to create in-templates resources that require controller
controller_id:
type: string
hidden: true
resources:
ControllerConfigImpl:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
admin-password: {get_input: admin_password}
admin-token: {get_input: admin_token}
bootstack:
public_interface_ip: {get_input: neutron_public_interface_ip}
bootstrap_host:
nodeid: {get_input: bootstack_nodeid}
cinder:
db: {get_input: cinder_dsn}
debug: {get_input: debug}
volume_size_mb: {get_input: cinder_lvm_loop_device_size}
service-password: {get_input: cinder_password}
iscsi-helper: {get_input: CinderISCSIHelper}
controller-address: {get_input: controller_host}
corosync:
bindnetaddr: {get_input: controller_host}
mcastport: 5577
pacemaker:
stonith_enabled : false
recheck_interval : 5
quorum_policy : ignore
db-password: unset
glance:
registry:
host: {get_input: controller_virtual_ip}
backend: swift
db: {get_input: glance_dsn}
debug: {get_input: debug}
host: {get_input: controller_virtual_ip}
port: {get_input: glance_port}
protocol: {get_input: glance_protocol}
service-password: {get_input: glance_password}
swift-store-user: service:glance
swift-store-key: {get_input: glance_password}
notifier-strategy: {get_input: glance_notifier_strategy}
log-file: {get_input: glance_log_file}
heat:
admin_password: {get_input: heat_password}
admin_tenant_name: service
admin_user: heat
auth_encryption_key: unset___________
db: {get_input: heat_dsn}
debug: {get_input: debug}
stack_domain_admin_password: {get_input: heat_stack_domain_admin_password}
watch_server_url: {get_input: heat.watch_server_url}
metadata_server_url: {get_input: heat.metadata_server_url}
waitcondition_server_url: {get_input: heat.waitcondition_server_url}
keystone:
db: {get_input: keystone_dsn}
debug: {get_input: debug}
host: {get_input: controller_virtual_ip}
ca_certificate: {get_input: keystone_ca_certificate}
signing_key: {get_input: keystone_signing_key}
signing_certificate: {get_input: keystone_signing_certificate}
ssl:
certificate: {get_input: keystone_ssl_certificate}
certificate_key: {get_input: keystone_ssl_certificate_key}
mysql:
innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
local_bind: true
root-password: {get_input: mysql_root_password}
cluster_name: {get_input: mysql_cluster_name}
neutron:
debug: {get_input: debug}
flat-networks: {get_input: neutron_flat_networks}
host: {get_input: controller_virtual_ip}
metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
agent_mode: {get_input: neutron_agent_mode}
router_distributed: {get_input: neutron_router_distributed}
mechanism_drivers: {get_input: neutron_mechanism_drivers}
allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
l3_ha: {get_input: neutron_l3_ha}
ovs:
enable_tunneling: {get_input: neutron_enable_tunneling}
local_ip: {get_input: controller_host}
network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
bridge_mappings: {get_input: neutron_bridge_mappings}
public_interface: {get_input: neutron_public_interface}
public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
public_interface_route: {get_input: neutron_public_interface_default_route}
public_interface_tag: {get_input: neutron_public_interface_tag}
physical_bridge: br-ex
tenant_network_type: {get_input: neutron_tenant_network_type}
tunnel_types: {get_input: neutron_tunnel_types}
ovs_db: {get_input: neutron_dsn}
service-password: {get_input: neutron_password}
dnsmasq-options: {get_input: neutron_dnsmasq_options}
ceilometer:
db: {get_input: ceilometer_dsn}
debug: {get_input: debug}
metering_secret: {get_input: ceilometer_metering_secret}
service-password: {get_input: ceilometer_password}
snmpd:
export_MIB: UCD-SNMP-MIB
readonly_user_name: {get_input: snmpd_readonly_user_name}
readonly_user_password: {get_input: snmpd_readonly_user_password}
nova:
compute_driver: libvirt.LibvirtDriver
db: {get_input: nova_dsn}
default_floating_pool:
ext-net
host: {get_input: controller_virtual_ip}
metadata-proxy: true
service-password: {get_input: nova_password}
rabbit:
host: {get_input: controller_virtual_ip}
username: {get_input: rabbit_username}
password: {get_input: rabbit_password}
cookie: {get_input: rabbit_cookie}
rabbit_client_use_ssl: {get_input: rabbit_client_use_ssl}
rabbit_port: {get_input: rabbit_client_port}
ntp:
servers:
- {server: {get_input: ntp_server}, fudge: "stratum 0"}
virtual_interfaces:
instances:
- vrrp_instance_name: VI_CONTROL
virtual_router_id: 51
keepalive_interface: {get_input: control_virtual_interface}
priority: 101
virtual_ips:
- ip: {get_input: controller_virtual_ip}
interface: {get_input: control_virtual_interface}
- vrrp_instance_name: VI_PUBLIC
virtual_router_id: 52
keepalive_interface: {get_input: public_virtual_interface}
priority: 101
virtual_ips:
- ip: {get_input: public_virtual_ip}
interface: {get_input: public_virtual_interface}
vrrp_sync_groups:
- name: VG1
members:
- VI_CONTROL
- VI_PUBLIC
keepalived:
keepalive_interface: {get_input: public_virtual_interface}
priority: 101
virtual_ips:
-
ip: {get_input: controller_virtual_ip}
interface: {get_input: control_virtual_interface}
-
ip: {get_input: public_virtual_ip}
interface: {get_input: public_virtual_interface}
haproxy:
net_binds:
- ip: {get_input: controller_virtual_ip}
options:
- option httpchk GET /
services:
- name: keystone_admin
port: 35357
net_binds: &public_binds
- ip: {get_input: controller_virtual_ip}
- ip: {get_input: public_virtual_ip}
- name: keystone_public
port: 5000
net_binds: *public_binds
- name: horizon
port: 80
net_binds: *public_binds
- name: neutron
port: 9696
net_binds: *public_binds
- name: cinder
port: 8776
net_binds: *public_binds
- name: glance_api
port: 9292
net_binds: *public_binds
- name: glance_registry
port: 9191
net_binds: *public_binds
options: # overwrite options as glace_reg needs auth for http req
- name: heat_api
port: 8004
net_binds: *public_binds
- name: heat_cloudwatch
port: 8003
net_binds: *public_binds
- name: heat_cfn
port: 8000
net_binds: *public_binds
- name: mysql
port: 3306
extra_server_params:
- backup
options:
- timeout client 0
- timeout server 0
- name: nova_ec2
port: 8773
- name: nova_osapi
port: 8774
net_binds: *public_binds
- name: nova_metadata
port: 8775
net_binds: *public_binds
- name: nova_novncproxy
port: 6080
net_binds: *public_binds
- name: ceilometer
port: 8777
net_binds: *public_binds
options: # overwrite options as ceil needs auth for http req
- name: swift_proxy_server
port: 8080
net_binds: *public_binds
options:
- option httpchk GET /info
- name: rabbitmq
port: 5672
options:
- timeout client 0
- timeout server 0
- maxconn 1500
outputs:
config_id:
description: The ID of the ControllerConfigImpl resource.
value:
{get_resource: ControllerConfigImpl}