Introduce configurable rid ("Replica ID"?) per database. This is needed for multi DB replication.
This commit is contained in:
parent
a1b6379b9a
commit
d23e9995d6
2 changed files with 12 additions and 3 deletions
|
@ -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"),
|
||||||
|
|
|
@ -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 +"
|
||||||
|
|
Loading…
Add table
Reference in a new issue