# set default server serverfqdn = "dc%s.%s" % (self.departmentNumber, self.configRegistry['domainname']) # get alternative server (defined at ou object if a dc slave is responsible for more than one ou) ou_dn = "ou=%s,%s" % (self.departmentNumber, self.configRegistry['ldap/base']) ou_attr_LDAPAccessWrite = self.adminlo.get(ou_dn,['univentionLDAPAccessWrite']) alternativeServer_dn = None if len(ou_attr_LDAPAccessWrite) > 0: alternativeServer_dn = ou_attr_LDAPAccessWrite["univentionLDAPAccessWrite"][0] if len(ou_attr_LDAPAccessWrite) > 1: ud.debug( ud.ADMIN, ud.WARN, 'SCHOOLGROUPS: more than one corresponding univentionLDAPAccessWrite found at ou=%s' % self.departmentNumber ) # build fqdn of alternative server and set serverfqdn if alternativeServer_dn: alternativeServer_attr = self.adminlo.get(alternativeServer_dn,['uid']) if len(alternativeServer_attr) > 0: alternativeServer_uid = alternativeServer_attr['uid'][0] alternativeServer_uid = alternativeServer_uid.replace('$','') if len(alternativeServer_uid) > 0: serverfqdn = "%s.%s" % (alternativeServer_uid, self.configRegistry['domainname'])