the migrate option is normal grayed out when there is an ongoing task (clone, backup, snapshot take/consolidate/reconfigure etc) running against the VM)
In certain rare cases, an orphaned DB record could also cause this. From the vCenter server database, Look at the table VPX_DISABLED_METHODS
Select * from VPX_DISABLED_METHODS;
Result:
Select * from VPX_DISABLED_METHODS;
entity_mo_id_val | method_name | source_id_val | reason_id_val
------------------+-------------+---------------+---------------
(0 rows)
IF there are no such task’s and should you find this to be an orphaned entery, the contents of the table may be cleared
Delete from VPX_DISABLED_METHODS where entity_mo_id_val =x;