Restore rabbit.host and add an haproxy rabbit listener

To balance load over the rabbit cluster we want to route access
to it via haproxy.

This also helps workaround bug #856764 as an additional benefit.

This change sets rabbit.host to the ControlVirtualIP (to be used by
the elements) and adds an haproxy listener for the rabbit nodes.

Related to blueprint tripleo-icehouse-ha-production-configuration
Depends on I3ff37ec18b9191ca8e861519bed142cbdbd5faa2

Change-Id: I49b622a604542f456bd9a37da8dae3353218e640
Related-Bug: 856764
This commit is contained in:
Giulio Fidente 2014-08-04 21:02:18 +02:00
parent a533b3aece
commit 044a5c111e
3 changed files with 11 additions and 0 deletions

View File

@ -40,6 +40,7 @@ resources:
service-password: {get_input: neutron_password} service-password: {get_input: neutron_password}
admin-password: {get_input: admin_password} admin-password: {get_input: admin_password}
rabbit: rabbit:
host: {get_input: rabbit_host}
username: {get_input: rabbit_username} username: {get_input: rabbit_username}
password: {get_input: rabbit_password} password: {get_input: rabbit_password}
live-update: live-update:

View File

@ -77,6 +77,8 @@ parameters:
default: '' default: ''
description: A port to add to the NeutronPhysicalBridge. description: A port to add to the NeutronPhysicalBridge.
type: string type: string
RabbitHost:
type: string
RabbitUserName: RabbitUserName:
type: string type: string
RabbitPassword: RabbitPassword:
@ -216,6 +218,7 @@ resources:
neutron_public_interface: {get_param: NeutronPublicInterface} neutron_public_interface: {get_param: NeutronPublicInterface}
neutron_password: {get_param: NeutronPassword} neutron_password: {get_param: NeutronPassword}
admin_password: {get_param: AdminPassword} admin_password: {get_param: AdminPassword}
rabbit_host: {get_param: RabbitHost}
rabbit_username: {get_param: RabbitUserName} rabbit_username: {get_param: RabbitUserName}
rabbit_password: {get_param: RabbitPassword} rabbit_password: {get_param: RabbitPassword}
live_update_host: {get_param: LiveUpdateHost} live_update_host: {get_param: LiveUpdateHost}

View File

@ -321,6 +321,7 @@ resources:
KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} KeystoneHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
NovaDSN: {list_join: ['', ['mysql://nova:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/nova']]} NovaDSN: {list_join: ['', ['mysql://nova:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/nova']]}
CeilometerDSN: {list_join: ['', ['mysql://ceilometer:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/ceilometer']]} CeilometerDSN: {list_join: ['', ['mysql://ceilometer:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/ceilometer']]}
NeutronDSN: {list_join: ['', ['mysql://neutron:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/ovs_neutron']]} NeutronDSN: {list_join: ['', ['mysql://neutron:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/ovs_neutron']]}
@ -487,6 +488,7 @@ resources:
service-password: service-password:
get_param: NovaPassword get_param: NovaPassword
rabbit: rabbit:
host: {get_input: controller_virtual_ip}
username: username:
get_param: RabbitUserName get_param: RabbitUserName
password: password:
@ -591,6 +593,11 @@ resources:
- name: swift_proxy_server - name: swift_proxy_server
port: 8080 port: 8080
net_binds: *public_binds net_binds: *public_binds
- name: rabbitmq
port: 5672
options:
- timeout client 0
- timeout server 0
controllerPassthrough: controllerPassthrough:
type: OS::Heat::StructuredConfig type: OS::Heat::StructuredConfig
properties: properties: