[Bug 1452601] Re: vivid container's networking.service fails on boot with signal=PIPE
David Favor
david at davidfavor.com
Fri Aug 28 23:56:10 UTC 2015
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
More information about the Ubuntu-server-bugs
mailing list