vSphere (as do some other hypervisors) make use of a handy format known as Open Virtualization Format, or OVF for short. It is an open standard that is used for packaging up virtual machines, namely appliances and whatnot that are meant for distribution. An OVF package consists of multiple files, including one descriptor file (with the .ovf extension). These contents can then be packaged up into a single file, known as an OVA file.
What’s great about these is that you can deploy just about any variety of virtual machine using this method. From the end user perspective, you can easily import these into your environment, and avoid all the usual setup that comes with creating a new VM. In the case of an OVA, you can use the ‘Deploy OVF Template’ feature within vCenter to point to a package and have it ‘sucked into’ vCenter.
I was recently trying to import an OVF template, but I kept running into the same error. When I was on the ‘Select a resource’ page of the wizard, I would select my host hit Next, and then receive the message ‘The provided manifest file is invalid: Invalid OVF manifest entry‘. Some Googling told me that the problem was likely with the OVF file, but I couldn’t find anything with regards to actually fixing it. The best I found was this response on the VMTN community forums. The answer was technically correct, but a little spare on details. It did however, start me off down the path of getting the issue resolved.
The first thing you’ll want to do is grab a copy of VMware’s OVF tool, which can be found at https://www.vmware.com/support/developer/ovf/. This tool is command-line based, and in my case, it did not create an entry in the start menu (I’ll cover that later). Secondly, you’ll want to make sure that you have 7-zip installed, or at least something else that can extract the OVF file.
After you get those two requirements installed, right-click on the OVF file in question and extract its contents. If you look inside the extracted contents, you should see a few different files, one of which is the OVF. If you care, you can open up the file in a text editor and take a look – it is just an XML file that contains information about the files, such as disk sizes, IP addresses, etc.
Now that we have the files extracted, we need to bundle them back up into an OVA file. Open up the command prompt and navigate to the OVF Tool install folder. In my case, I had to go to c:\Program Files\VMware\VMware OVF Tool. To repackage the files, run the following command: ovftool.exe Source.ovf Output.OVA. See the image for an example of the command that I ran. Depending on the size and number of files involved, this might take a few seconds up to a few minutes. Once it is done, you should find a new OVA file sitting where you specified (c:\temp\ in my case).
The OVF Tool can be used for other tasks as well. A slew of options are available for the tool. Tasks, like accepting EULAs or setting a computer name, are possible with the tool. There is a fairly comprehensive User’s Guide available here.