Upgrades to ESXi 7.0.x from 6.5.x and 6.7.x by using esxcli software profile update or esxcli software profile install, ESXCLI commands might fail.
In the ESXi Shell or the PowerCLI shell, you see an error such as
The issue also occurs when you attempt an ESXi host upgrade by using the ESXCLI commands esxcli software vib update
or esxcli software vib install
.
With older releases (6.5 GA / U1 / U2 / U3 and 6.7 GA / U1 / U2 / U3), we have smaller bootbank (250MB), and the target image-profile is too large to fit into this space without changing the partition layout.
On 6.7 U1 / U2 / U3, the 'esxcli software profile install/update' commands are equipped to upgrade the partition layout to 7.0 format while performing the upgrade.
This issue can also be caused by the use of --dry-run option even if ESX is 6.7 U1 / U2 / U3. This is because --dry-run uses local old code logic and does not take into account the boot disk partition layout change that would take place during the upgrade.
This is a known issue in ESXi 6.5 and ESXi 6.7 releases. Currently there is no resolution.
To work around this issue,
On ESX before 6.7 U1, perform 2 steps upgrade (though 'esxcli software profile update' only) : first to 6.7 U1 or later, then update to 7.0.
On ESX 6.7 U1 and later, perform upgrade with 'esxcli software profile update' instead of 'esxcli software vib install/update' commands.
If --dry-run was used with 'esxcli software profile install/update' command on ESXi 6.7 U1 or later drop the option and commit to the upgrade, the upgrade should pass.
Alternatively, you can run an upgrade directly to 7.0 by using an ISO image with the vSphere Lifecycle Manager.