From c7e0b58e364736d074351ab22fc34467371e6c7f Mon Sep 17 00:00:00 2001 From: Udo Waechter Date: Mon, 19 Dec 2016 13:20:00 +0100 Subject: [PATCH 1/3] adding sync groups --- manifests/vrrp.pp | 1 + templates/keepalived-vrrp.conf.erb | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/manifests/vrrp.pp b/manifests/vrrp.pp index 39c63b6..25b336a 100644 --- a/manifests/vrrp.pp +++ b/manifests/vrrp.pp @@ -5,6 +5,7 @@ # class keepalived::vrrp ( $instances, + $groups = undef, $global_defs = {}, $global_defs_defaults = {}, $service_ensure = 'running', diff --git a/templates/keepalived-vrrp.conf.erb b/templates/keepalived-vrrp.conf.erb index 9ae5939..2a600c7 100644 --- a/templates/keepalived-vrrp.conf.erb +++ b/templates/keepalived-vrrp.conf.erb @@ -19,6 +19,16 @@ global_defs { <%- end -%> <%- end -%> } +<% @groups.each do |gname,gdata| -%> + +vrrp_sync_group <%= gname %> { + group { + <%- gdata.each do |value| -%> + <%= value %> + <%- end -%> + } +} +<%- end -%> <%- @instances.sort_by {|iname,idata| iname}.each do |iname,idata| -%> vrrp_instance <%= iname %> { From 3064e73adb51744f4cc258456ef5309043c29477 Mon Sep 17 00:00:00 2001 From: Udo Waechter Date: Mon, 19 Dec 2016 13:56:45 +0100 Subject: [PATCH 2/3] docs for groups --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index c3cb25c..6304862 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,20 @@ class { '::keepalived::vrrp': } ``` +You can also define resource groups via the "groups" parameter: + +```puppet +[...] +class { '::keepalived::vrrp': + [...] + groups => { 'web_group' => ['web','web_int'] }, + instances => { + web => [...] + web_int => [...] + }, +} +``` + Note that you may also set the `$global_defs_defaults` parameter, which will be merged with the more specific `$global_defs`, which is especially useful with hiera : From 4c8bd2a38bf5d7afa1a388906f45381b199c5337 Mon Sep 17 00:00:00 2001 From: Udo Waechter Date: Mon, 2 Jan 2017 16:07:11 +0100 Subject: [PATCH 3/3] handling empty group parameter --- templates/keepalived-vrrp.conf.erb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/templates/keepalived-vrrp.conf.erb b/templates/keepalived-vrrp.conf.erb index 2a600c7..81d751f 100644 --- a/templates/keepalived-vrrp.conf.erb +++ b/templates/keepalived-vrrp.conf.erb @@ -19,7 +19,8 @@ global_defs { <%- end -%> <%- end -%> } -<% @groups.each do |gname,gdata| -%> +<%- if !@groups.nil? and !@groups.empty? -%> +<%- @groups.each do |gname,gdata| -%> vrrp_sync_group <%= gname %> { group { @@ -29,6 +30,7 @@ vrrp_sync_group <%= gname %> { } } <%- end -%> +<%- end -%> <%- @instances.sort_by {|iname,idata| iname}.each do |iname,idata| -%> vrrp_instance <%= iname %> {