Populate shared tree with replica related values

Fixes: https://fedorahosted.org/freeipa/ticket/820
This commit is contained in:
Simo Sorce
2011-01-21 14:32:55 -05:00
parent 82b4d5d6e8
commit 5bc7e5a9c7
3 changed files with 52 additions and 0 deletions

View File

@@ -737,3 +737,25 @@ class DsInstance(service.Service):
def __root_autobind(self):
self._ldap_mod("root-autobind.ldif")
def replica_populate(self):
self.ldap_connect()
dn = "cn=default,ou=profile,%s" % self.suffix
try:
ret = self.admin_conn.search_s(dn, ldap.SCOPE_BASE,
'(objectclass=*)')[0]
srvlist = ret.data.get('defaultServerList')
if len(srvlist) > 0:
srvlist = srvlist[0].split()
if not self.fqdn in srvlist:
srvlist.append(self.fqdn)
attr = ' '.join(srvlist)
mod = [(ldap.MOD_REPLACE, 'defaultServerList', attr)]
self.admin_conn.modify_s(dn, mod)
except ldap.NO_SUCH_OBJECT:
pass
except ldap.TYPE_OR_VALUE_EXISTS:
pass
self.ldap_disconnect()