IMHO, systemd seems to be the root of all evil.

touch /etc/dnsmasq.conf has no effect.

net4-dev# systemctl restart lxc-net
net4-dev# systemctl status lxc-net
● lxc-net.service - LXC network bridge setup
   Loaded: loaded (/lib/systemd/system/lxc-net.service; enabled; vendor preset: 
enabled)
   Active: active (exited) since Fri 2015-08-28 18:20:16 CDT; 9s ago
  Process: 15219 ExecStop=/usr/lib/x86_64-linux-gnu/lxc/lxc-net stop 
(code=exited, status=0/SUCCESS)
  Process: 15223 ExecStart=/usr/lib/x86_64-linux-gnu/lxc/lxc-net start 
(code=exited, status=0/SUCCESS)
 Main PID: 15223 (code=exited, status=0/SUCCESS)

Shows lxc-net reported status of success + dnsmasq is never run.

There's just so much wrong here...

The entire /usr/lib/x86_64-linux-gnu/lxc/lxc-net script seems never to
require a rethink.

The problem is whoever wrote this imagined the Linux runtime environment
works sensibly (no edge conditions).

Many times they don't.

A simple situation is if OOM (Out of Memory Killer) runs +
scavenges/kill dnsmasq, then much of the "state" (files/directories)
lxc-net depends on is out of sync... meaning there's no test for dnsmasq
actually running. There's only a test for the lxcbr0 state files
existing. This is an insufficient approach.

I think the solution is to rewrite stop() to handle any edge condition,
so lxc-net can recover normal errors without manual intervention.

I'll take a stab at a rewrite + if my code isn't to embarrassing, I'll
post it.

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to lxc in Ubuntu.
https://bugs.launchpad.net/bugs/1452601

Title:
  vivid container's networking.service fails on boot with signal=PIPE

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

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to