Univention Bugzilla – Attachment 6362 Details for
Bug 36639
AD-Takeover aborts with traceback if join takes too long (i.e. takeover of large AD).
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
reconnect_after_join.patch
reconnect_after_join.patch (text/plain), 2.82 KB, created by
Arvid Requate
on 2014-11-13 14:07:13 CET
(
hide
)
Description:
reconnect_after_join.patch
Filename:
MIME Type:
Creator:
Arvid Requate
Created:
2014-11-13 14:07:13 CET
Size:
2.82 KB
patch
obsolete
>Index: umc/python/adtakeover/takeover.py >=================================================================== >--- umc/python/adtakeover/takeover.py (Revision 55760) >+++ umc/python/adtakeover/takeover.py (Arbeitskopie) >@@ -621,16 +621,16 @@ > self.username = username > self.password = password > >- creds = Credentials() >+ self.creds = Credentials() > # creds.guess(lp) >- creds.set_domain("") >- creds.set_workstation("") >- creds.set_kerberos_state(DONT_USE_KERBEROS) >- creds.set_username(self.username) >- creds.set_password(self.password) >+ self.creds.set_domain("") >+ self.creds.set_workstation("") >+ self.creds.set_kerberos_state(DONT_USE_KERBEROS) >+ self.creds.set_username(self.username) >+ self.creds.set_password(self.password) > > try: >- self.samdb = SamDB(self.ldap_uri, credentials=creds, session_info=system_session(self.lp), lp=self.lp) >+ self.samdb = SamDB(self.ldap_uri, credentials=self.creds, session_info=system_session(self.lp), lp=self.lp) > except ldb.LdbError: > raise AuthenticationFailed() > >@@ -638,7 +638,7 @@ > ntds_guid = self.samdb.get_ntds_GUID() > local_ntds_guid = None > try: >- local_samdb = SamDB("ldap://127.0.0.1", credentials=creds, session_info=system_session(self.lp), lp=self.lp) >+ local_samdb = SamDB("ldap://127.0.0.1", credentials=self.creds, session_info=system_session(self.lp), lp=self.lp) > local_ntds_guid = local_samdb.get_ntds_GUID() > except ldb.LdbError: > pass >@@ -672,6 +672,12 @@ > self.domain_info = lookup_adds_dc(self.hostname_or_ip) > self.domain_info['ad_os'] = self.operatingSystem(self.domain_info["ad_netbios_name"]) > >+ def reconnect(self): >+ try: >+ self.samdb = SamDB(self.ldap_uri, credentials=self.creds, session_info=system_session(self.lp), lp=self.lp) >+ except ldb.LdbError: >+ raise AuthenticationFailed() >+ > def operatingSystem(self, netbios_name): > msg = self.samdb.search(base=self.samdb.domain_dn(), scope=samba.ldb.SCOPE_SUBTREE, > expression="(sAMAccountName=%s$)" % netbios_name, >@@ -1033,7 +1039,13 @@ > > ## Fix some attributes in local SamDB > operatingSystem_attribute(self.ucr, self.samdb) >- takeover_DC_Behavior_Version(self.ucr, self.AD.samdb, self.samdb, self.ad_server_name, self.AD.domain_info["ad_server_site"]) >+ try: >+ takeover_DC_Behavior_Version(self.ucr, self.AD.samdb, self.samdb, self.ad_server_name, self.AD.domain_info["ad_server_site"]) >+ except ldb.LdbError as ex: >+ log.debug('Exception during LDAP search of remote LDAP: %s' % (ex.args[0],)) >+ log.debug('Might be due to a timeout, attempting to reconnect.') >+ self.AD.reconnect() >+ takeover_DC_Behavior_Version(self.ucr, self.AD.samdb, self.samdb, self.ad_server_name, self.AD.domain_info["ad_server_site"]) > > ## Fix some attributes in SecretsDB > secretsdb = samba.Ldb(os.path.join(SAMBA_PRIVATE_DIR, "secrets.ldb"), session_info=system_session(self.lp), lp=self.lp)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 36639
: 6362