Microsoft Azure didn't come back to us yet about comment #3. I will gladly resume the work on this LP once we get some updates. For now I've set the bug to "incomplete" as it can only be tested internally by Microsoft.
Regards, Eric -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1739107 Title: linux-cloud-tools-common: Ensure hv-kvp-daemon.service starts before walinuxagent.service Status in linux package in Ubuntu: Incomplete Status in linux source package in Xenial: Incomplete Status in linux source package in Zesty: Incomplete Status in linux source package in Artful: Incomplete Status in linux source package in Bionic: Incomplete Bug description: This is a request to make a change in the hv-kvp-daemon systemd service which is part of the linux-cloud-tools-common package to ensure the hv-kvp-daemon service starts before the walinuxagent service. The default dependencies make hv-kvp-daemon wait until the whole system is up before it can start. Currently the /lib/systemd/system/hv-kvp-daemon.service file looks like this: ==================== # On Azure/Hyper-V systems start the hv_kvp_daemon # # author "Andy Whitcroft <a...@canonical.com>" [Unit] Description=Hyper-V KVP Protocol Daemon ConditionVirtualization=microsoft [Service] ExecStart=/usr/sbin/hv_kvp_daemon -n [Install] WantedBy=multi-user.target ==================== The suggested modification is to make the [Unit] section look like this: [Unit] Description=Hyper-V KVP Protocol Daemon ConditionVirtualization=microsoft DefaultDependencies=no After=systemd-remount-fs.service Before=shutdown.target cloud-init-local.service walinuxagent.service Conflicts=shutdown.target RequiresMountsFor=/var/lib/hyperv The hv-kvp-daemon service is not currently part of the critical-chain: $ systemd-analyze critical-chain The time after the unit is active or started is printed after the "@" character. The time the unit takes to start is printed after the "+" character. graphical.target @10.809s └─multi-user.target @10.723s └─ephemeral-disk-warning.service @10.538s +31ms └─cloud-config.service @8.249s +2.252s └─basic.target @8.044s └─sockets.target @8.019s └─snapd.socket @7.692s +264ms └─sysinit.target @6.719s └─cloud-init.service @5.803s +842ms └─networking.service @5.137s +612ms └─network-pre.target @5.074s └─cloud-init-local.service @2.257s +2.783s └─systemd-remount-fs.service @1.368s +656ms └─systemd-journald.socket @1.218s └─-.mount @649ms └─system.slice @653ms └─-.slice @649ms In an Azure VM, the current startup time of my test is: $ systemd-analyze Startup finished in 10.375s (kernel) + 12.352s (userspace) = 22.728s After making the suggested change, the startup time is similar: $ systemd-analyze Startup finished in 9.759s (kernel) + 11.867s (userspace) = 21.627s And the service is now in the critical-chain: $ systemd-analyze critical-chain The time after the unit is active or started is printed after the "@" character. The time the unit takes to start is printed after the "+" character. graphical.target @10.666s └─multi-user.target @10.636s └─ephemeral-disk-warning.service @10.556s +36ms └─cloud-config.service @8.423s +2.095s └─basic.target @8.124s └─sockets.target @8.101s └─lxd.socket @7.677s +326ms └─sysinit.target @6.755s └─cloud-init.service @5.814s +908ms └─networking.service @5.111s +651ms └─network-pre.target @5.087s └─cloud-init-local.service @2.345s +2.707s └─hv-kvp-daemon.service @2.316s └─systemd-remount-fs.service @1.253s +680ms └─system.slice @1.225s └─-.slice @650ms The ConditionVirtualization=microsoft line makes it so that this doesn't affect non microsoft virtualization environments (ie. qemu, kvm, vmware, xen, etc.) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1739107/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp