I scheduled a large number of VMs (find the script here) to upgrade the virtual hardware to the latest version.
Unfortunately, one VM ran into an issue and it was not possible to perform a vMotion or power it on anymore.
Every vMotion or Power-on actions failed with the following general system error:
A general system error occurred:
The destination host is not compatible with the hardware version to which the VM is scheduled to be upgraded. In order to proceed with the operation, VM’s scheduled compatibility upgrade should be disabled.
The hardware version displayed in the vSphere Web client was vHW 11. Everything looked fine, no VM Compatibility Upgrade was scheduled. So I tried to remove the VM from inventory and re-add it, but the error persisted.
It was necessary to delete three lines in the .vmx file:
- power off the VM (if it is still running…)
- remove the VM from inventory
- make a copy of the .vmx file of affected VM (backup is always a good idea)
- open the .vmx file in an editor and delete the following three lines:
tools.upgrade.policy = “upgradeAtPowerCycle”
virtualHW.scheduledUpgrade.when = “always”
virtualHW.scheduledUpgrade.state = “done”
- add the VM to inventory
- power-on the VM
- check if the error persists
“Check and upgrade Tools during power cycling” is not active any more. You have to re-enable this setting if necessary (VM Settings – Edit Settings – VM Options – Tools Upgrade)
If the VM was part of a DRS rule you have to take care that you re-add it if necessary.