Upgrade to latest rolling release broke Hyper-V integration vmbus unavailable

Did a standard upgrade to the latest release form an older build. Hyper-V integrations are no longer working. any suggestion on troubleshooting and repair?

Same here :cry:

Hyper-V LIS (Linux Integration Services) is not working on VyOS 1.4-rolling-202103190553 (sagitta/current)

  • Image built using Docker over WSL2

  • Instructions from https://docs.vyos.io/en/latest/contributing/build-vyos.html

  • Used sudo make openstack to build an image with cloud-init (I need cloud-init!)

  • Used qemu-img.exe convert -f raw built.iso -O vhdx -o subformat=dynamic MyVm.vhdx to convert generated .ISO to .VHDX

  • VM Gen2 created with secure boot disabled. Booted correctly from .VHDX

Everything appears to work. Except the Hyper-V integration services.

[From Hyper-V HOST]

C:\> Get-VMIntegrationService -VMName tst

VMName Name                    Enabled PrimaryStatusDescription SecondaryStatusDescription
------ ----                    ------- ------------------------ --------------------------
tst    Guest Service Interface True    No Contact
tst    Heartbeat               True    No Contact
tst    Key-Value Pair Exchange True    No Contact
tst    Shutdown                True    No Contact
tst    Time Synchronization    True    No Contact
tst    VSS                     True    No Contact

[From GUEST VM]

$ cat /etc/os-release

PRETTY_NAME="VyOS 1.4-rolling-202103190553 (sagitta)"
NAME="VyOS"
VERSION_ID="1.4-rolling-202103190553"
VERSION="1.4-rolling-202103190553 (sagitta)"
VERSION_CODENAME=buster
ID=vyos
HOME_URL="https://vyos.io"
SUPPORT_URL="https://support.vyos.io"
BUG_REPORT_URL="https://phabricator.vyos.net"
$ sudo apt update && sudo apt install --only-upgrade hyperv-daemons

Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree
Reading state information... Done
hyperv-daemons is already the newest version (4.19.171-2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
vyos@tst:~$ sudo apt update && sudo apt install --only-upgrade hyperv-daemons
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
Reading package lists... Done
Building dependency tree
Reading state information... Done
hyperv-daemons is already the newest version (4.19.171-2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

P.S. It works with VyOS 1.3. Using the same build process with an image built from v1.3 (equuleus) branch:

[From Hyper-V HOST]

C:\> Get-VMIntegrationService -VMName tst

VMName Name                    Enabled PrimaryStatusDescription SecondaryStatusDescription
------ ----                    ------- ------------------------ --------------------------
tst    Guest Service Interface True    OK
tst    Heartbeat               True    OK
tst    Key-Value Pair Exchange True    OK                       The protocol version of the component installed in t...
tst    Shutdown                True    OK
tst    Time Synchronization    True    OK
tst    VSS                     True    OK                       The protocol version of the component installed in t...

Not sure whats needed to resolve this. Here is some debug info that might help?

PRETTY_NAME="VyOS 1.4-rolling-202102271630 (sagitta)"
NAME="VyOS"
VERSION_ID="1.4-rolling-202102271630"
VERSION="1.4-rolling-202102271630 (sagitta)"
VERSION_CODENAME=buster

apt install hyperv-daemons
hyperv-daemons is already the newest version (4.19.171-2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

service --status-all
[ - ] hyperv-daemons.hv-fcopy-daemon
[ - ] hyperv-daemons.hv-kvp-daemon
[ - ] hyperv-daemons.hv-vss-daemon

/etc/initramfs-tools/modules
nls_ascii
hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc

lsmod
hv_netvsc 77824 0
hv_storvsc 24576 1
hv_vmbus 81920 3 hv_netvsc,hv_storvsc,hyperv_keyboard

service hyperv-daemons.hv-fcopy-daemon start
service hyperv-daemons.hv-fcopy-daemon status
Mar 20 19:17:45 XXXhostnameXXX systemd[1]: Condition check resulted in Hyper-V volume shadow copy service (VSS) daemon being skipped.
Mar 20 19:44:34 XXXhostnameXXX systemd[1]: Condition check resulted in Hyper-V file copy service (FCOPY) daemon being skipped.

dmesg
[0.000000] Linux version 5.10.19-amd64-vyos (vyos_bld@cdc87d139e6c) (gcc (Debian 8.3.0-6) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #1 SMP Sat Feb 27 14:46:09 UTC 2021
[0.000000] Command line: BOOT_IMAGE=/boot/1.4-rolling-202102271630-/vmlinuz boot=live quiet rootdelay=5 noautologin net.ifnames=0 biosdevname=0 vyos-union=/boot/1.4-rolling-202102271630- console=ttyS0,9600 console=tty0

[ 1.468745] hv_vmbus: Vmbus version:3.0
[ 1.518953] hv_vmbus: registering driver hv_storvsc
[ 1.524699] hv_vmbus: registering driver hv_netvsc
[ 0.000000] DMI: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012
[ 0.000000] Hypervisor detected: Microsoft Hyper-V
[ 0.000000] Hyper-V: features 0xe7f, hints 0x2c, misc 0x17b2
[ 0.000000] Hyper-V Host Build:9600-6.3-19-0.19538
[ 0.000000] Hyper-V: LAPIC Timer Frequency: 0xc3500
[ 0.000000] tsc: Marking TSC unstable due to running on Hyper-V
[ 0.000000] Hyper-V: Using hypercall for remote TLB flush
[ 0.000000] clocksource: hyperv_clocksource_tsc_page: mask: 0xffffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns

[ 0.050297] Hyper-V: PV spinlocks disabled

[ 0.050307] Kernel command line: BOOT_IMAGE=/boot/1.4-rolling-202102271630-/vmlinuz boot=live quiet rootdelay=5 noautologin net.ifnames=0 biosdevname=0 vyos-union=/boot/1.4-rolling-202102271630- console=ttyS0,9600 console=tty0

[ 0.069002] Hyper-V: Using enlightened APIC (xapic mode)

[ 1.443815] piix4_smbus 0000:00:07.3: SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr

[ 1.448702] ata_piix 0000:00:07.1: version 2.13
[ 1.449043] ata_piix 0000:00:07.1: Hyper-V Virtual Machine detected, ATA device ignore set

[ 1.468745] hv_vmbus: Vmbus version:3.0
[ 1.518953] hv_vmbus: registering driver hv_storvsc
[ 1.524699] hv_vmbus: registering driver hv_netvsc

[ 18.559923] hv_vmbus: registering driver hyperv_keyboard