Note that the systemd dependencies shown for cloud-init in xenial (on which Ubuntu Core 16 is based) don't match those listed in the bug description. Instead, xenial currently has:
That's certainly an easier target for fixing the ordering on.
I'm surprised that cloud-init is being ordered before dbus in 16.10+. This appears to have been done in response to bug #1629797. This change to ordering on account of nss-resolve does not give me the warm fuzzies. There's feedback in the end of that bug that cloud-init should *not* be using Before=basic.target / Before=dbus.socket, but instead use Before=sysinit.target. That seems like a change we should be making. But I also didn't understand that we would be using nss-resolve - I missed a nuance in <https://lists.ubuntu.com/archives/ubuntu-devel/2016-June/039406.html>, I thought that once resolved supported DNS, we would use that /instead of/ the NSS module. Is there really a benefit to using both?
Regardless, none of that seems to account for the specific problem reported here, on Ubuntu Core 16; because Ubuntu Core 16 does contain libnss-resolve, but does *not* contain the cloud-init with the DefaultDependencies=no.
Note that the systemd dependencies shown for cloud-init in xenial (on which Ubuntu Core 16 is based) don't match those listed in the bug description. Instead, xenial currently has:
After=cloud- init-local. service networking.service network- online. target sshd.service sshd-keygen.service systemd- user-sessions. service networking. service fs.target cloud-init- local.service sshd.service sshd-keygen.service
Before=
Requires=
Wants=local-
That's certainly an easier target for fixing the ordering on.
I'm surprised that cloud-init is being ordered before dbus in 16.10+. This appears to have been done in response to bug #1629797. This change to ordering on account of nss-resolve does not give me the warm fuzzies. There's feedback in the end of that bug that cloud-init should *not* be using Before=basic.target / Before=dbus.socket, but instead use Before= sysinit. target. That seems like a change we should be making. But I also didn't understand that we would be using nss-resolve - I missed a nuance in <https:/ /lists. ubuntu. com/archives/ ubuntu- devel/2016- June/039406. html>, I thought that once resolved supported DNS, we would use that /instead of/ the NSS module. Is there really a benefit to using both?
Regardless, none of that seems to account for the specific problem reported here, on Ubuntu Core 16; because Ubuntu Core 16 does contain libnss-resolve, but does *not* contain the cloud-init with the DefaultDependen cies=no.