Upgrading ESXi through esxcli software profile update command fails.
The following error is returned in commandline output:
[MissingComponentError]
Missing reserved components BCM-storcli_007.2613.0000.0000-01,Broadcom-bnxt-NetRoCE_228.0.216.0-1OEM.800.1.0.20613240,Intel-icen_1.12.5.0-1OEM.800.1.0.20613240,Intel-igbn_1.11.2.0-1OEM.800.1.0.20613240,MRVL-QLogic-FC_5.4.82.82.0-1OEM.800.1.0.20613240,Microchip-smartpqi_80.4600.0.115-1OEM.800.1.0.20613240,amsdvComponent_7-1.11.6.0.3-1,ilo-driver_700.10.8.2.2-1OEM700.1.0.15843807,ssacli2-component_6.30.8.0.0,sutComponent_800.5.0.0.0.11-0
Esxi 8.0.x
1) Checked esxupdate.log , there is no other error message.
The following error appears suddenly :
YYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: Traceback (most recent call last):YYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: File "/usr/lib/vmware/esxcli-software", line 1135, in <module>YYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: main()YYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: File "/usr/lib/vmware/esxcli-software", line 1122, in mainYYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: ret = CMDTABLE[command](options)YYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: File "/usr/lib/vmware/esxcli-software", line 495, in ProfileUpdateCmdYYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: res = t.InstallVibsFromProfile([], opts.profile, depotUrls=depoturls,YYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: File "/tmp/esx-update-2108562/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 1940, in InstallVibsFromProfileYYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: File "/tmp/esx-update-2108562/lib64/python3.8/site-packages/vmware/esximage/Transaction.py", line 1206, in _installVibsYYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: File "/tmp/esx-update-2108562/lib64/python3.8/site-packages/vmware/esximage/ImageProfile.py", line 1344, in PopulateReservedMetadataYYYY-MM-DDTdd:12:42Z Er(11) esxupdate[2108562]: esximage.Errors.MissingComponentError: Missing reserved components BCM-storcli_007.2613.0000.0000-01,Broadcom-bnxt-Net-RoCE_228.0.216.0-1OEM.800.1.0.20613240,Intel-icen_1.12.5.0-1OEM.800.1.0.20613240,Intel-igbn_1.11.2.0-1OEM.800.1.0.20613240,MRVL-QLogic-FC_5.4.82.0-1OEM.800.1.0.20613240,Microchip-smartpqi_80.4600.0.115-1OEM.800.1.0.20613240,amsdvComponent_701.11.6.0.3-1,ilo-driver_700.10.8.2.2-1OEM.700.1.0.15843807,ssacli2-component_6.30.8.0-8.0.0,sutComponent_800.5.0.0.11-0
2) Check the vibs on Esxi host:
esxcli software vib list
The vibs in error message above can be found in vib list.
Remove some vibs from Esxi host,
for example: storcli
But it does not make any change.
The exactly same error message is returns when user runs "esxcli software profile update " command.
Even when vib storcli has been removed, the error message still complains about storcli vib .
3)The existing profile on Esxi host was installed in vSphere Lifecycle Manager, not with commandline
This can be confirmed with command :
# esxcli software profile get:
(Updated) VMware Lifecycle Manager Generated Image: Name: (Updated) VMware Lifecycle Manager Generated Image
4) On an Esxi host which was installed manually, or upgraded with esxcli command , the profile name format is different:
# esxcli software profile get:
HPE-Custom-AddOn_802.0.0.11.6.0-5 Name: HPE-Custom-AddOn_802.0.0.11.6.0-5
The workaround is:
Do not use command to apply patch on this Esxi host, use Sphere Lifecycle Manager instead.
1) Import Esxi patch zip file to vSphere Lifecycle Manager, and create new image with the zip file.
2) Upgrading Esxi host with image in vSphere Lifecycle Manager