Haproxy configuration
authorDima Shulyak <dshulyak@mirantis.com>
Wed, 14 May 2014 12:20:12 +0000 (15:20 +0300)
committerGregory Haynes <greg@greghaynes.net>
Mon, 30 Jun 2014 01:32:10 +0000 (18:32 -0700)
Added several sections that are required for HAproxy configuration

1. haproxy.services - standard openstack services ports
2. haproxy.nodes - openstack controllers
3. haproxy.net_binds - virtual ips, that will also act as public endpoint

input controller_nodes scales with OVERCLOUD_CONTROLSCALE > 1

Related change t-i-e I641fa90c4a34c26e5699cf7f5a6f9643792c7b16

Implements blueprint tripleo-haproxy-configuration
Related to blueprint tripleo-icehouse-ha-production-configuration

Change-Id: I9c70812ee1b3e8c8c072705fc5123da88ecc8f9f

overcloud-source.yaml

index 496b243..34f5a1b 100644 (file)
@@ -503,6 +503,45 @@ Resources:
               ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
               interface:
                 Ref: ControlVirtualInterface
+        haproxy:
+          nodes:
+            Merge::Map:
+              controller0:
+                ip: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+                name: {"Fn::Select": [ name, {"Fn::GetAtt": [controller0, show]} ] }
+          net_binds:
+            - ip: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+          services:
+            - name: keystone_admin
+              port: 35357
+            - name: keystone_public
+              port: 5000
+            - name: horizon
+              port: 80
+            - name: neutron
+              port: 9696
+            - name: cinder
+              port: 8776
+            - name: glance_api
+              port: 9292
+            - name: glance_registry
+              port: 9191
+            - name: heat_api
+              port: 8004
+            - name: heat_cloudwatch
+              port: 8003
+            - name: heat_cfn
+              port: 8000
+            - name: nova_ec2
+              port: 8773
+            - name: nova_osapi
+              port: 8774
+            - name: nova_metadata
+              port: 8775
+            - name: ceilometer
+              port: 8777
+            - name: swift_proxy_server
+              port: 8080
   controllerPassthrough:
     Type: OS::Heat::StructuredConfig
     Properties: