** Tags removed: verification-needed-bionic ** Tags added: verification-done-bionic
-- 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: Fix Released Status in linux source package in Xenial: Fix Committed Status in linux source package in Zesty: Won't Fix Status in linux source package in Artful: Won't Fix Status in linux source package in Bionic: Fix Committed 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.) by checking whether the system is executed in a virtualized environment and optionally test whether it is a specific implementation, in this case "microsoft" for Hyper-V. https://www.freedesktop.org/software/systemd/man/systemd-detect-virt.html# microsoft = Hyper-V, also known as Viridian or Windows Server Virtualization 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