Solving an “Invalid OVF manifest entry” error
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).
Once that was done, I took the OVF file and imported it into vCenter without issue.
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.
UPDATE 2017-06-30: A peer and friend of mine, Michael White, recently ran into this issue. Upon trying the steps above, he was still unsuccessful. He did note that he was trying to perform the steps over an SMB share, and not on local disk. Ultimately he was able to extract the files and manually build out the VM in question. An OVA file is essentially just a TAR archive, so if you still don’t have luck with the steps above, try untarring the file.
Thx IT Guy!
Just to expand on this further. It looks like there is an issue when reading the manifest if the succeeding line has “space” – perhaps nbsp characters or some such?
I resolved by removing the space and hitting return to newline
This also affected other OVA’s that have been successfully deployed in previous VMWare releases (ie. 6.0)
You extract an OVF from an OVA. I think you might be using OVA and OVF interchangeably. That gets a little confusing.
Probably helps if I include the line I am referring to ;p
“After you get those two requirements installed, right-click on the OVF file in question”
That’s a lot of work. I’ve had this issue where I just rename the file either from ovf to ova or vice versa and it has worked for me.
Hello all,
This relates specifically to an OPA for Greylog. I had an issue during the VM creation phase of this and thought my comments might help others out there if they happen upon the same issue.
The actual OPA build went fine however my system kicked an error during VM creation that relates to an issue with the .mf file. It seems the hash algorithm specified in the OPA I downloaded was SHA1 however the default algorithm used by the tool is SHA256. The default override is via the “–shaAlgorithm=” switch. Use this switch during OPA build and you should have no issues at VM creation time.
Hope this helps – have fun…
Thank you so much! This worked like a charm!
Excellent IT Guy. You saved the day for me et al. We were using Clonezilla and capturing images that way with local USB drives. That was nuts. It had issues too.