Fix NSD not restarting (#2182)
A previous commit (0a970f4bb2
) broke nsd restarting. This fixes that change by reverting it.
Josh added: Use nsd-control with reconfig and reload if they succeed and only fall back to restarting nsd if they fail
Co-authored-by: Joshua Tauberer <jt@occams.info>
This commit is contained in:
parent
286a4bd9e7
commit
32c68874c5
1 changed files with 10 additions and 1 deletions
|
@ -98,7 +98,16 @@ def do_dns_update(env, force=False):
|
||||||
|
|
||||||
# Tell nsd to reload changed zone files.
|
# Tell nsd to reload changed zone files.
|
||||||
if len(updated_domains) > 0:
|
if len(updated_domains) > 0:
|
||||||
shell('check_call', ["/usr/sbin/nsd-control", "reload"])
|
# 'reconfig' is needed if there are added or removed zones, but
|
||||||
|
# it may not reload existing zones, so we call 'reload' too. If
|
||||||
|
# nsd isn't running, nsd-control fails, so in that case revert
|
||||||
|
# to restarting nsd to make sure it is running. Restarting nsd
|
||||||
|
# should also refresh everything.
|
||||||
|
try:
|
||||||
|
shell('check_call', ["/usr/sbin/nsd-control", "reconfig"])
|
||||||
|
shell('check_call', ["/usr/sbin/nsd-control", "reload"])
|
||||||
|
except:
|
||||||
|
shell('check_call', ["/usr/sbin/service", "nsd", "restart"])
|
||||||
|
|
||||||
# Write the OpenDKIM configuration tables for all of the mail domains.
|
# Write the OpenDKIM configuration tables for all of the mail domains.
|
||||||
from mailconfig import get_mail_domains
|
from mailconfig import get_mail_domains
|
||||||
|
|
Loading…
Reference in a new issue