Discussed that upstream: The gist of it is: --------- 8< -------------- if you want to be an early boot service, then you should use something like this:
Before=sysinit.target And that's all. Inserting yourself between the sockets and the regular services (which your suggested deps do) is highly problematic, if you actually intend to make use of the sockets, as then you will make the system hang, as to fulfill your requests you need the services you are delaying... --------- 8< -------------- So replacing cloud-init.service's Before=basic.target Before=dbus.socket with Before=sysinit.target should DTRT. dbus.socket (and all other sockets) will start after sysinit.target as part of basic.target. ** Changed in: dbus (Ubuntu) Status: In Progress => Won't Fix ** Changed in: dbus (Ubuntu) Assignee: Martin Pitt (pitti) => (unassigned) -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to dbus in Ubuntu. https://bugs.launchpad.net/bugs/1629797 Title: resolve service in nsswitch.conf adds 25 seconds to failed lookups before systemd-resolved is up Status in cloud-init: Fix Committed Status in D-Bus: Unknown Status in cloud-init package in Ubuntu: Fix Released Status in dbus package in Ubuntu: Won't Fix Bug description: During boot, cloud-init does DNS resolution checks to if particular metadata services are available (in order to determine which cloud it is running on). These checks happen before systemd-resolved is up[0] and if they resolve unsuccessfully they take 25 seconds to complete. This has substantial impact on boot time in all contexts, because cloud-init attempts to resolve three known-invalid addresses ("does- not-exist.example.com.", "example.invalid." and a random string) to enable it to detect when it's running in an environment where a DNS server will always return some sort of redirect. As such, we're talking a minimum impact of 75 seconds in all environments. This increases when cloud-init is configured to check for multiple environments. This means that yakkety is consistently taking 2-3 minutes to boot on EC2 and GCE, compared to the ~30 seconds of the first boot and ~10 seconds thereafter in xenial. To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-init/+bug/1629797/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp