VMKAPI v2.4 removal implications when upgraded to ESXi 8.0 or install of older VIBs on ESXi 8.0.
search cancel

VMKAPI v2.4 removal implications when upgraded to ESXi 8.0 or install of older VIBs on ESXi 8.0.

book

Article ID: 318040

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:

When users attempts to upgrade your host from ESXi 6.7.x or ESXi 7.0.x to ESXi 8.0 and onwards, upgrade fails with "vmkapi DependencyError".
When you attempt to install or update a host with ESXi 6.x VIBs to ESXi 8.0 and onwards, it fails with
"vmkapi DependencyError".
Errors occur when using esxcli or VUM as the install/upgrade tool. When using vLCM, there is no failure, but there is a warning for the user to review.

  • Example of esxcli error:

"[DependencyError]
VIB QLC_bootbank_nqlcnic_6.0.63-1OEM.650.0.0.4240417 requires vmkapi_2_4_0_0, but the requirement cannot be satisfied within the ImageProfile. Please refer to the log file for more details."

  • Example of VUM error:

"The upgrade has VIBs that are missing dependencies. Remove the VIBs or use Image Builder to create a custom upgrade ISO image that contains the missing dependencies, and try to upgrade again."

  • Example of vLCM warning:

"Identified standalone VIB nqlcnic 6.0.63-1OEM.650.0.0.4240417 on the following host(s): examplehost.eng.vmware.com
Review compliance details and ensure no warning about this vib is present. If present, import the component containing the given vib."


Environment

VMware vSphere ESXi 8.0.0

Cause

VMKAPI versions 2.4 and below are removed from ESXi 8.0 GA and later.
The VIBs listed below are built for ESXi 6.5 with dependencies on VMKAPI versions 2.4 and below. Such VIBs are no longer supported.

Affected VIBs: amdgpuv, arcsmrn, inteligpu, liquidio, native-shannon, NVIDIA-kepler, nqlcnic, sfxnvme,
scsi-esashba4.

Resolution

No resolution available.

  • If you need continued usage of the listed VIBs, e.g. device(s) supported by the drivers, you cannot install or upgrade to ESXi 8.0.

  • If you encounter upgrade errors with other VIBs, ensure that you are using an ISO or depot with the latest versions of those affected VIBs. Alternatively, install newer 6.7 or 7.x versions of the affected VIBs and proceed with the upgrade.




Workaround:
On your host, check whether each of the impacted drivers is in-use using the following commands.

For storage drivers:
esxcli storage core adapter list |grep -i <driver_name>

For network drivers:
esxcli network nic list |grep -i <driver_name>

If command output shows driver(s) in the output, they are IN USE by the devices on the host.
If command returns NULL, the driver(s) are NOT in use.

Workaround 1: Device driver not in use
If the driver is not in use, then remove the relevant VIBs to proceed with upgrade.
Step 1: 
Remove the VIB using the following commands.
esxcli software vib list | grep <driver_name>
esxcli software vib remove -n <driver_VIB_name>

You may need to reboot the host to complete removal for some VIBs.

Step 2:
Run the upgrade to ESXi 8.0
Note: If the adapter/device using the driver is in use, then do not use above workaround as you may lose the relevant configuration and device access.

Workaround 2: Device driver is in use
If the driver is in use, and you do not need to retain the configuration and/or device access is not needed, choose one of the following options:

Method 1: Perform fresh install of ESXi 8.0

Method 2:
Step 1:
Cleanup the configuration with the relevant devices using these drivers. Migrate to alternate applicable storage or network controllers. For example: Move the host management interface and VM network to other supported NICs. Move the VMs to other supported storage device datastores.

Step 2: 
Remove the VIB using the following commands.
esxcli software vib list | grep <driver_name>
esxcli software vib remove -n <driver_VIB_name>
You may need to reboot the host to complete removal for some VIBs.
 
Step 3: 
Run the upgrade to ESXi 8.0

Note: You may permanently lose the access to the relevant adapters/devices and its configuration.
Device access and/or relevant configuration are non-recoverable.