Restore rabbit.host and add an haproxy rabbit listener
authorGiulio Fidente <gfidente@redhat.com>
Mon, 4 Aug 2014 19:02:18 +0000 (21:02 +0200)
committerGiulio Fidente <gfidente@redhat.com>
Fri, 8 Aug 2014 12:21:45 +0000 (14:21 +0200)
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

nova-compute-config.yaml
nova-compute-instance.yaml
overcloud-source.yaml

index ef440a3..cb428ea 100644 (file)
@@ -40,6 +40,7 @@ resources:
           service-password: {get_input: neutron_password}
         admin-password: {get_input: admin_password}
         rabbit:
+          host: {get_input: rabbit_host}
           username: {get_input: rabbit_username}
           password: {get_input: rabbit_password}
         live-update:
index 597b42b..562d0ad 100644 (file)
@@ -77,6 +77,8 @@ parameters:
     default: ''
     description: A port to add to the NeutronPhysicalBridge.
     type: string
+  RabbitHost:
+    type: string
   RabbitUserName:
     type: string
   RabbitPassword:
@@ -216,6 +218,7 @@ resources:
         neutron_public_interface: {get_param: NeutronPublicInterface}
         neutron_password: {get_param: NeutronPassword}
         admin_password: {get_param: AdminPassword}
+        rabbit_host: {get_param: RabbitHost}
         rabbit_username: {get_param: RabbitUserName}
         rabbit_password: {get_param: RabbitPassword}
         live_update_host: {get_param: LiveUpdateHost}
index d6f7eb3..51d3bb4 100644 (file)
@@ -321,6 +321,7 @@ resources:
         KeystoneHost: {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]}
+        RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
         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']]}
         NeutronDSN: {list_join: ['', ['mysql://neutron:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}, '/ovs_neutron']]}
@@ -487,6 +488,7 @@ resources:
           service-password:
             get_param: NovaPassword
         rabbit:
+          host: {get_input: controller_virtual_ip}
           username:
             get_param: RabbitUserName
           password:
@@ -591,6 +593,11 @@ resources:
             - name: swift_proxy_server
               port: 8080
               net_binds: *public_binds
+            - name: rabbitmq
+              port: 5672
+              options:
+                - timeout client 0
+                - timeout server 0
   controllerPassthrough:
     type: OS::Heat::StructuredConfig
     properties: