script to (re)build extended dns
Matthieu Patou
mat+Informatique.Samba at matws.net
Tue Aug 11 12:21:17 MDT 2009
Hello jelmer, andrew,
Following our talks on internet I tried to do what both of you advised me.
So I replaced in my script the two seperated ldb calls to modify the
attribute into only one, and instead of doing delete/add I do just a modify.
At the begining I tried with the wrappers like this:
m = ldb.Message()
m.dn = ldb.Dn(sam_ldb, str(dn))
m[att] = ldb.MessageElement(saveatt,
ldb.CHANGETYPE_MODIFY, att)
sam_ldb.modify(m)
But it fails I got this message from my script
./rebuildextendeddn.py --targetdir /home/mat/eurocopter/testup/
--modifymodules
/home/mat/eurocopter/testup/
Modifying @MODULES to add extended modules
DC=smb4,DC=tst
CN=Domain Guests,CN=Users,DC=smb4,DC=tst has no attr objectCategory
CN=Group,CN=Schema,CN=Configuration,DC=smb4,DC=tst
CN=Print Operators,CN=Builtin,DC=smb4,DC=tst has no attr objectCategory
CN=Group,CN=Schema,CN=Configuration,DC=smb4,DC=tst
commit called but no ldb transactions are active!commit called but no
ldb transactions are active!Traceback (most recent call last):
File "./rebuildextendeddn.py", line 206, in <module>
rebuild_en_dn(creds,session,paths)
File "./rebuildextendeddn.py", line 195, in rebuild_en_dn
sam_ldb.transaction_cancel()
_ldb.LdbError: (1, None)
Which means that he wasn't able to readd the attribute,removing the test
leads to database corruption (I tried :-)) so this way do not seems a
good solution.
Using modify_ldif at the opposite works great.
See my modified version attached and let me know !
Cheers.
Matthieu.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rebuildextendeddn.py
Type: text/x-python
Size: 6564 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20090811/6a1f1b32/attachment.py>
More information about the samba-technical
mailing list