On Fri, Oct 28, 2016 at 06:46:07PM -0000, Ryan Harper wrote:
> > > we really want something like
> > > After=networking|networkd-wait-online
> > > which handles determining if networkd was supposed to run or not
> > That already exists, it's network-online.target -- whatever "implements"
> > it (ifupdown, networkd, NM) will hook itself into this target. Nothing
> > more, nothing less, so if cloud-init just wants to wait until it's
> > online, then just make it Requires/After=network-online.target instead
> > of Before= it. (But again -- this is a very strong dependency which is
> > very inconvenient anywhere but cloud environments with essentially one
> > virtual ethernet card).
> It may be that network-online.target is the right place. Scott had some
> reason for not using that explicitly before; I expect some details from
> him.
Because network-online.target is not guaranteed to be reached for the
reasons Martin mentions, so cloud-init depending on it will forever block
other services from starting up, /even if/ you had a valid local data
source.
On Fri, Oct 28, 2016 at 06:46:07PM -0000, Ryan Harper wrote: g|networkd- wait-online
> > > we really want something like
> > > After=networkin
> > > which handles determining if networkd was supposed to run or not
> > That already exists, it's network- online. target -- whatever "implements" After=network- online. target instead
> > it (ifupdown, networkd, NM) will hook itself into this target. Nothing
> > more, nothing less, so if cloud-init just wants to wait until it's
> > online, then just make it Requires/
> > of Before= it. (But again -- this is a very strong dependency which is
> > very inconvenient anywhere but cloud environments with essentially one
> > virtual ethernet card).
> It may be that network- online. target is the right place. Scott had some
> reason for not using that explicitly before; I expect some details from
> him.
Because network- online. target is not guaranteed to be reached for the
reasons Martin mentions, so cloud-init depending on it will forever block
other services from starting up, /even if/ you had a valid local data
source.