Hi, On Fri, Aug 26, 2016 at 06:30:39PM +0200, Dryden Personalis wrote:
> Just a small issue but relevant because it determines the usability and > user-friendliness of the package or Debian at least. > > By default an LXC container will be started with the network settings in > /var/lib/lxc/<host>/config. These settings are injected into the container > when it starts. Debian ships with "lxc.network.type = empty" in /etc/lxc/default.conf Thus containers (by default) do not have any network configured. > A default minimal Debian installation however will have DHCP configured. > > Now LXC doesn't provide a mimimal dhcp in itself which would be nice, but.... It does starting with 2.0, just set USE_LXC_BRIDGE="true" in either /etc/default/lxc or /etc/default/lxc-net and attach your container to the created lxcbr0. > DHCP is not actually required to get the thing online. If you configure it to > static, or even set it to manual, it will still work. You will have network, > you just won't be able to reconfigure it or to bring it online again after > you really kill it. Right, you can either set lxc.network.ipv[46] or configure the network from inside the container if you do not drop the correspondig caps. > So I would simply humbly suggest one of two things: > > 1) perform the sed action above in the /usr/share/lxc/templates/lxc-debian > file. No, as this will just oppose the other half of the users ;) > 2) allow lxc to be shipped with the most minimal of DHCP servers that is not > even a standalone thing but that will at least respond to a request for the > network that has already been configured in its host configuration file of > /var/lib/lxc/<host>/config. As mentioned, lxc-net will do this for you since 2.0. > But in both cases the container would start working as soon as the user makes > that configuration. But also a container completelly without network (as created by default by lxc-create) will work. > Moreoever initially, because systemd does not give a timeout be default (but > the init script or dhcp server does) you think that the system is going to > hang (like so many times before). SystemD tells you there is no timeout. Heh, > but there is, you just don't see it. So before even searching the web what > was going on, I had already tried at least 3 different network configs (in > the host config of /var/lib/lxc/<host>/config) before realizing the system > wasn't bugged (all that much) and I just had to wait a minute even though it > told me it would hang. You can attach to a starting container just fine. Just tried on Jessie. Container with the following network config lxc.network.type = veth lxc.network.link = test0 There is no DHCPD on test0, so dhcpclient will take some time to fail to bring up eth0 But I can attach to the container just fine with lxc-attach. So yeah, if you configure just half of the network, it will not work, but that is kinda expected :) Given that we 1) ship a config that works just fine by default (but does not have networking at all) 2) provide an easy way to enable DHCP on a bridge do you think this report can be closed, or do you see any more room for improvement here?

