I have tested Bionic with kernel 4.15.0-22-generic, linux-cloud-
tools-4.15.0-22.24 and linux-tools-4.15.0-22.24 and both issues still
occur.

While testing the above mentioned kernel, I saw the following behavior:

1. Right after booting the system the KVP daemon reports it is active
(running). The command "systemctl status hv-kvp-daemon" returns the
following output:

hv-kvp-daemon.service - Hyper-V KVP Protocol Daemon
   Loaded: loaded (/lib/systemd/system/hv-kvp-daemon.service; enabled; vendor 
preset: enabled)
   Active: active (running) since Thu 2018-06-07 11:43:22 UTC; 55s ago
 Main PID: 1363 (hv_kvp_daemon)
    Tasks: 1 (limit: 4496)
   CGroup: /system.slice/hv-kvp-daemon.service
           └─1363 /usr/lib/linux-tools/4.15.0-22-generic/hv_kvp_daemon -n

Jun 07 11:43:22 bionic systemd[1]: Started Hyper-V KVP Protocol Daemon.
Jun 07 11:43:22 bionic KVP[1363]: KVP starting; pid is:1363
Jun 07 11:43:22 bionic KVP[1363]: KVP LIC Version: 3.1

2. After approximately 2 minutes the KVP daemon enters in the failed state 
(issue 1).
3. Manually starting the daemon with the command "systemctl start 
hv-kvp-daemon" works perfectly fine.
4. "systemctl status hv-kvp-daemon" will now show the second issue:

hv-kvp-daemon.service - Hyper-V KVP Protocol Daemon
   Loaded: loaded (/lib/systemd/system/hv-kvp-daemon.service; enabled; vendor 
preset: enabled)
   Active: active (running) since Thu 2018-06-07 11:47:29 UTC; 8s ago
 Main PID: 1995 (hv_kvp_daemon)
    Tasks: 1 (limit: 4496)
   CGroup: /system.slice/hv-kvp-daemon.service
           └─1995 /usr/lib/linux-tools/4.15.0-22-generic/hv_kvp_daemon -n

Jun 07 11:47:29 bionic systemd[1]: Started Hyper-V KVP Protocol Daemon.
Jun 07 11:47:29 bionic KVP[1995]: KVP starting; pid is:1995
Jun 07 11:47:29 bionic KVP[1995]: KVP LIC Version: 3.1
Jun 07 11:47:36 bionic hv_kvp_daemon[1995]: sh: 1: 
/usr/libexec/hypervkvpd/hv_get_dns_info: not found
Jun 07 11:47:36 bionic hv_kvp_daemon[1995]: sh: 1: 
/usr/libexec/hypervkvpd/hv_get_dhcp_info: not found
Jun 07 11:47:36 bionic hv_kvp_daemon[1995]: sh: 1: 
/usr/libexec/hypervkvpd/hv_get_dns_info: not found
Jun 07 11:47:36 bionic hv_kvp_daemon[1995]: sh: 1: 
/usr/libexec/hypervkvpd/hv_get_dhcp_info: not found
Jun 07 11:47:36 bionic hv_kvp_daemon[1995]: sh: 1: 
/usr/libexec/hypervkvpd/hv_get_dns_info: not found
Jun 07 11:47:36 bionic hv_kvp_daemon[1995]: sh: 1: 
/usr/libexec/hypervkvpd/hv_get_dhcp_info: not found

5. Rebooting the system after this point will no longer trigger the
first issue, only the second one. Even stopping the VM and turning it
back ON does NOT trigger the first issue again.

Could it be that while the hv-kvp-daemon service shows the two files
(hv_get_dns_info and hv_get_dhcp_info) are not found, it will not enter
in the failed state? Meaning that the two apparently separate issues,
are actually related. I am not 100% sure about this.

In order to trigger the first issue again, the Integration Service
corresponding to the KVP daemon has to be disabled and re-enabled, and
the VM has to be rebooted. This is just the way I managed to reproduce
the first issue again, I am not sure if there are other ways to trigger
it again.

-- 
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/1766857

Title:
  [Hyper-V] KVP daemon fails to start

Status in linux package in Ubuntu:
  In Progress
Status in linux-azure package in Ubuntu:
  Invalid
Status in linux source package in Bionic:
  In Progress
Status in linux-azure source package in Bionic:
  Invalid

Bug description:
  While testing Bionic daily build with kernel 4.15.0-20-generic we saw
  that there are 2 issues with the KVP daemon:

  1. KVP daemon crashes after approximatively 2 minutes of uptime and it enters 
in a failed state. The daemon can be manually started and it enters back in 
active (running) state.
  The error messages from /var/log/syslog after the daemon enters the failed 
state are the following:

  Apr 25 04:28:46 bionicDaily KVP: read failed; error:9 Bad file descriptor
  Apr 25 04:28:46 bionicDaily systemd[1]: hv-kvp-daemon.service: Main process 
exited, code=exited, status=1/FAILURE
  Apr 25 04:28:46 bionicDaily systemd[1]: hv-kvp-daemon.service: Failed with 
result 'exit-code'.
  Apr 25 04:28:59 bionicDaily systemd[1]: Started Hyper-V KVP Protocol Daemon.

  Note: There was a simmilar issue discussed on this thread
  https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1664663, but the
  fixing commit seems to be inclued in this Bionic build.

  2. After the KVP daemon is being started the following messages
  appear:

  Apr 25 04:45:25 bionicDaily hv_kvp_daemon[1895]: sh: 1: 
/usr/libexec/hypervkvpd/hv_get_dns_info: not found
  Apr 25 04:45:25 bionicDaily hv_kvp_daemon[1895]: sh: 1: 
/usr/libexec/hypervkvpd/hv_get_dhcp_info: not found

  The above binaries are present on the system, but the their actual
  path is /usr/sbin/hv_get_dns_info and /usr/sbin/hv_get_dhcp_info.
  Either the hv_get_dhcp_info and hv_get_dns_info binaries should be
  placed in the location where the daemon is looking for
  (/usr/libexec/hypervkvpd/), or the daemon should be set to search for
  the binaries in the /usr/sbin directory.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1766857/+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

Reply via email to