def default_test(): host = 'localhost' port = 10200 binddn = "cn=directory manager" bindpw = "password" suffix = 'dc=example,dc=com' basedn = DN_CONFIG scope = ldap.SCOPE_BASE filt = "(objectclass=*)" instance_name = ['m1', 'm2'] instance_config = { 'cfgdshost': host, 'cfgdsport': port, 'cfgdsuser': '******', 'cfgdspwd': 'admin', 'newrootpw': 'password', 'newhost': host, 'newport': port, 'newinstance': instance_name[0], 'newsuffix': suffix, 'setup_admin': True, } try: m1 = DSAdmin(host, port, binddn, bindpw) except: m1 = DSAdminTools.createInstance(instance_config, verbose=1) added_instances.append(instance_config['newinstance']) # filename = "%s/slapd-%s/ldif/Example.ldif" % (m1.sroot, m1.inst) # m1.importLDIF(filename, "dc=example,dc=com", None, True) # m1.exportLDIF('/tmp/ldif', "dc=example,dc=com", False, True) print m1.sroot, m1.inst, m1.errlog ent = m1.getEntry(basedn, scope, filt, None) if ent: print ent.passwordmaxage instance_config.update({ 'newinstance': instance_name[1], 'newport': port + 10, }) m1 = DSAdminTools.createInstance(instance_config, verbose=1) added_instances.append(instance_config['newinstance']) # m1.stop(True) # m1.start(True) cn = m1.setupBackend("dc=example2,dc=com") rc = m1.setupSuffix("dc=example2,dc=com", cn) entry = m1.getEntry(DN_CONFIG, ldap.SCOPE_SUBTREE, "(cn=" + cn + ")") print "new backend entry is:" print entry print entry.getValues('objectclass') print entry.OBJECTCLASS results = m1.search_s("cn=monitor", ldap.SCOPE_SUBTREE) print results results = m1.getBackendsForSuffix("dc=example,dc=com") print results print "done"
dn = "cn=%d, %s" % (ii, basedn) ent = Entry(dn) ent.setValues('objectclass', 'person') ent.setValues('sn', 'testuser') m2.add_s(ent) print "Added m2 entry", dn print "Add %d entries to m1" % len(m1ents) for ii in m1ents: dn = "cn=%d, %s" % (ii, basedn) ent = Entry(dn) ent.setValues('objectclass', 'person') ent.setValues('sn', 'testuser') m1.add_s(ent) print "Added m1 entry", dn print "Sleep for 5 seconds to let changes propagate . . ." time.sleep(5) print "see if m1 entries made it to m2" for ii in m1ents: dn = "cn=%d, %s" % (ii, basedn) ent = m2.getEntry(dn, ldap.SCOPE_BASE) print "found m2 entry", ent print "see if m2 entries made it to m1" for ii in m2ents: dn = "cn=%d, %s" % (ii, basedn) ent = m1.getEntry(dn, ldap.SCOPE_BASE) print "found m1 entry", ent