Ertürk Online

aut non tentaris aut perfice…

Fixing NoMatchError during manual vib remove with esxcli

Published by

on

I recently tried to upgrade an ESXi that was installed with a vendor provided ISO from version 6.7 to 7 with Lifecycle Manager in vCenter. I got the following 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.

NoMatchError missing VIB dependency

Name of the VIB hints that there were some residual VIBs kept during previous upgrades as well:

# esxcli software vib list | grep 550
scsi-hpdsa                     5.5.0.68-1OEM.550.0.0.1331820        HPE              PartnerSupported  2020-01-22
scsi-hpvsa                     5.5.0.102-1OEM.550.0.0.1331820       HPE              PartnerSupported  2018-04-09
net-i40e                       1.2.48-1OEM.550.0.0.1331820          Intel            VMwareCertified   2018-04-09
net-igb                        5.2.10-1OEM.550.0.0.1331820          Intel            VMwareCertified   2018-04-09
net-ixgbe                      3.21.4.3-1OEM.550.0.0.1331820        Intel            VMwareCertified   2018-04-09
scsi-bfa                       3.2.5.0-1OEM.550.0.0.1331820         QLogic           VMwareCertified   2018-04-09

Well, I didn’t have time to extract this conflicting obsolete VIB and build another image. So I proceeded to remove it manually. Just needed to check first if this scsi-bfa module has been used or not:

# esxcli software vib list | grep bfa
scsi-bfa                       3.2.5.0-1OEM.550.0.0.1331820         QLogic           VMwareCertified   2018-04-09

# esxcli network nic list
Name    PCI Device    Driver  Admin Status  Link Status  Speed  Duplex  MAC Address         MTU  Description
------  ------------  ------  ------------  -----------  -----  ------  -----------------  ----  -----------------------------------------------------------
vmnic0  0000:02:00.0  ntg3    Up            Up            1000  Full    30:e1:71:...  1500  Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet
vmnic1  0000:02:00.1  ntg3    Up            Up            1000  Full    30:e1:71:...  1500  Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet
vmnic2  0000:02:00.2  ntg3    Up            Up             100  Full    30:e1:71:...  1500  Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet
vmnic3  0000:02:00.3  ntg3    Up            Down             0  Half    30:e1:71:...  1500  Broadcom Corporation NetXtreme BCM5719 Gigabit Ethernet
vmnic4  0000:08:00.0  elxnet  Up            Up           10000  Full    00:fd:45:...  1500  Emulex Corporation HPE Ethernet 10Gb 2-port 557SFP+ Adapter
vmnic5  0000:08:00.1  elxnet  Up            Down             0  Half    00:fd:45:...  1500  Emulex Corporation HPE Ethernet 10Gb 2-port 557SFP+ Adapter

# esxcfg-scsidevs -a
vmhba0  vmw_ahci          link-n/a  sata.vmhba0                             (0000:00:1f.2) Intel Corporation Wellsburg AHCI Controller
vmhba1  nhpsa             link-n/a  sas.51402ec001db5330                    (0000:03:00.0) Hewlett-Packard Company Smart Array P440ar
vmhba2  qlnativefc        link-up   fc.51402ec0017c8fb1:51402ec0017c8fb0    (0000:05:00.0) QLogic Corp ISP2532-based 8Gb Fibre Channel to PCI Express HBA
vmhba3  qlnativefc        link-up   fc.51402ec0017c8fb3:51402ec0017c8fb2    (0000:05:00.1) QLogic Corp ISP2532-based 8Gb Fibre Channel to PCI Express HBA
vmhba32 vmkusb            link-n/a  usb.vmhba32                             () USB

I was clear to go, but I got the same NoMatchError error with every attempt below. VIB is listed when queried but cannot be found when tried to be removed.

# esxcli software vib remove -n scsi-bfa
 [NoMatchError]
 No VIB matching VIB search specification 'scsi-bfa'.
 Please refer to the log file for more details.
# esxcli software vib remove -n scsi-bfa -f
 [NoMatchError]
 No VIB matching VIB search specification 'scsi-bfa'.
 Please refer to the log file for more details.
# esxcli software vib remove --vibname="QLogic:scsi-bfa:3.2.5.0-1OEM.550.0.0.1331820"
 [NoMatchError]
 No VIB matching VIB search specification 'QLogic:scsi-bfa:3.2.5.0-1OEM.550.0.0.1331820'.
 Please refer to the log file for more details.

I dug a bit but there was no alternative method suggested online other than you can find in official documentation. I tried to test applying the profile provided in the vendor provided ESXi v7 software depot. I uploaded the depot zip to a datastore. The operation overwrites the current profile successfully and solves the problem without giving any NoMatchError.

# esxcli software sources profile list -d /vmfs/volumes/[datastore-name]/VMware-ESXi-7.0.3-21424296-HPE-703.0.0.11.3.0.5-Apr2023-depot.zip
Name                               Vendor                      Acceptance Level  Creation Time        Modification Time
---------------------------------  --------------------------  ----------------  -------------------  -------------------
HPE-Custom-AddOn_703.0.0.11.3.0-5  Hewlett Packard Enterprise  PartnerSupported  2023-03-24T05:15:11  2023-03-24T05:15:11

# esxcli software profile update -d /vmfs/volumes/[datastore-name]/VMware-ESXi-7.0.3-21424296-HPE-703.0.0.11.3.0.5-Apr2023-depot.zip -p HPE-Custom-AddOn_703.0.0.11.3.0-5
Update Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: BCM_bootbank_bnxtnet_224.0.149.0-1OEM.700.1.0.15843807, BCM_bootbank_...
   VIBs Removed: BCM_bootbank_bnxtnet_214.0.195.0-1OEM.670.0.0.8169922, BCM_bootbank_...

Leave a comment

Previous Post
Next Post
Design a site like this with WordPress.com
Get started