From 3bef84147bd7df52e8303bcb5481ce5d3351f997 Mon Sep 17 00:00:00 2001 From: Yanis Guenane Date: Tue, 7 Apr 2015 12:42:35 +0200 Subject: Loadbalancer: Add support for Redis Add support for Redis in the loadbalancer setup. Redis loadbalancing system is particular as it does not provide clustering capabilities yet, hence this pattern[1] will be applied. [1] https://github.com/falsecz/haredis Change-Id: I80a6c284af9eceb6b669a03c5d93256261523331 --- manifests/loadbalancer.pp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'manifests/loadbalancer.pp') diff --git a/manifests/loadbalancer.pp b/manifests/loadbalancer.pp index 1d60507..cb54682 100644 --- a/manifests/loadbalancer.pp +++ b/manifests/loadbalancer.pp @@ -130,6 +130,10 @@ # (optional) Enable or not RabbitMQ binding # Defaults to false # +# [*redis*] +# (optional) Enable or not Redis binding +# Defaults to false +# class tripleo::loadbalancer ( $controller_virtual_ip, $control_virtual_interface, @@ -157,6 +161,7 @@ class tripleo::loadbalancer ( $horizon = false, $mysql = false, $rabbitmq = false, + $redis = false, ) { if !$controller_host and !$controller_hosts { @@ -572,4 +577,26 @@ class tripleo::loadbalancer ( } } + if $redis { + haproxy::listen { 'redis': + ipaddress => [$controller_virtual_ip], + ports => 6379, + options => { + 'timeout' => [ 'client 0', 'server 0' ], + 'mode' => 'tcp', + 'balance' => 'first', + 'option' => ['tcp-check',], + 'tcp-check' => ['send info\ replication\r\n','expect string role:master'], + }, + collect_exported => false, + } + haproxy::balancermember { 'redis': + listening_service => 'redis', + ports => '6379', + ipaddresses => $controller_hosts_real, + server_names => $controller_hosts_names_real, + options => ['check', 'inter 2000', 'rise 2', 'fall 5'], + } + } + } -- cgit 1.2.3-korg