Introduce configurable rid ("Replica ID"?) per database. This is needed for multi DB replication.

This commit is contained in:
Ossi Herrala 2013-02-07 12:26:24 +00:00
parent a1b6379b9a
commit d23e9995d6
2 changed files with 12 additions and 3 deletions

View file

@ -611,6 +611,9 @@ class ldap::server {
# Password for uid=replicator,cn=config,${name} user on master.
# Only needed for slave databases.
#
# $rid:
# Replica ID. Must be unique per replica per database.
#
# $moduleoptions:
# Options for overlay modules.
#
@ -620,10 +623,16 @@ class ldap::server {
# moduleoptions => [ "smbkrb5pwd-enable=samba", ]
# }
#
define ldap::server::database($aclsource = "", $master = "", $syncpw = "", $moduleoptions = []) {
define ldap::server::database($aclsource = "", $master = "", $syncpw = "", $rid = "", $moduleoptions = []) {
include ldap::server
if $rid == "" {
$rid_real = fqdn_rand(999)
} else {
$rid_real = $rid
}
file { "${ldap::server::config}/slapd.conf.d/db.${name}.conf":
ensure => present,
content => template("ldap/slapd-database.conf.erb"),

View file

@ -36,7 +36,7 @@ directory /srv/ldap/<%= name %>
<% if master != "" -%>
# replication
syncrepl rid=2
syncrepl rid=<%= rid_real %>
provider=<%= master %>
type=refreshAndPersist
retry="10 10 60 +"