samba_upgradedns: Check for both accounts in BIND_DLZ upgrade
authorGarming Sam <garming@samba.org>
Tue, 26 Jul 2016 09:13:56 +0000 (11:13 +0200)
committerGarming Sam <garming@samba.org>
Mon, 29 Aug 2016 06:53:13 +0000 (08:53 +0200)
Signed-off-by: Garming Sam <garming@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10882

Autobuild-User(master): Garming Sam <garming@samba.org>
Autobuild-Date(master): Mon Aug 29 08:53:14 CEST 2016 on sn-devel-144

source4/scripting/bin/samba_upgradedns

index 596371226ae52fd9968209e3d12791a3ebde3aee..d00b67daca1937b162df8e989f9e07459b867dfe 100755 (executable)
@@ -413,13 +413,17 @@ if __name__ == '__main__':
     if opts.dns_backend == "BIND9_DLZ":
         # Check if dns-HOSTNAME account exists and create it if required
         secrets_msgs = ldbs.secrets.search(expression='(samAccountName=dns-%s)' % hostname, attrs=['secret'])
-        if len(secrets_msgs) == 0:
+        msg = ldbs.sam.search(base=domaindn, scope=ldb.SCOPE_DEFAULT,
+                              expression='(sAMAccountName=dns-%s)' % (hostname),
+                              attrs=[])
 
+        if len(secrets_msgs) == 0 or len(msg) == 0:
             logger.info("Adding dns-%s account" % hostname)
 
-            msg = ldbs.sam.search(base=domaindn, scope=ldb.SCOPE_DEFAULT,
-                                  expression='(sAMAccountName=dns-%s)' % (hostname),
-                                  attrs=[])
+            if len(secrets_msgs) == 1:
+                dn = secrets_msgs[0].dn
+                ldbs.secrets.delete(dn)
+
             if len(msg) == 1:
                 dn = msg[0].dn
                 ldbs.sam.delete(dn)