Recently we have been upgrading some VMware host from ESXi 6.0 to ESXi 6.7, We where applying the image using VMware update manager and a HPE custom ESXi image.
When applying the image we where getting incompatible warring and where not able to apply the image to upgrade ESXi on some hosts.
The issues was related to VIBS but they where not showing in the html 5 client
To find the missing VIBS we ended up having to mount the ISO through HPE ILO and try a manual upgrade which did show the conflicting VIBS.
In our case the VIBS causing issue was the below.
The issue seem to be related to older hosts that where previously upgraded from ESXi 5.5.
Next we needed to find out if the VIBS where in use by either the storage or network adapters,
below is the VMware KB that explain how to do this.
To get the list of storage and network adapter use the esxcli commands
esxcli storage core adapter list
esxcli network nic list
To get check the VIBS version we can use
esxcli software vib list | grep Mel
esxcli software vib list | grep scsi-lpfc820
Once we know the version numbers of the VIBS, we just need to confirm they are not used and if not used remove them.
If they where in use we would need to look at creating a custom image or wipe and reload the ESXi host.
First command we used was vmkload_mod to view the storage driver version, we use esxcli to view the version for the NIC’s
Once we confirm that none of the VIBS are required the last step is to remove each one. Below is the KB from VMware on removing VIBS.
There might be some VIBS that have dependency’s on others in our case the net-mlx4-core needed to be removed after the net-mlx4-en as it was dependent on it.
To remove we use esxcli software vib remove -n ‘vibname’
Reboot the ESXi host if required,
After the reboot, scan the host again from updates tab in VMware vSphere web client and it should now show as non-complaint and not incompatible.
The host should now upgrade as normal.