> When /etc/network/interfaces is available, some other program, not under
> upstart control, brings lo up, and everything seems to work.
No, it's brought up by /etc/init/network-interface.conf.
> When no /etc/network/interfaces is available, It seems that upstart is
> waiting for lo to be brought up before starting services; however network
> manager, responsible for bringing up lo is not started by upstart; creating the
> circular dependency.
NetworkManager is not responsible for lo; it just happens to bring it up, in some circumstances, if nothing else has done so. However, it brings it up in a way that bypasses ifupdown (and therefore /etc/network/if-up.d/upstart), so the net-device-up event is never generated.
> When /etc/network/ interfaces is available, some other program, not under
> upstart control, brings lo up, and everything seems to work.
No, it's brought up by /etc/init/ network- interface. conf.
> When no /etc/network/ interfaces is available, It seems that upstart is
> waiting for lo to be brought up before starting services; however network
> manager, responsible for bringing up lo is not started by upstart; creating the
> circular dependency.
NetworkManager is not responsible for lo; it just happens to bring it up, in some circumstances, if nothing else has done so. However, it brings it up in a way that bypasses ifupdown (and therefore /etc/network/ if-up.d/ upstart) , so the net-device-up event is never generated.