{ 'dataFile' : 'Example.ldif' } 'Replication: External Changelog: Add_1. \ Verify add operation is recorded properly in the external \ changelog on each replication server' { '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(), lastCookie) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsScope' : 'subordinate', 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(objectclass=*)', '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 'Cookie to use for the next ECL search: %s' % \ nextCookie 'Could not read changelog on replication server %s:%s' \ % (replServer.getHostname(), replServer.getPort()) { 'location' : masterHost, 'dsPath' : masterPath, 'changelogEntry' : eclEntry, 'targetDN' : myTargetDN, 'changeType' : myChangeType, 'changeTime' : myChangeTime, 'targetEntryUUID' : myTargetEntryUUID, 'changes' : myChanges } 'Unable to check external changelog entry (failed to \ read entries %s and/or %s)' % \ (myEntry.getDn(), eclEntry['dn'][0]) 'Replication: External Changelog: Modify_add. \ Verify modify-add operation is recorded properly in the \ external changelog on each repl server' { '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(), lastCookie) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsScope' : 'subordinate', 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(objectclass=*)', '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 'Cookie to use for the next ECL search: %s' % \ nextCookie 'Could not read changelog on replication server %s:%s' \ % (replServer.getHostname(), replServer.getPort()) { 'location' : masterHost, 'dsPath' : masterPath, 'changelogEntry' : eclEntry, 'targetDN' : myTargetDN, 'changeType' : myChangeType, 'changeTime' : myChangeTime, 'targetEntryUUID' : myTargetEntryUUID, 'changes' : myChanges } 'Unable to check external changelog entry (failed to \ read entries %s and/or %s)' % \ (myEntry.getDn(), eclEntry['dn'][0]) 'Replication: External Changelog: Modify_delete. \ Verify modify-del operation is recorded properly in the \ external changelog on each repl server' { '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(), lastCookie) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsScope' : 'subordinate', 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(objectclass=*)', '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 'Cookie to use for the next ECL search: %s' % \ nextCookie 'Could not read changelog on replication server %s:%s' \ % (replServer.getHostname(), replServer.getPort()) { 'location' : masterHost, 'dsPath' : masterPath, 'changelogEntry' : eclEntry, 'targetDN' : myTargetDN, 'changeType' : myChangeType, 'changeTime' : myChangeTime, 'targetEntryUUID' : myTargetEntryUUID, 'changes' : myChanges } 'Unable to check external changelog entry (failed to \ read entries %s and/or %s)' % \ (myEntry.getDn(), eclEntry['dn'][0]) 'Replication: External Changelog: Modify_replace. \ Verify modify-replace operation is recorded properly in the \ external changelog on each repl server' { '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(), lastCookie) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsScope' : 'subordinate', 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(objectclass=*)', '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 'Cookie to use for the next ECL search: %s' % \ nextCookie 'Could not read changelog on replication server %s:%s' \ % (replServer.getHostname(), replServer.getPort()) { 'location' : masterHost, 'dsPath' : masterPath, 'changelogEntry' : eclEntry, 'targetDN' : myTargetDN, 'changeType' : myChangeType, 'changeTime' : myChangeTime, 'targetEntryUUID' : myTargetEntryUUID, 'changes' : myChanges } 'Unable to check external changelog entry (failed to \ read entries %s and/or %s)' % \ (myEntry.getDn(), eclEntry['dn'][0]) 'Replication: External Changelog: Modrdn_deleteoldrdn_true. \ Verify modrdn operation is recorded properly in the \ external changelog on each repl server' { '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(), lastCookie) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsScope' : 'subordinate', 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(objectclass=*)', '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 'Cookie to use for the next ECL search: %s' % \ nextCookie 'Could not read changelog on replication server %s:%s' \ % (replServer.getHostname(), replServer.getPort()) { 'location' : masterHost, 'dsPath' : masterPath, 'changelogEntry' : eclEntry, 'targetDN' : myTargetDN, 'changeType' : myChangeType, 'changeTime' : myChangeTime, 'targetEntryUUID' : myTargetEntryUUID, 'newRDN' : myNewRDN, 'deleteOldRDN' : myDeleteOldRDN } 'Unable to check external changelog entry (failed to \ read entries %s and/or %s)' % \ (newEntry.getDn(), eclEntry['dn'][0]) 'Replication: External Changelog: Modrdn_deleteoldrdn_false. \ Verify modrdn operation is recorded properly in the \ external changelog on each repl server' { '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(), lastCookie) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsScope' : 'subordinate', 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(objectclass=*)', '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 'Cookie to use for the next ECL search: %s' % \ nextCookie 'Could not read changelog on replication server %s:%s' \ % (replServer.getHostname(), replServer.getPort()) { 'location' : masterHost, 'dsPath' : masterPath, 'changelogEntry' : eclEntry, 'targetDN' : myTargetDN, 'changeType' : myChangeType, 'changeTime' : myChangeTime, 'targetEntryUUID' : myTargetEntryUUID, 'newRDN' : myNewRDN, 'deleteOldRDN' : myDeleteOldRDN } 'Unable to check external changelog entry (failed to \ read entries %s and/or %s)' % \ (newEntry.getDn(), eclEntry['dn'][0]) 'Replication: External Changelog: Delete_1. \ Verify delete operation is recorded properly in the \ external changelog on each repl server' { '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(), lastCookie) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsScope' : 'subordinate', 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(objectclass=*)', '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 'Cookie to use for the next ECL search: %s' % \ nextCookie 'Could not read changelog on replication server %s:%s' \ % (replServer.getHostname(), replServer.getPort()) { 'location' : masterHost, 'dsPath' : masterPath, 'changelogEntry' : eclEntry, 'targetDN' : myTargetDN, 'changeType' : myChangeType, 'targetEntryUUID' : myTargetEntryUUID } 'Unable to check external changelog entry (failed to \ read entries %s and/or %s)' % \ (newEntry.getDn(), eclEntry['dn'][0]) 'Replication: External Changelog: Add_2. \ Verify add operation (of and entry with userpassword) is \ recorded properly in the external changelog on each \ replication server' { '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(), lastCookie) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsScope' : 'subordinate', 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(objectclass=*)', '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 'Cookie to use for the next ECL search: %s' % \ nextCookie 'Could not read changelog on replication server %s:%s' \ % (replServer.getHostname(), replServer.getPort()) { 'location' : masterHost, 'dsPath' : masterPath, 'changelogEntry' : eclEntry, 'targetDN' : myTargetDN, 'changeType' : myChangeType, 'changeTime' : myChangeTime, 'targetEntryUUID' : myTargetEntryUUID, 'changes' : myChanges } 'Unable to check external changelog entry (failed to \ read entries %s and/or %s)' % \ (myEntry.getDn(), eclEntry['dn'][0]) 'Replication: External Changelog: Modify_replace_2. \ Verify modify-replace operation as non directory manager is \ recorded properly in the external changelog on each repl server' { '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(), lastCookie) { 'location' : replServer.getHostname(), 'dsPath' : replServerPath, 'dsInstanceHost' : replServer.getHostname(), 'dsInstancePort' : replServer.getPort(), 'dsInstanceDn' : replServer.getRootDn(), 'dsInstancePswd' : replServer.getRootPwd(), 'dsScope' : 'subordinate', 'dsBaseDN' : 'cn=changelog', 'dsFilter' : '(objectclass=*)', '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 'Cookie to use for the next ECL search: %s' % \ nextCookie 'Could not read changelog on replication server %s:%s' \ % (replServer.getHostname(), replServer.getPort()) { 'location' : masterHost, 'dsPath' : masterPath, 'changelogEntry' : eclEntry, 'targetDN' : myTargetDN, 'changeType' : myChangeType, 'changeTime' : myChangeTime, 'targetEntryUUID' : myTargetEntryUUID, 'changes' : myChanges } 'Unable to check external changelog entry (failed to \ read entries %s and/or %s)' % \ (myEntry.getDn(), eclEntry['dn'][0])