Replication Tools¶
Usage example¶
from lib389.repltools import ReplTools
# Gather all the CSN strings from the access and verify all of those CSNs exist on all the other replicas.
# dirsrv_replicas - a list of DirSrv objects. The list must begin with master replicas
# ignoreCSNs - an optional string of csns to be ignored
# if the caller knows that some csns can differ eg.: '57e39e72000000020000|vucsn-57e39e76000000030000'
ReplTools.checkCSNs([master1, master2], ignoreCSNs=None)
# Find and measure the convergence of entries from a replica, and
# print a report on how fast all the "ops" replicated to the other replicas.
# suffix - Replicated suffix
# ops - A list of "operations" to search for in the access logs
# replica - Dirsrv object where the entries originated
# all_replicas - A list of Dirsrv replicas
# It returns - The longest time in seconds for an operation to fully converge
longest_time = ReplTools.replConvReport(DEFAULT_SUFFIX, ops, master1, [master1, master2])
# Take a list of DirSrv Objects and check to see if all of the present
# replication agreements are idle for a particular backend
assert(ReplTools.replIdle([master1, master2], suffix=DEFAULT_SUFFIX))
defaultProperties = {
REPLICATION_BIND_DN: "cn=replication manager,cn=config",
REPLICATION_BIND_PW
# Create an entry that will be used to bind as replication manager
ReplTools.createReplManager(standalone,
repl_manager_dn=defaultProperties[REPLICATION_BIND_DN],
repl_manager_pw=defaultProperties[REPLICATION_BIND_PW])
Module documentation¶
-
class
lib389.repltools.
ReplTools
[source]¶ Replication tools
-
static
checkCSNs
(dirsrv_replicas, ignoreCSNs=None)[source]¶ Gather all the CSN strings from the access and verify all of those CSNs exist on all the other replicas.
- Parameters
dirsrv_replicas (list of lib389.DirSrv) – A list of DirSrv objects. The list must begin with master replicas
ignoreCSNs (str) – An optional string of csns to be ignored if the caller knows that some csns can differ eg.: ‘57e39e72000000020000|vucsn-57e39e76000000030000’
- Returns
True if all the CSNs are present, otherwise False
-
static
createReplManager
(server, repl_manager_dn=None, repl_manager_pw=None)[source]¶ Create an entry that will be used to bind as replication manager.
- Parameters
- Returns
None
- Raises
KeyError - if can not find valid values of Bind DN and Pwd
LDAPError - if we fail to add the replication manager
-
static
replConvReport
(suffix, ops, replica, all_replicas)[source]¶ Find and measure the convergence of entries from a replica, and print a report on how fast all the “ops” replicated to the other replicas.
- Parameters
- Returns
The longest time in seconds for an operation to fully converge
-
static
replIdle
(replicas, suffix='dc=example,dc=com')[source]¶ Take a list of DirSrv Objects and check to see if all of the present replication agreements are idle for a particular backend
- Parameters
replicas (list of lib389.DirSrv) – Suppliers, hubs, consumers
suffix (str) – Replicated suffix
- Raises
LDAPError: if unable to search for the replication agreements
- Returns
True if all the agreements are idle, otherwise False
-
static