diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/loadbalancer.pp | 27 | ||||
-rw-r--r-- | manifests/redis_notification.pp | 38 |
2 files changed, 65 insertions, 0 deletions
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'], + } + } + } diff --git a/manifests/redis_notification.pp b/manifests/redis_notification.pp new file mode 100644 index 0000000..ad059a0 --- /dev/null +++ b/manifests/redis_notification.pp @@ -0,0 +1,38 @@ +# Copyright 2015 Red Hat, Inc. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# == Class: tripleo::redis_notification +# +# Configure the Redis notification script that talks to HAProxy +# +# === Parameters: +# +# [*haproxy_monitor_ip*] +# (String) IP address on which HAProxy is listening on +# Defaults to 127.0.0.1 +# +class tripleo::redis_notification ( + $haproxy_monitor_ip = '127.0.0.1', +) { + + file { '/usr/local/bin/redis-notifications.sh' : + ensure => file, + content => template('tripleo/redis/redis-notifications.sh.erb'), + owner => 'root', + group => 'root', + mode => '0755', + } + +} |