Index: univention-samba4/scripts/create_dns-host_spn.py =================================================================== --- univention-samba4/scripts/create_dns-host_spn.py (Revision 35056) +++ univention-samba4/scripts/create_dns-host_spn.py (Arbeitskopie) @@ -118,6 +118,7 @@ print "removing sAMAccountName=dns-%s" % (names.hostname) dn = msg[0].dn samdb.delete(dn) + time.sleep(1) except Exception: print "exception while removing sAMAccountName=dns-%s" % (names.hostname) pass @@ -132,23 +133,16 @@ names.netbiosname.lower(), names.dnsdomain.lower()) }) - account_created = False - count = 0 - while not account_created: - try: - setup_add_ldif(samdb, setup_path("provision_dns_add_samba.ldif"), { - "DNSDOMAIN": names.dnsdomain, - "DOMAINDN": names.domaindn, - "DNSPASS_B64": b64encode(dnspass.encode('utf-16-le')), - "HOSTNAME" : names.hostname, - "DNSNAME" : '%s.%s' % ( - names.netbiosname.lower(), names.dnsdomain.lower()) - }) - account_created = True - except: - count += 1 - if count > 300: - print 'ERROR: failed to create dns-$hostname' - sys.exit(1) - print "Waiting for RID pool" - time.sleep(1) + try: + setup_add_ldif(samdb, setup_path("provision_dns_add_samba.ldif"), { + "DNSDOMAIN": names.dnsdomain, + "DOMAINDN": names.domaindn, + "DNSPASS_B64": b64encode(dnspass.encode('utf-16-le')), + "HOSTNAME" : names.hostname, + "DNSNAME" : '%s.%s' % ( + names.netbiosname.lower(), names.dnsdomain.lower()) + }) + account_created = True + except: + print "Samdb denied creation of dns-%s" % (names.hostname) + sys.exit(1) Index: univention-samba4/96univention-samba4.inst =================================================================== --- univention-samba4/96univention-samba4.inst (Revision 35056) +++ univention-samba4/96univention-samba4.inst (Arbeitskopie) @@ -423,7 +423,16 @@ ## set the predefined NTACL which the provision uses on sysvol /usr/share/univention-samba4/scripts/set_sysvol_ntacl.py "$SYSVOL_PATH" 2>/dev/null - /usr/share/univention-samba4/scripts/create_dns-host_spn.py + i=0 + while ! /usr/share/univention-samba4/scripts/create_dns-host_spn.py; do + i=$(($i+1)) + if [ $i -gt 10 ]; then + echo "Error: Failed to create service account dns-$hostname" + break + fi + echo "Wait a second and retry ($i of 10)" + sleep 1 + done fi