Tested from PPA and as expected the reload works, is fast and keeps the
PID of the main process alive.

root@b:~# systemctl status unbound
● unbound.service - Unbound DNS server
   Loaded: loaded (/lib/systemd/system/unbound.service; enabled; vendor preset: 
enabled)
   Active: active (running) since Mon 2018-08-27 13:26:49 UTC; 41s ago
     Docs: man:unbound(8)
  Process: 20105 ExecStartPre=/usr/lib/unbound/package-helper 
root_trust_anchor_update (code=exited, status=0/SUCCESS)
  Process: 20101 ExecStartPre=/usr/lib/unbound/package-helper chroot_setup 
(code=exited, status=0/SUCCESS)
 Main PID: 20109 (unbound)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/unbound.service
           └─20109 /usr/sbin/unbound -d

Aug 27 13:26:49 b systemd[1]: Stopped Unbound DNS server.
Aug 27 13:26:49 b systemd[1]: unbound.service: Failed to reset devices.list: 
Operation not permitted
Aug 27 13:26:49 b systemd[1]: Starting Unbound DNS server...
Aug 27 13:26:49 b package-helper[20105]: /var/lib/unbound/root.key has content
Aug 27 13:26:49 b package-helper[20105]: success: the anchor is ok
Aug 27 13:26:49 b unbound[20109]: [20109:0] notice: init module 0: subnet
Aug 27 13:26:49 b unbound[20109]: [20109:0] notice: init module 1: validator
Aug 27 13:26:49 b unbound[20109]: [20109:0] notice: init module 2: iterator
Aug 27 13:26:49 b unbound[20109]: [20109:0] info: start of service (unbound 
1.6.7).
Aug 27 13:26:49 b systemd[1]: Started Unbound DNS server.
root@b:~# systemctl reload unbound
root@b:~# systemctl status unbound
● unbound.service - Unbound DNS server
   Loaded: loaded (/lib/systemd/system/unbound.service; enabled; vendor preset: 
enabled)
   Active: active (running) since Mon 2018-08-27 13:26:49 UTC; 47s ago
     Docs: man:unbound(8)
  Process: 20154 ExecReload=/usr/sbin/unbound-control reload (code=exited, 
status=0/SUCCESS)
  Process: 20105 ExecStartPre=/usr/lib/unbound/package-helper 
root_trust_anchor_update (code=exited, status=0/SUCCESS)
  Process: 20101 ExecStartPre=/usr/lib/unbound/package-helper chroot_setup 
(code=exited, status=0/SUCCESS)
 Main PID: 20109 (unbound)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/unbound.service
           └─20109 /usr/sbin/unbound -d

Aug 27 13:27:34 b unbound-control[20154]: ok
Aug 27 13:27:34 b unbound[20109]: [20109:0] info: service stopped (unbound 
1.6.7).
Aug 27 13:27:34 b unbound[20109]: [20109:0] info: server stats for thread 0: 0 
queries, 0 answers from cache, 0 recursions, 0 prefetch, 0 rejected by ip 
ratelimiting
Aug 27 13:27:34 b unbound[20109]: [20109:0] info: server stats for thread 0: 
requestlist max 0 avg 0 exceeded 0 jostled 0
Aug 27 13:27:34 b unbound[20109]: [20109:0] notice: Restart of unbound 1.6.7.
Aug 27 13:27:34 b unbound[20109]: [20109:0] notice: init module 0: subnet
Aug 27 13:27:34 b unbound[20109]: [20109:0] notice: init module 1: validator
Aug 27 13:27:34 b unbound[20109]: [20109:0] notice: init module 2: iterator
Aug 27 13:27:34 b unbound[20109]: [20109:0] info: start of service (unbound 
1.6.7).
Aug 27 13:27:34 b systemd[1]: Reloaded Unbound DNS server.

** Description changed:

  [Impact]
  
-  * Due to a bug in the upstream code on a reload command all worker 
-    processes will exit and the reload will fail. After a while a kill-
-    detection kicks and restarts things, but the reload was intended to not 
-    shred the main process after all.
+  * Due to a bug in the upstream code on a reload command all worker
+    processes will exit and the reload will fail. After a while a kill-
+    detection kicks and restarts things, but the reload was intended to not
+    shred the main process after all.
  
-  * Backport upstream fix to Bionic to unbreak reloading the service
+  * Backport upstream fix to Bionic to unbreak reloading the service
  
  [Test Case]
  
-  * Install unbound
-    $ apt get install unbound
-  * Reload it
-    $ systemctl reload unbound
-      Job for unbound.service failed because a timeout was exceeded.
-      See "systemctl status unbound.service" and "journalctl -xe" for 
-      details.
-  * You might also see the timeout detection kick in and restarting the 
service now.
-    systemd[1]: unbound.service: State 'stop-sigterm' timed out. Killing.
-    systemd[1]: unbound.service: Killing process 13713 (unbound) with signal 
SIGKILL.
-    systemd[1]: unbound.service: Main process exited, code=killed, 
status=9/KILL
-    systemd[1]: unbound.service: Failed with result 'timeout'.
-    systemd[1]: Reload failed for Unbound DNS server.
+  Note: can be tested in a LXD container
  
-  * This takes a while and can break the service, to reset for a new test 
-    you might need to start the service again.
+  * Install unbound
+    $ apt get install unbound
+  * Reload it
+    $ systemctl reload unbound
+      Job for unbound.service failed because a timeout was exceeded.
+      See "systemctl status unbound.service" and "journalctl -xe" for
+      details.
+  * You might also see the timeout detection kick in and restarting the 
service now.
+    systemd[1]: unbound.service: State 'stop-sigterm' timed out. Killing.
+    systemd[1]: unbound.service: Killing process 13713 (unbound) with signal 
SIGKILL.
+    systemd[1]: unbound.service: Main process exited, code=killed, 
status=9/KILL
+    systemd[1]: unbound.service: Failed with result 'timeout'.
+    systemd[1]: Reload failed for Unbound DNS server.
+ 
+  * This takes a while and can break the service, to reset for a new test
+    you might need to start the service again.
  
  [Regression Potential]
  
-  * The code changed is rather small, which is good for a review. I'd think 
-    if there is a regression it might be around unexpected conditions 
-    leading to not all workers shutting down in cases one wants to shut 
-    them down. I wasn't able to trigger such in my tests, but that is what 
-    would come to my mind.
+  * The code changed is rather small, which is good for a review. I'd think
+    if there is a regression it might be around unexpected conditions
+    leading to not all workers shutting down in cases one wants to shut
+    them down. I wasn't able to trigger such in my tests, but that is what
+    would come to my mind.
  
  [Other Info]
-  
-  * Test PPA at 
https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/3382
+ 
+  * Test PPA at https://launchpad.net/~ci-train-ppa-
+ service/+archive/ubuntu/3382
  
  --
- 
  
  Unbound 1.6.7-1ubuntu2.1 on 18.04 (bionic):
  
  $ sudo systemctl reload unbound
  Job for unbound.service failed because a timeout was exceeded.
  See "systemctl status unbound.service" and "journalctl -xe" for details.
  
  Looks like https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=892914
  (Debian) and https://www.nlnetlabs.nl/bugs-script/show_bug.cgi?id=4108
  (upstream) to me, with patch available.

** Tags added: bitesize

** Merge proposal linked:
   
https://code.launchpad.net/~paelzer/ubuntu/+source/unbound/+git/unbound/+merge/353786

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

Title:
  systemctl reload unbound command times out

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

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

Reply via email to