I recently ran into a problem when trying to P2V a server with the Citrix XenConvert tool.
XenConvert would successfully create the local VHD file for the disk image as well as the OVF file for the server and then copy them to XenServer, however at the vert last hurdle (actually importing the OVF into XenCenter), it would then fail with a rather unhelpful “Failed to import the OVF Package” message.
The relevant part of the XenConvert.txt log would look something like this:
Physical to OVF Package stopped at <date/time>
Physical to OVF Package lasted <duration> seconds
Source is <path>.
Destination is <XenServer IP>.
OVF to XenServer started at <date/time>
Importing OVF Package…
Failed to import.
Failed to import the OVF Package.
OVF to XenServer stopped at <date/time>
OVF to XenServer lasted <duration> seconds
Physical to XenServer stopped at <date/time>
Physical to XenServer lasted <duration> seconds
It turns out that the OVF package has in actual fact been successfully imported in to XenServer, it’s just that for whatever reason XenCovert fails to remove the “hidden” flag from the resulting Virtual Machine.
You can see the hidden Virtual Machine in XenCenter by selecting “Hidden Objects” from the “View” menu.
In order to make the virtual machine permanently visible, you need to switch to the console and find the UUID of the virtual machine using:
Once you have the UUID, you can remove the “hidden” flag from the virtual machine with the following command:
xe vm-param-remove uuid=<UUID> param-name=other-config param-key=HideFromXenCenter
Obviously you need to replace “<UUID>” with the UUID that you found in the output of the vm-list command.
You should now have a normal, fully functioning Virtual Machine which you can see without “Hidden Objects” enabled in XenCetner.