aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--manifests/loadbalancer.pp27
1 files changed, 19 insertions, 8 deletions
diff --git a/manifests/loadbalancer.pp b/manifests/loadbalancer.pp
index 1d60507..ccc9d25 100644
--- a/manifests/loadbalancer.pp
+++ b/manifests/loadbalancer.pp
@@ -58,6 +58,10 @@
# FQDN of the Galera master node
# Defaults to undef
#
+# [*galera_master_ip*]
+# IP of the Galera master node
+# Defaults to undef
+#
# [*keystone_admin*]
# (optional) Enable or not Keystone Admin API binding
# Defaults to false
@@ -139,6 +143,7 @@ class tripleo::loadbalancer (
$controller_hosts = undef,
$controller_hosts_names = undef,
$galera_master_hostname = undef,
+ $galera_master_ip = undef,
$keystone_admin = false,
$keystone_public = false,
$neutron = false,
@@ -540,17 +545,23 @@ class tripleo::loadbalancer (
},
collect_exported => false,
}
- if downcase($galera_master_hostname) == $::hostname or !$galera_master_hostname {
- $options_real = ['check', 'inter 2000', 'rise 2', 'fall 5']
- } else {
- $options_real = ['check', 'inter 2000', 'rise 2', 'fall 5', 'backup']
- }
+
haproxy::balancermember { 'mysql':
listening_service => 'mysql',
ports => '3306',
- ipaddresses => $controller_hosts_real,
- server_names => $controller_hosts_names_real,
- options => $options_real,
+ ipaddresses => $galera_master_ip,
+ server_names => $galera_master_hostname,
+ options => ['check', 'inter 2000', 'rise 2', 'fall 5'],
+ }
+
+ $controller_hosts_without_galera_master = delete($controller_hosts_real, $galera_master_ip)
+ $controller_hosts_names_without_galera_master = delete($controller_hosts_names_real, downcase($galera_master_hostname))
+ haproxy::balancermember { 'mysql-backup':
+ listening_service => 'mysql',
+ ports => '3306',
+ ipaddresses => $controller_hosts_without_galera_master,
+ server_names => $controller_hosts_names_without_galera_master,
+ options => ['check', 'inter 2000', 'rise 2', 'fall 5', 'backup'],
}
}