From 16b2c0ab0e27d1fdbfe06424c4e67f78dfc161d1 Mon Sep 17 00:00:00 2001 From: Jiri Stransky Date: Fri, 2 Sep 2016 15:18:00 +0200 Subject: Manage Redis VIP when deploying with keepalived Previously we weren't creating Redis VIP in keepalived, causing Redis to be unusable in non-HA deployments. Change-Id: I0bb37f6fb3eed022288b2dcfc7a88e8ff88a7ace Related-Bug: #1618510 --- manifests/keepalived.pp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'manifests/keepalived.pp') diff --git a/manifests/keepalived.pp b/manifests/keepalived.pp index 45d772e..c0fb3ef 100644 --- a/manifests/keepalived.pp +++ b/manifests/keepalived.pp @@ -54,6 +54,11 @@ # A string. # Defaults to false # +# [*redis_virtual_ip*] +# Virtual IP on the redis service. +# A string. +# Defaults to false +# class tripleo::keepalived ( $controller_virtual_ip, $control_virtual_interface, @@ -62,6 +67,7 @@ class tripleo::keepalived ( $internal_api_virtual_ip = false, $storage_virtual_ip = false, $storage_mgmt_virtual_ip = false, + $redis_virtual_ip = false, ) { case $::osfamily { @@ -141,4 +147,16 @@ class tripleo::keepalived ( } } + if $redis_virtual_ip and $redis_virtual_ip != $controller_virtual_ip { + $redis_virtual_interface = interface_for_ip($redis_virtual_ip) + # KEEPALIVE STORAGE MANAGEMENT NETWORK + keepalived::instance { '56': + interface => $redis_virtual_interface, + virtual_ips => [join([$redis_virtual_ip, ' dev ', $redis_virtual_interface])], + state => 'MASTER', + track_script => ['haproxy'], + priority => 101, + } + } + } -- cgit 1.2.3-korg