Using a long zone file and limiting the resources of the system I was
using to test these changes (just limiting lxc CPU cycles) I found a set
up where I can constantly hit the issue.

As Andreas pointed out, we are seeing a race condition here.

After forking, bind9 signals that it is ready by returning on the parent
process. This leads systemd to mark the service as ready. Finally nginx
starts running.

After bind9's parent process exits, bind9 reloads the response policy
zones, creating a small gap where a name in the rpz would not be
resolved. If the nginx name checks happen during that gap, nginx will
fail to start.

I will change the tests to just add a record to the fake name and then
we should have a sound test.

Thanks, Andreas and Dan :)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1899902

Title:
  systemd unit service file does not wait for bind9 to be ready

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bind9/+bug/1899902/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to