Cannot run nsd supervised

hello,

I like to run nsd supervised, not forking as daemon. That works well using -d aslong I do not
configure nsd to receive data via zonetransfers.

In that case nsd starts a new process, fork into background an the old (supervised) terminates.

Any hints to solve my problem ?

Thanks
Andreas

No hints, but +1 from me, as with systemd replacing initscripts, this
is a required feature.

Paul

Uhm, upstart doesn't need this, so why would systemd?

http://upstart.ubuntu.com/cookbook/#expect describes upstart's approach.
I do hope systemd has something similar, because nsd is far from the
only server that forks.

Arnt

[ Quoting <arnt@gulbrandsen.priv.no> at 14:59 on Feb 13 in "Re: [nsd-users] cann..." ]

Hi,

I know. Upstart does exactly that. But Paul says that systemd forbids
you from daemonizing, which is a different thing entirely, and which
makes systemd incompatible with much more than just nsd.

If systemd were incompatible with only nsd, that would be nsd's problem.
But if it's incompatible with many or even most services, then it's
systemd's problem, not nsd's. (The upstart man page says "most").

Arnt

I know. Upstart does exactly that. But Paul says that systemd forbids
you from daemonizing, which is a different thing entirely, and which
makes systemd incompatible with much more than just nsd.

I'm unfamiliar with upstart and systemd, but "good" daemon packages
provide an option that enables them to choose between the two operating
modes.

If systemd were incompatible with only nsd, that would be nsd's problem.
But if it's incompatible with many or even most services, then it's
systemd's problem, not nsd's. (The upstart man page says "most").

That's imho a matter of time and convention.

I run only some of my services under 'runit', and the remainder using
conventional 'init.d' type start scripts. But I would prefer to run more
services from runit, and with less effort.

Kind regards,
--Toni++

Please all...

I think that the main issue here is:

In that case nsd starts a new process, fork into background an the old (supervised) terminates.

This is clearly a problem on nsd end and needs to be fixed.

So, it would be great to stay on topic or discuss
runit/systemd/upstart/... elsewhere.

Thanks,

I have also been asking for this feature. I can understand that it would
take a fair amount of work for this feature, because the fork+kill model
is central to NSD.

I was happy with it being a feature of NSD4. However, I understand that
NSD4 has less priority now, so perhaps the kind folk at NLNet Labs
should consider a 3.3 branch with this feature, which would allow us to
run NSD supervised with systemd/upstart/runit/daemontools.

Regards,

Anand