Patent ID: 8484653

Claim:
A non-transitory machine-readable storage medium including instructions that, when executed by a processing device, cause the processing device to perform operations comprising: starting, by the processing device of a host controller computing device, a delayed hardware upgrade mode that is applicable to one or more hypervisors associated with the one or more host machines; determining, by the host controller computing device, that an incompatible hardware configuration exists between a VM to be migrated and a target hypervisor of the one or more hypervisors, the incompatible hardware configuration comprising the target hypervisor being unable to implement one or more features of VM hardware of the VM; delaying, by the host controller computing device, performance of the migration by communicating with a migration agent of the host controller computing device to delay the migration, wherein the migration agent manages a migration process of the VM between a source hypervisor of the one or more hypervisors currently hosting the VM and the target hypervisor; sending, by the host controller computing device, a command to the source hypervisor of the VM to update a hardware configuration of the VM in the delayed hardware upgrade mode to match a hardware configuration of the target hypervisor; determining, by the host controller computing device, that the update to the hardware configuration of the VM has been executed by the source hypervisor; and instructing, by the host controller computing device, the migration agent to proceed with the migration of the VM from the source hypervisor to the target hypervisor, wherein sending a command to the source hypervisor to update the hardware configuration of the VM in the delayed hardware upgrade mode causes the source hypervisor to place a hardware upgrade command for the VM in a delayed command queue associated with the VM and execute the command in the queue when the source hypervisor determines that the VM has been rebooted, wherein the reboot is not directly associated with the command.