1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

s4-fsmo: nicer error messages on failed FSMO transfers

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Andrew Tridgell
2011-03-28 15:32:41 +11:00
committed by Andrew Bartlett
parent 07b6f75bc1
commit f4e3ccfe9e

View File

@ -88,7 +88,12 @@ all=all of the above"""),
"becomeSchemaMaster")
else:
raise CommandError("Invalid FSMO role.")
samdb.modify(m)
try:
samdb.modify(m)
except LdbError, (num, msg):
raise CommandError("Failed to initiate transfer: %s" % msg)
print("Scheduled FSMO transfer - use 'fsmo show' and 'drs showrepl' for result")
def seize_role(self, role, samdb, force):
res = samdb.search("",
@ -116,19 +121,21 @@ all=all of the above"""),
self.transfer_role(role, samdb)
except LdbError, (num, _):
#transfer failed, use the big axe...
self.message("Transfer unsuccessfull, seizing...")
self.message("Transfer unsuccessful, seizing...")
m["fSMORoleOwner"]= ldb.MessageElement(
serviceName, ldb.FLAG_MOD_REPLACE,
"fSMORoleOwner")
samdb.modify(m)
else:
self.message("Transfer succeeded.")
else:
self.message("Will not attempt transfer, seizing...")
m["fSMORoleOwner"]= ldb.MessageElement(
serviceName, ldb.FLAG_MOD_REPLACE,
"fSMORoleOwner")
try:
samdb.modify(m)
except LdbError, (num, msg):
raise CommandError("Failed to initiate role seize: %s" % msg)
print("Scheduled FSMO transfer - use 'fsmo show' and 'drs showrepl' for result")
def run(self, subcommand, force=None, url=None, role=None,
credopts=None, sambaopts=None, versionopts=None):