For those that you don’t know, Linux Integration Services or LIS in short, are a set of drivers that enable synthetic device support in Linux VMs that are running on Hyper-V. Plainly speaking, these drivers allow you have almost all the nice stuff you take for granted when you use Windows under Hyper-V and that’s mouse support (remember the days when you had to press CTRL + Left/Right arrow? Not anymore), dynamic memory, synthetic network adapters (not the legacy Intel 1000 which only works in 10mbps mode) and lots more feature where you can read about HERE
Now recently I got a chance to update LIS from 4.07 to 4.0.11 on some production CentOS servers that were updated to 6.7 a while back that were still running version 4.0.7 without any issues, even if CentOS 6.7 wasn’t officially supported by Microsoft.
So I did all the necessary steps for roll-back purposes and started the upgrade process which worked just fine until I rebooted the VMs and got a very nice cup of kernel panic.
The only solution for that unexpected problem was to use an old kernel and start figuring out why did it happen in the first place and how could have been prevented. After a couple of hours searching for answer I found a forum post on TechNet (Technet Post) where some users faced the same issue and offered some solutions for fixing the problem but the best one came from the Program Manager, Joshua R. Poulson that stated and I quote:
Joshua R. Poulson, Program Manager, Microsoft Open Source Technology Center
As you determined, you need to install LIS 4.0.11 on RHEL 6.7 and not 4.0.7. Also, whenever you upgrade the kernel, we recommend uninstalling LIS, upgrading the kernel, and reinstalling LIS.
The part that we’re interested is exactly the last part where he says that before you upgrade the kernel, you have to remove LIS, upgrade the kernel and then re-install LIS, which for me is a very critical piece of information that is not written in the Linux Integration Services v4-0-11.pdf.
Now the only way to fix the issue is by booting the VM with the old kernel (option 2 in GRUB), remove LIS, revert back to the latest kernel and install LIS again.
The OpenLogic Linux VMs templates in Azure are not affected by this issue because they are running LIS 3.50 and the upgrade process works just fine on CentOS 6.7, 7.0 and 7.1.
UPDATE – 12/21/2015
On December 14th 2015, CentOS 7.2 has been released – Release Notes – Which means that if you have LIS 4.0.11 running on version CentOS 7.1, do NOT under any circumstance update to 7.2! The issue has already been reported and we have confirmation that CentOS 7.2 will get supported in the next release. More details HERE
UPDATE – 03/18/2016
LIS 4.1 has been released which works on CentOS 7.2, here’s the link: https://www.microsoft.com/en-us/download/details.aspx?id=51612