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

View file

@ -29,14 +29,14 @@ overlay syncprov
syncprov-checkpoint 100 10 syncprov-checkpoint 100 10
syncprov-sessionlog 100 syncprov-sessionlog 100
# The database directory MUST exist prior to running slapd AND # The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools. # should only be accessible by the slapd and slap tools.
# Mode 700 recommended. # Mode 700 recommended.
directory /srv/ldap/<%= name %> directory /srv/ldap/<%= name %>
<% if master != "" -%> <% if master != "" -%>
# replication # replication
syncrepl rid=2 syncrepl rid=<%= rid_real %>
provider=<%= master %> provider=<%= master %>
type=refreshAndPersist type=refreshAndPersist
retry="10 10 60 +" retry="10 10 60 +"