This function contains the common testcases that can be run on any of the
ECL modes: opends proprietary mode, changelog draft-compatible mode, or
dsee-compatible mode.
External Changelog mode: opends, draft, dsee
'Replication: External Changelog: %s - Setup. \
Set up environment for External Changelog tests' % ecl_mode
'Common ECL tests: reset data'
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstanceAdminPort' : master.getAdminPort(),
'localOnly' : False,
'replicationDnList' : [synchroSuffix],
'adminUID' : adminUID,
'adminPswd' : adminPswd
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsHost' : masterHost,
'dsAdminPort' : master.getAdminPort(),
'dsBindDN' : master.getRootDn(),
'dsBindPwd' : master.getRootPwd()
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'backEnd' : DIRECTORY_INSTANCE_BE,
'ldifFile' : '%s/replication/Example.ldif' \
% masterDataDir
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsDebugPort' : master.getDebugPort()
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort() ,
'dsInstanceDn' : master.getRootDn() ,
'dsInstancePswd' : master.getRootPwd() ,
'noOfLoops' : 10 ,
'noOfMilliSeconds' : 2000
}
{ 'location' : clientHost,
'dsPath' : clientPath,
'sourceInstanceHost' : masterHost,
'sourceInstanceAdminPort' : master.getAdminPort(),
'replicationDnList' : ['o=example']
}
'Common ECL tests: start test execution in mode: %s' % ecl_mode
'Replication: External Changelog: %s - Add_1. \
Verify add operation is recorded properly in the external \
changelog on each replication server' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' % \
(replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Modify_add. \
Verify modify-add operation is recorded properly in the \
external changelog on each repl server' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntry.getDn(),
'attributeName' : 'description',
'newAttributeValue' : '3',
'changetype' : 'add'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Modify_delete. \
Verify modify-del operation is recorded properly in the \
external changelog on each repl server' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntry.getDn(),
'listAttributes' : valuesToDelete,
'changetype' : 'delete'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Modify_replace. \
Verify modify-replace operation is recorded properly in the \
external changelog on each repl server' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntry.getDn(),
'attributeName' : 'description',
'newAttributeValue' : 'new',
'changetype' : 'replace'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Modrdn_deleteoldrdn_true. \
Verify modrdn operation is recorded properly in the \
external changelog on each repl server' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : oldEntry.getDn(),
'newRDN' : newRdn
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'newRDN' : myNewRDN,
'deleteOldRDN' : myDeleteOldRDN
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Modrdn_deleteoldrdn_false. \
Verify modrdn operation is recorded properly in the \
external changelog on each repl server' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : oldEntry.getDn(),
'newRDN' : newRdn,
'deleteOldRDN' : 0
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'newRDN' : myNewRDN,
'deleteOldRDN' : myDeleteOldRDN
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Delete_1. \
Verify delete operation is recorded properly in the \
external changelog on each repl server' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newEntry.getDn()
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newEntry.getDn(),
'dsFilter' : 'objectclass=*',
'expectedRC' : 32
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'targetEntryUUID' : myTargetEntryUUID
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Add_2. \
Verify add operation (of and entry with userpassword) is \
recorded properly in the external changelog on each \
replication server' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : '%s pwdChangedTime' % addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' %\
(replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Modify_replace_2. \
Verify modify-replace operation as non directory manager is \
recorded properly in the external changelog on each repl server' \
% ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : myEntry.getDn(),
'dsInstancePswd' : 'password',
'DNToModify' : myEntry.getDn(),
'attributeName' : 'userpassword',
'newAttributeValue' : 'newpass',
'changetype' : 'replace'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : '%s pwdChangedTime' % modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Last index. \
Verify the last index (lastExternalChangelogCookie or \
lastChangenumber) value matches that of the last external \
changelog entry' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntryDn,
'attributeName' : 'l',
'newAttributeValue' : newLoc,
'changetype' : 'add'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'base',
'dsBaseDN' : ' ',
'dsFilter' : 'objectclass=*',
'dsAttributes' : lastIndexAttr
}
'Last index read from root DSE entry %s attribute: %s' % \
(lastIndexAttr, lastIndexValue)
'Could not read root DSE entry from server %s:%s' % \
(server.getHostname(), server.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Index to use for the next ECL search: %s' % nextIndex
'Last index %s:%s does not match value found in ECL \
entry %s : %s' % (lastIndexAttr, lastIndexValue,
eclEntry['dn'][0], eclIndexValue)
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Failover (stop). \
Verify the external changelog can cope with a server failover \
(server stopped)' % ecl_mode
[consumerList]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntryDn,
'attributeName' : 'description',
'newAttributeValue' : newDesc0,
'changetype' : 'replace'
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntryDn,
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
[consumerList]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntryDn,
'attributeName' : 'description',
'newAttributeValue' : newDesc1,
'changetype' : 'replace'
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntryDn,
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries as read from server %s:%s: \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntries' : searchResult }
'Number of added entries %s does not match number of ECL \
entries %s' % (len(modEntries), len(eclEntries))
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Failover (kill). \
Verify the external changelog can cope with a server failover \
(server killed)' % ecl_mode
{ 'location' : server.getHostname(),
'dsPath' : serverPath
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntryDn,
'attributeName' : 'description',
'newAttributeValue' : newDesc0,
'changetype' : 'replace'
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntryDn,
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
[consumerList]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntryDn,
'attributeName' : 'description',
'newAttributeValue' : newDesc1,
'changetype' : 'replace'
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntryDn,
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries as read from server %s:%s: \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntries' : searchResult }
'Number of added entries %s does not match number of ECL \
entries %s' % (len(modEntries), len(eclEntries))
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Multiple add (single server). \
Verify multiple add operations on a single server are recorded \
properly in the external changelog on each replication server' \
% ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : synchroSuffix,
'dsFilter' : 'sn=Multiple add',
'dsAttributes' : addOperationalAttrs
}
'These are the entries as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntries' : searchResult }
'Could not read added entries from server %s:%s' % \
(masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries as read from server %s:%s: \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntries' : searchResult }
'Number of added entries %s does not match number of ECL \
entries %s' % (len(addedEntries), len(eclEntries))
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Multiple add (multiple servers). \
Verify multiple add operations on multiple servers are recorded \
properly in the external changelog on each replication server' \
% ecl_mode
'Adding entry %s to server %s:%s)' % \
(myEntry.getDn(), server.getHostname(), server.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : server.getHostname(),
'dsInstancePort' : server.getPort(),
'dsInstanceDn' : server.getRootDn(),
'dsInstancePswd' : server.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : synchroSuffix,
'dsFilter' : 'sn=NEW Multiple add',
'dsAttributes' : addOperationalAttrs
}
'These are the entries as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntries' : searchResult }
'Could not read added entries from server %s:%s' % \
(masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries as read from server %s:%s: \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntries' : searchResult }
'Number of added entries %s does not match number of ECL \
entries %s' % (len(addedEntries), len(eclEntries))
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Multiple modify (multiple \
servers). \
Verify multiple mod operations on multiple servers are recorded \
properly in the external changelog on each replication server' \
% ecl_mode
'Adding telephonenumber %s to entry %s on server %s:%s' % \
(myTelephonenumber, myEntryDn,
server.getHostname(), server.getPort())
{ 'location' : server.getHostname(),
'dsPath' : serverPath,
'dsInstanceHost' : server.getHostname(),
'dsInstancePort' : server.getPort(),
'dsInstanceDn' : server.getRootDn(),
'dsInstancePswd' : server.getRootPwd(),
'DNToModify' : myEntryDn,
'attributeName' : 'telephonenumber',
'newAttributeValue' : myTelephonenumber,
'changetype' : 'add'
}
{ 'location' : server.getHostname(),
'dsPath' : serverPath,
'dsInstanceHost' : server.getHostname(),
'dsInstancePort' : server.getPort(),
'dsInstanceDn' : server.getRootDn(),
'dsInstancePswd' : server.getRootPwd(),
'dsBaseDN' : myEntryDn,
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(server.getHostname(), server.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entries from server %s:%s' % \
(server.getHostname(), server.getPort())
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries as read from server %s:%s: \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntries' : searchResult }
'Number of added entries %s does not match number of ECL \
entries %s' % (len(modEntries), len(eclEntries))
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Two suffixes (one \
replicated, one non-replicated). \
Verify external changelog only cares about replicated suffix' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' %\
(replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstanceAdminPort' : master.getAdminPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'objectName' : 'backend',
'propertyType' : 'backend',
'propertyName' : 'userRoot',
'modifyType' : 'add',
'attributeName' : 'base-dn',
'attributeValue' : newSuffix
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : newSuffix,
'listAttributes' : newRootEntryAttrs
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : 'ou=People,%s' % newSuffix,
'listAttributes' : newPeopleEntryAttrs
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myNewEntry.getDn(),
'listAttributes' : myNewEntry.getAttrList()
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newSuffix,
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'These are the entries as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntries' : searchResult }
'Could not read added entries from server %s:%s' % \
(masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries as read from server %s:%s: \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntries' : searchResult }
'Server %s:%s : ECL entries = %s ; Expected = %s' % \
(replServer.getHostname(), replServer.getPort(),
eclEntriesNb, expectedNb)
'Number of ECL entries %s does not match number of \
expected entries %s' % (eclEntriesNb, expectedNb)
'Index to use for the next ECL search: %s' % nextIndex
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Two suffixes (both \
replicated). \
Verify external changelog can manage several suffixes' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
{ 'location' : server.getHostname(),
'dsPath' : serverPath,
'dsInstanceHost' : server.getHostname(),
'dsInstanceAdminPort' : server.getAdminPort(),
'dsInstanceDn' : server.getRootDn(),
'dsInstancePswd' : server.getRootPwd(),
'objectName' : 'backend',
'propertyType' : 'backend',
'propertyName' : 'userRoot',
'modifyType' : 'add',
'attributeName' : 'base-dn',
'attributeValue' : newReplSuffix
}
'Enable replication for server:\nHost: %s\nLdap port: %s\n\
Replication port: %s\nReplicated DN list: %s' \
% (server.getHostname(), server.getPort(),
serverReplPort, replicatedDnList)
{ 'location' : clientHost,
'dsPath' : clientPath,
'refInstanceHost' : masterHost,
'refInstanceAdminPort' : master.getAdminPort(),
'refInstanceDn' : master.getRootDn(),
'refInstancePswd' : master.getRootPwd(),
'refReplicationPort' : masterReplPort,
'refSecureReplication' : secureReplication,
'refOnlyLdapServer' : master.isOnlyLdapServer(),
'refOnlyReplServer' : master.isOnlyReplServer(),
'dsInstanceHost' : server.getHostname(),
'dsInstanceAdminPort' : server.getAdminPort(),
'dsInstanceDn' : server.getRootDn(),
'dsInstancePswd' : server.getRootPwd(),
'dsReplicationPort' : serverReplPort,
'dsSecureReplication' : secureReplication,
'dsOnlyLdapServer' : server.isOnlyLdapServer(),
'dsOnlyReplServer' : server.isOnlyReplServer(),
'replicationDnList' : replicatedDnList
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : newReplSuffix,
'listAttributes' : newRootEntryAttrs
}
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie,
'expectedRC' : 53
}
'This is the ECL search result on server %s:%s \
(expect ERROR 53 to be returned): \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'expectedString' : 'is missing the replicated domain',
'returnString' : searchResult
}
'This is the new changelogcookie to use: %s' % newCookie
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : 'ou=People,%s' % newReplSuffix,
'listAttributes' : newPeopleEntryAttrs
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myNewEntry.getDn(),
'listAttributes' : myNewEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, newReplSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newReplSuffix,
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'These are the entries as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntries' : searchResult }
'Could not read added entries from server %s:%s' % \
(masterHost, master.getPort())
'DEBUG: Get content of cn=changelog'
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsBaseDN' : 'cn=changelog',
'dsFilter' : 'objectclass=*'
}
STAXResult[0][1]
'DEBUG: Get value of purge delay'
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'get-replication-server-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : '--advanced'
}
STAXResult[0][1]
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries as read from server %s:%s: \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntries' : searchResult }
'Server %s:%s : ECL entries = %s ; Expected = %s' % \
(replServer.getHostname(), replServer.getPort(),
eclEntriesNb, expectedNb)
'Number of ECL entries %s does not match number of \
expected entries %s' % (eclEntriesNb, expectedNb)
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Two suffixes, alternate \
adds. \
Verify external changelog can manage several suffixes' % ecl_mode
'Adding entry %s to server %s:%s)' % \
(myEntry.getDn(), server.getHostname(), server.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : server.getHostname(),
'dsInstancePort' : server.getPort(),
'dsInstanceDn' : server.getRootDn(),
'dsInstancePswd' : server.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
[ clientHost, clientPath, master, consumerList, newReplSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : synchroSuffix,
'dsFilter' : 'sn=Alternate',
'dsAttributes' : addOperationalAttrs
}
'These are the entries as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntries' : searchResult }
'Could not read added entries from server %s:%s' % \
(masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : eclSearchBaseDn,
'dsFilter' : eclSearchFilter,
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries for suffix %s as read from \
server %s:%s: \n%s' \
% (synchroSuffix, replServer.getHostname(),
replServer.getPort(), searchResult)
{ 'ldifEntries' : searchResult }
'Server %s:%s - Suffix: %s : ECL entries = %s ; Expected \
= %s' % \
(replServer.getHostname(), replServer.getPort(),
synchroSuffix, eclEntriesNb, expectedNb)
'Number of ECL entries %s does not match number of \
expected entries %s' % (eclEntriesNb, expectedNb)
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newReplSuffix,
'dsFilter' : 'sn=Alternate',
'dsAttributes' : addOperationalAttrs
}
'These are the entries as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntries' : searchResult }
'Could not read added entries from server %s:%s' % \
(masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : eclSearchBaseDn,
'dsFilter' : eclSearchFilter,
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries for suffix %s as read from \
server %s:%s: \n%s' \
% (synchroSuffix, replServer.getHostname(),
replServer.getPort(), searchResult)
{ 'ldifEntries' : searchResult }
'Server %s:%s - Suffix: %s : ECL entries = %s ; Expected \
= %s' % \
(replServer.getHostname(), replServer.getPort(),
newReplSuffix, eclEntriesNb, expectedNb)
'Number of ECL entries %s does not match number of \
expected entries %s' % (eclEntriesNb, expectedNb)
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Disable ECL - add entry to \
disabled suffix. \
Verify external changelog can be disabled for a replicated suffix' \
% ecl_mode
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'base',
'dsBaseDN' : ' ',
'dsFilter' : 'objectclass=*',
'dsAttributes' : lastIndexAttr
}
'Last index read from root DSE entry %s attribute: %s' % \
(lastIndexAttr, lastIndexValue)
'Index to use for the next ECL search: %s' % nextIndex
'Could not read root DSE entry from server %s:%s' % \
(server.getHostname(), server.getPort())
'Disable ECL for suffix %s on server %s:%s' % \
(synchroSuffix, replServer.getHostname(), replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie,
'expectedRC' : myExpectedRC
}
'This is the ECL search result on server %s:%s \
(expect ERROR 53 to be returned): \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'expectedString' : 'contains unknown replicated domain',
'returnString' : searchResult
}
'This is the new changelogcookie to use: %s' % newCookie
'This is the ECL entry as read from server %s:%s \
(expect NO ECL entry to be returned): \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
'Expected NO ECL entry to be returned'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s \
(expect NO ECL entry to be returned): \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
'Expected NO ECL entry to be returned'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Disable ECL - add entry to \
non-disabled suffix. \
Verify external changelog can be disabled for a replicated suffix, \
and still record changes in other replicated suffix.' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, newReplSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' %\
(replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Re-enable ECL. \
Verify external changelog can be re-enabled for a replicated \
suffix' % ecl_mode
'Re-enable ECL for suffix %s on server %s:%s' % \
(synchroSuffix, replServer.getHostname(), replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie,
'expectedRC' : 53
}
'This is the ECL search result on server %s:%s \
(expect ERROR 53 to be returned): \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'expectedString' : 'is missing the replicated domain',
'returnString' : searchResult
}
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'base',
'dsBaseDN' : ' ',
'dsFilter' : 'objectclass=*',
'dsAttributes' : 'lastExternalChangelogCookie'
}
'New index read from root DSE entry \
lastExternalChangelogCookie attribute: %s' \
% nextIndex
'Could not read root DSE entry from server %s:%s' \
% (masterHost, master.getPort())
'Did not get the expected error 53 when reading changelog \
on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' %\
(replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Disable + Re-enable ECL. \
Verify external changelog can be disabled, then re-enabled for a \
replicated suffix and still return the changes performed in \
between' % ecl_mode
'Disable ECL for suffix %s on server %s:%s' % \
(synchroSuffix, replServer.getHostname(), replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
'Re-enable ECL for suffix %s on server %s:%s' % \
(synchroSuffix, replServer.getHostname(), replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : synchroSuffix,
'dsFilter' : 'sn=Disabled Re-enabled',
'dsAttributes' : addOperationalAttrs
}
'These are the entries as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntries' : searchResult }
'Could not read added entries from server %s:%s' % \
(masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries as read from server %s:%s: \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntries' : searchResult }
'Number of added entries %s does not match number of ECL \
entries %s' % (len(addedEntries), len(eclEntries))
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: Add, \
single-value include-attr. \
Verify add operation is recorded properly in the external \
changelog on each replication server and include-attributes are \
published' % ecl_mode
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'base',
'dsBaseDN' : ' ',
'dsFilter' : 'objectclass=*',
'dsAttributes' : lastIndexAttr
}
'Last index read from root DSE entry %s attribute: %s' % \
(lastIndexAttr, lastIndexValue)
'Index to use for the next ECL search: %s' % nextIndex
'Could not read root DSE entry from server %s:%s' % \
(server.getHostname(), server.getPort())
'Set include-attribute %s for suffix %s on server %s:%s' \
% (incAttr, synchroSuffix, replServer.getHostname(),
replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' %\
(replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Expected some ECL entry but NO ENTRY returned'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include Attributes: Add (on \
peer server), single-value include-attr. \
Verify add operation (on a server other than where the include-attr\
has been configured) is recorded properly and include-attributes \
are still published' % ecl_mode
{ 'location' : consumer.getHostname(),
'dsPath' : consumerPath,
'dsInstanceHost' : consumer.getHostname(),
'dsInstancePort' : consumer.getPort(),
'dsInstanceDn' : consumer.getRootDn(),
'dsInstancePswd' : consumer.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' %\
(replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Expected some ECL entry but NO ENTRY returned'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: Add, \
multiple-value include-attr. \
Verify add operation is recorded properly in the external \
changelog on each replication server and newly set \
include-attributes are published, unlike the old include-attributes\
, that should no longer be published' % ecl_mode
'Set include-attribute %s for suffix %s on server %s:%s' \
% (incAttr, synchroSuffix, replServer.getHostname(),
replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' %\
(replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs,
'expectMissingIncAttrs' : myMissingIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Expected some ECL entry but NO ENTRY returned'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: Add, \
several include-attrs. \
Verify add operation is recorded properly in the external \
changelog on each replication server and include-attributes are \
published' % ecl_mode
'Add include-attribute %s for suffix %s on server %s:%s' \
% (incAttrs[0], synchroSuffix, replServer.getHostname(),
replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' %\
(replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Expected some ECL entry but NO ENTRY returned'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-attributes: Add to \
unconfigured suffix. \
Verify add operation is recorded properly in the external \
changelog obut include-attributes are NOT published' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, newReplSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : addOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s' %\
(replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs,
'expectMissingIncAttrs' : myMissingIncAttrs,
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Expected some ECL entry but NO ENTRY returned'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: Add, \
different include-attr per server. \
Verify add operation is recorded properly in the external \
changelog and ALL configured include-attributes are published' \
% ecl_mode
'Set include-attribute %s for suffix %s on server %s:%s' \
% (incAttr, synchroSuffix, replServer.getHostname(),
replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
'Adding entry %s to server %s:%s)' % \
(myEntry.getDn(), server.getHostname(), server.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : server.getHostname(),
'dsInstancePort' : server.getPort(),
'dsInstanceDn' : server.getRootDn(),
'dsInstancePswd' : server.getRootPwd(),
'DNToAdd' : myEntry.getDn(),
'listAttributes' : myEntry.getAttrList()
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : synchroSuffix,
'dsFilter' : 'sn=Multi-server Include-Attrs',
'dsAttributes' : addOperationalAttrs
}
'These are the entries as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntries' : searchResult }
'Could not read added entries from server %s:%s' % \
(masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'These are the ECL entries as read from server %s:%s: \n%s' \
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntries' : searchResult }
'Number of added entries %s does not match number of ECL \
entries %s' % (len(addedEntries), len(eclEntries))
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Expected some ECL entry but NO ENTRY returned'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: \
Modify_add, attribute NOT in include-attrs. \
Verify modify-add operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
'Set include-attribute %s for suffix %s on server %s:%s' \
% (incAttr, synchroSuffix, replServer.getHostname(),
replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : incAttr
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntry.getDn(),
'attributeName' : addAttr,
'newAttributeValue' : addValue,
'changetype' : 'add'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: \
Modify_add, multiple-value attribute in include-attrs. \
Verify modify-add operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : incAttr
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntry.getDn(),
'attributeName' : addAttr,
'newAttributeValue' : addValue,
'changetype' : 'add'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: \
Modify_add, single-value attribute in include-attrs. \
Verify modify-add operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
'Add include-attribute %s for suffix %s on server %s:%s' \
% (incAttrs[0], synchroSuffix, replServer.getHostname(),
replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : ' '.join(incAttrs)
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntry.getDn(),
'attributeName' : addAttr,
'newAttributeValue' : addValue,
'changetype' : 'add'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs,
'expectMissingIncAttrs' : myMissingIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: \
Modify_delete, attribute NOT in include-attrs. \
Verify modify-delete operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : ' '.join(incAttrs + [delAttr])
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntry.getDn(),
'attributeName' : delAttr,
'newAttributeValue' : delValue,
'changetype' : 'delete'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: \
Modify_delete, attribute in include-attrs. \
Verify modify-delete operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : ' '.join(incAttrs + [delAttr])
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntry.getDn(),
'attributeName' : delAttr,
'newAttributeValue' : delValue,
'changetype' : 'delete'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: \
Modify_replace, attribute NOT in include-attrs. \
Verify modify-replace operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : ' '.join(incAttrs)
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntry.getDn(),
'attributeName' : replAttr,
'newAttributeValue' : replValue,
'changetype' : 'replace'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs,
'expectMissingIncAttrs' : myMissingIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: \
Modify_replace, attribute in include-attrs. \
Verify modify-replace operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : ' '.join(incAttrs)
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : myEntry.getDn(),
'attributeName' : replAttr,
'newAttributeValue' : replValue,
'changetype' : 'replace'
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read modified entry %s from server %s:%s' % \
(myEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'changes' : myChanges,
'includeAttrs' : myIncAttrs,
'expectMissingIncAttrs' : myMissingIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: \
Modrdn_deleteoldrdn_true, rdn NOT in include-attrs. \
Verify modrdn operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : ' '.join(incAttrs)
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : oldEntry.getDn(),
'newRDN' : newRdn
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'newRDN' : myNewRDN,
'deleteOldRDN' : myDeleteOldRDN,
'includeAttrs' : myIncAttrs,
'expectMissingIncAttrs' : myMissingIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: \
Modrdn_deleteoldrdn_true, rdn in include-attrs. \
Verify modrdn operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
'Add include-attribute %s for suffix %s on server %s:%s' \
% (incAttrs[0], synchroSuffix, replServer.getHostname(),
replServer.getPort())
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstanceAdminPort' : replServer.getAdminPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'subcommand' : 'set-external-changelog-domain-prop',
'objectType' : 'provider-name',
'objectName' : 'Multimaster Synchronization',
'optionsString' : myOptionString
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : ' '.join(incAttrs)
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : oldEntry.getDn(),
'newRDN' : newRdn
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'newRDN' : myNewRDN,
'deleteOldRDN' : myDeleteOldRDN,
'includeAttrs' : myIncAttrs,
'expectMissingIncAttrs' : myMissingIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: \
Moddn_deleteoldrdn_false, rdn in include-attrs. \
Verify moddn operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : ' '.join(incAttrs)
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'DNToModify' : oldEntry.getDn(),
'newRDN' : newRdn,
'newSuperior' : newSuperior,
'deleteOldRDN' : 0
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : newEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'changeTime' : myChangeTime,
'targetEntryUUID' : myTargetEntryUUID,
'newRDN' : myNewRDN,
'newSuperior' : myNewSuperior,
'deleteOldRDN' : myDeleteOldRDN,
'includeAttrs' : myIncAttrs,
'expectMissingIncAttrs' : myMissingIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Include-Attributes: Delete. \
Verify delete operation is recorded properly in the \
external changelog and include-attributes are published' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'dsAttributes' : modOperationalAttrs
}
'This is the entry as read from server %s:%s: \n%s' % \
(masterHost, master.getPort(), searchResult)
{ 'ldifEntry' : searchResult }
'Could not read added entry %s from server %s:%s' % \
(newEntry.getDn(), masterHost, master.getPort())
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn()
}
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstancePort' : master.getPort(),
'dsInstanceDn' : master.getRootDn(),
'dsInstancePswd' : master.getRootPwd(),
'dsBaseDN' : myEntry.getDn(),
'dsFilter' : 'objectclass=*',
'expectedRC' : 32
}
[ clientHost, clientPath, master, consumerList, synchroSuffix ]
'Reading changelog in replication server %s:%s from index: \
%s' % \
(replServer.getHostname(), replServer.getPort(), searchIndex)
{ 'location' : replServer.getHostname(),
'dsPath' : replServerPath,
'dsInstanceHost' : replServer.getHostname(),
'dsInstancePort' : replServer.getPort(),
'dsInstanceDn' : replServer.getRootDn(),
'dsInstancePswd' : replServer.getRootPwd(),
'dsScope' : 'subordinate',
'dsBaseDN' : 'cn=changelog',
'dsFilter' : '(objectclass=*)',
'changeNumberFilter' : chgNumberFilter,
'changelogCookie' : lastCookie
}
'This is the ECL entry as read from server %s:%s: \n%s'\
% (replServer.getHostname(), replServer.getPort(),
searchResult)
{ 'ldifEntry' : searchResult }
'Parsed changelog entry: \n%s' % eclEntry
'Index to use for the next ECL search: %s' % nextIndex
{ 'location' : masterHost,
'dsPath' : masterPath,
'changelogEntry' : eclEntry,
'targetDN' : myTargetDN,
'changeNumber' : myChangeNumber,
'changeType' : myChangeType,
'targetEntryUUID' : myTargetEntryUUID,
'includeAttrs' : myIncAttrs,
'expectMissingIncAttrs' : myMissingIncAttrs
}
'Unable to check external changelog entry \
(failed to read LDAP and/or changelog entry)'
'Could not read changelog on replication server %s:%s' \
% (replServer.getHostname(), replServer.getPort())
'Replication: External Changelog: %s - Clean up. \
Clean up environment for External Changelog tests' % ecl_mode
{ 'location' : masterHost,
'dsPath' : masterPath,
'dsInstanceHost' : masterHost,
'dsInstanceAdminPort' : master.getAdminPort(),
'localOnly' : False,
'replicationDnList' : [newReplSuffix],
'adminUID' : adminUID,
'adminPswd' : adminPswd
}
'Disable replication for suffix %s on server %s:%s' % \
(newReplSuffix, server.getHostname(), server.getPort())
{ 'location' : server.getHostname(),
'dsPath' : serverPath,
'dsInstanceHost' : server.getHostname(),
'dsInstanceAdminPort' : server.getAdminPort(),
'replicationDnList' : [newReplSuffix]
}
'Remove suffix %s on server %s:%s' % \
(newReplSuffix, server.getHostname(), server.getPort())
{ 'location' : server.getHostname(),
'dsPath' : serverPath,
'dsInstanceHost' : server.getHostname(),
'dsInstanceAdminPort' : server.getAdminPort(),
'dsInstanceDn' : server.getRootDn(),
'dsInstancePswd' : server.getRootPwd(),
'objectName' : 'backend',
'propertyType' : 'backend',
'propertyName' : 'userRoot',
'modifyType' : 'remove',
'attributeName' : 'base-dn',
'attributeValue' : newReplSuffix
}
'Remove suffix %s on server %s:%s' % \
(newSuffix, server.getHostname(), server.getPort())
{ 'location' : server.getHostname(),
'dsPath' : serverPath,
'dsInstanceHost' : server.getHostname(),
'dsInstanceAdminPort' : server.getAdminPort(),
'dsInstanceDn' : server.getRootDn(),
'dsInstancePswd' : server.getRootPwd(),
'objectName' : 'backend',
'propertyType' : 'backend',
'propertyName' : 'userRoot',
'modifyType' : 'remove',
'attributeName' : 'base-dn',
'attributeValue' : newSuffix
}