s4-s3-upgrade Handle expected errors, error out on unexpected ones
authorAndrew Bartlett <abartlet@samba.org>
Mon, 5 Sep 2011 22:14:35 +0000 (08:14 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 7 Sep 2011 00:22:56 +0000 (02:22 +0200)
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed Sep  7 02:22:56 CEST 2011 on sn-devel-104

source4/scripting/python/samba/upgrade.py

index 7e16eeee2c0db9f28fe6c23f17ca3fe8ba5b8fd5..2bb5ccccbe16aa8304b56422ecfacf2c2b76e38f 100644 (file)
@@ -208,10 +208,12 @@ def add_users_to_group(samdb, group, members, logger):
         try:
             samdb.modify(m)
         except ldb.LdbError, (ecode, emsg):
-            if ecode == ldb.ERR_NO_SUCH_OBJECT:
-                logger.warn("Could not add member '%s' to group '%s' as either group or user record doesn't exist: %s", member_sid, group.sid, emsg)
+            if ecode == ldb.ERR_ENTRY_ALREADY_EXISTS:
+                logger.info("skipped re-adding member '%s' to group '%s': %s", member_sid, group.sid, emsg)
+            elif ecode == ldb.ERR_NO_SUCH_OBJECT:
+                raise ProvisioningError("Could not add member '%s' to group '%s' as either group or user record doesn't exist: %s" % (member_sid, group.sid, emsg))
             else:
-                logger.warn("Could not add member '%s' to group '%s': %s", member_sid, group.sid, emsg)
+                raise ProvisioningError("Could not add member '%s' to group '%s': %s" % (member_sid, group.sid, emsg))
 
 
 def import_wins(samba4_winsdb, samba3_winsdb):