On Mon, 2013-05-06 at 10:29 +0530, mur...@nbtechnology.in wrote:
> Hi
> 
> I have been trying to replace my win 2003 DC with samba4 ADC , but i am 
> getting the following error when i run
> samba-tool fsmo seize --role=all for all the 5 roles. I found that it 
> is listed in Samba-Bugzilla – Bug 9461
> as on 28/1/2013.Is there any patch been released after that or is there 
> any patch which is planned for release.Any workaround to overcome this
> 
> 
> [root@server1# samba-tool fsmo seize --role=schema
> Attempting transfer...
> FSMO transfer of 'schema' role successful
> ERROR: Failed to initiate role seize of 'schema' role: objectclass: 
> modify
> message must have elements/attributes!

G'Day Murali,

The attached patch should fix this for you.  As you might notice, the
FSMO role transfer is successful, but we then error out.  

If I can get an ack from you that this solves your problem, and an ack
from a team member on the patch, I can get this fixed in master and
eventually into 4.0.6.

Thanks!

Andrew Bartlett

-- 
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org

>From acad20714833c22efbd4f0ae6d6bb3ea449bc314 Mon Sep 17 00:00:00 2001
From: Andrew Bartlett <abart...@samba.org>
Date: Thu, 9 May 2013 15:16:55 +1200
Subject: [PATCH] python-samba-tool fsmo: Do not give an error on a successful
 role transfer

---
 python/samba/netcmd/fsmo.py | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/python/samba/netcmd/fsmo.py b/python/samba/netcmd/fsmo.py
index c938c91..02721f9 100644
--- a/python/samba/netcmd/fsmo.py
+++ b/python/samba/netcmd/fsmo.py
@@ -124,22 +124,22 @@ all=all of the above"""),
             self.message("Attempting transfer...")
             try:
                 transfer_role(self.outf, role, samdb)
+                self.outf.write("FSMO seize was not required, as transfer of '%s' role was successful\n" % role)
+                return
             except CommandError:
             #transfer failed, use the big axe...
                 self.message("Transfer unsuccessful, seizing...")
-                m["fSMORoleOwner"]= ldb.MessageElement(
-                    serviceName, ldb.FLAG_MOD_REPLACE,
-                    "fSMORoleOwner")
         else:
             self.message("Will not attempt transfer, seizing...")
-            m["fSMORoleOwner"]= ldb.MessageElement(
-                serviceName, ldb.FLAG_MOD_REPLACE,
-                "fSMORoleOwner")
+
+        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 of '%s' role: %s" % (role, msg))
-        self.outf.write("FSMO transfer of '%s' role successful\n" % role)
+        self.outf.write("FSMO seize of '%s' role successful\n" % role)
 
     def run(self, force=None, H=None, role=None,
             credopts=None, sambaopts=None, versionopts=None):
-- 
1.7.11.7

-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba

Reply via email to