Thursday, 22 February 2018

Re: autopkgtest-build-lxd failing with bionic

On Thu, Feb 22, 2018 at 10:49:29PM +0100, Martin Pitt wrote:

> > > - it's supposed to be a SysV backwards compat shim for LSB's "network"
> > > dependency, and not well-defined

> > From my POV, the sane definition is:

> > - DNS setup is complete
> > - all "required" network interfaces (implementation-defined) have completed
> > their configuration
> > - if no network interfaces are defined to be "required", then at least one
> > interface is up

> > This is broad enough to encompass everything from VPNs to captive
> > portals to proxy-only networks, and provides a clear separation of
> > responsibilities.

> Since you are much more on top of the current netplan/networkd
> implementation in Ubuntu containers: does that currently match this
> definition?

I'm confident that it matches the implementation with respect to containers.
There are probably corner cases on desktop where the implementation is not
quite correct yet, but given an agreed definition of what the target
*should* do, the rest can be worked through as ordinary bugs.

> > > - These tools should also work with Debian containers, which in theory
> > > could also run sysvinit. This is also the reason why they still use
> > > `runlevel` instead of `systemctl is-system-running` or something
> > > similar.

> > Sure, but in principle, once you've reached runlevel 2 under sysvinit you
> > can rely on the network being up because that's part of the definition of
> > the runlevel. So the systemd code doesn't need to have a sysvinit
> > equivalent.

> OK, so I suppose we could replace the check with

> if running_systemd
> wait for
> else
> wait for runlevel 2

> which would still support non-systemd containers (like Ubuntu 14.04 or custom
> configs in Debian).

Yes, I think so.

Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer