aboutsummaryrefslogtreecommitdiffstats
path: root/manifests/loadbalancer.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/loadbalancer.pp')
-rw-r--r--manifests/loadbalancer.pp74
1 files changed, 73 insertions, 1 deletions
diff --git a/manifests/loadbalancer.pp b/manifests/loadbalancer.pp
index c4a317b..6820459 100644
--- a/manifests/loadbalancer.pp
+++ b/manifests/loadbalancer.pp
@@ -35,6 +35,10 @@
# The value to use as maxconn in the haproxy default config section.
# Defaults to 4096
#
+# [*haproxy_default_timeout*]
+# The value to use as timeout in the haproxy default config section.
+# Defaults to [ 'http-request 10s', 'queue 1m', 'connect 10s', 'client 1m', 'server 1m', 'check 10s' ]
+#
# [*haproxy_log_address*]
# The IPv4, IPv6 or filesystem socket path of the syslog server.
# Defaults to '/dev/log'
@@ -130,6 +134,11 @@
# When set, enables SSL on the Ceilometer public API endpoint using the specified file.
# Defaults to undef
#
+# [*aodh_certificate*]
+# Filename of an HAProxy-compatible certificate and key file
+# When set, enables SSL on the Aodh public API endpoint using the specified file.
+# Defaults to undef
+#
# [*swift_certificate*]
# Filename of an HAProxy-compatible certificate and key file
# When set, enables SSL on the Swift public API endpoint using the specified file.
@@ -198,6 +207,10 @@
# (optional) Enable or not Ceilometer API binding
# Defaults to false
#
+# [*aodh*]
+# (optional) Enable or not Aodh API binding
+# Defaults to false
+#
# [*swift_proxy_server*]
# (optional) Enable or not Swift API binding
# Defaults to false
@@ -238,6 +251,10 @@
# (optional) Enable or not Redis binding
# Defaults to false
#
+# [*midonet_api*]
+# (optional) Enable or not MidoNet API binding
+# Defaults to false
+#
class tripleo::loadbalancer (
$controller_virtual_ip,
$control_virtual_interface,
@@ -250,6 +267,7 @@ class tripleo::loadbalancer (
$haproxy_service_manage = true,
$haproxy_global_maxconn = 20480,
$haproxy_default_maxconn = 4096,
+ $haproxy_default_timeout = [ 'http-request 10s', 'queue 1m', 'connect 10s', 'client 1m', 'server 1m', 'check 10s' ],
$haproxy_log_address = '/dev/log',
$controller_host = undef,
$controller_hosts = undef,
@@ -262,6 +280,7 @@ class tripleo::loadbalancer (
$glance_certificate = undef,
$nova_certificate = undef,
$ceilometer_certificate = undef,
+ $aodh_certificate = undef,
$swift_certificate = undef,
$heat_certificate = undef,
$horizon_certificate = undef,
@@ -278,6 +297,7 @@ class tripleo::loadbalancer (
$nova_metadata = false,
$nova_novncproxy = false,
$ceilometer = false,
+ $aodh = false,
$swift_proxy_server = false,
$heat_api = false,
$heat_cloudwatch = false,
@@ -288,6 +308,7 @@ class tripleo::loadbalancer (
$mysql_clustercheck = false,
$rabbitmq = false,
$redis = false,
+ $midonet_api = false,
) {
if !$controller_host and !$controller_hosts {
@@ -421,6 +442,11 @@ class tripleo::loadbalancer (
} else {
$ceilometer_bind_certificate = $service_certificate
}
+ if $aodh_certificate {
+ $aodh_bind_certificate = $aodh_certificate
+ } else {
+ $aodh_bind_certificate = $service_certificate
+ }
if $swift_certificate {
$swift_bind_certificate = $swift_certificate
} else {
@@ -558,6 +584,19 @@ class tripleo::loadbalancer (
}
}
+ $aodh_api_vip = hiera('aodh_api_vip', $controller_virtual_ip)
+ if $aodh_bind_certificate {
+ $aodh_bind_opts = {
+ "${aodh_api_vip}:8042" => [],
+ "${public_virtual_ip}:13042" => ['ssl', 'crt', $aodh_bind_certificate],
+ }
+ } else {
+ $aodh_bind_opts = {
+ "${aodh_api_vip}:8042" => [],
+ "${public_virtual_ip}:8042" => [],
+ }
+ }
+
$swift_proxy_vip = hiera('swift_proxy_vip', $controller_virtual_ip)
if $swift_bind_certificate {
$swift_bind_opts = {
@@ -646,7 +685,7 @@ class tripleo::loadbalancer (
'mode' => 'tcp',
'log' => 'global',
'retries' => '3',
- 'timeout' => [ 'http-request 10s', 'queue 1m', 'connect 10s', 'client 1m', 'server 1m', 'check 10s' ],
+ 'timeout' => $haproxy_default_timeout,
'maxconn' => $haproxy_default_maxconn,
},
}
@@ -845,6 +884,20 @@ class tripleo::loadbalancer (
}
}
+ if $aodh {
+ haproxy::listen { 'aodh':
+ bind => $aodh_bind_opts,
+ collect_exported => false,
+ }
+ haproxy::balancermember { 'aodh':
+ listening_service => 'aodh',
+ ports => '8042',
+ ipaddresses => hiera('aodh_api_node_ips', $controller_hosts_real),
+ server_names => $controller_hosts_names_real,
+ options => ['check', 'inter 2000', 'rise 2', 'fall 5'],
+ }
+ }
+
if $swift_proxy_server {
haproxy::listen { 'swift_proxy_server':
bind => $swift_bind_opts,
@@ -1006,4 +1059,23 @@ class tripleo::loadbalancer (
}
}
+ $midonet_api_vip = hiera('midonet_api_vip', $controller_virtual_ip)
+ $midonet_bind_opts = {
+ "${midonet_api_vip}:8081" => [],
+ "${public_virtual_ip}:8081" => [],
+ }
+
+ if $midonet_api {
+ haproxy::listen { 'midonet_api':
+ bind => $midonet_bind_opts,
+ collect_exported => false,
+ }
+ haproxy::balancermember { 'midonet_api':
+ listening_service => 'midonet_api',
+ ports => '8081',
+ ipaddresses => hiera('midonet_api_node_ips', $controller_hosts_real),
+ server_names => $controller_hosts_names_real,
+ options => ['check', 'inter 2000', 'rise 2', 'fall 5'],
+ }
+ }
}