Set the stage:

Recently while deploying an OVA that I had deployed many times before, I came across this error. The main difference is, it is VMware 6.5.  

Now, I took particular interest because, I built this OVA. There are no special settings. The OVF is pretty strict, and the MF is generated by OVFtool 3.5.2. So, what gives?



It turns out that OVFtool 3.5.2 generates a manifest file with only the vmdk checksum(not really the issue), but it also stuffs a retarded amount of white spaces after the end of it.

[root@centos6-1 test]# cat -A
SHA1(centos6-disk1.vmdk)= fee15612b54f8262d07788b971328a2ff2a7bb42$
                                                                                        [root@centos6-1 test]# 

There is a new line character at the end of the sha1sum, then on the new line there is a bunch of spaces. These spaces seem to fail the ESX 6.5 MF validation.


The solution is to somehow get rid of those spaces. You can either remove them by hand, and then re-tar the archive together manually so it doesnt re-generate…

C:\Program Files\VMware\VMware OVF Tool>ovftool.exe -st=OVF -tt=OVA "C:\Users\james\vm\centos6.ovf" "C:\Users\james\vm\centos6.ova"
Opening OVF source: C:\Users\james\vm\centos6.ovf
Opening OVA target: C:\Users\james\vm\centos6.ova
Writing OVA package: C:\Users\james\vm\centos6.ova
Transfer Completed
 - No manifest file found.
 - No manifest entry found for: 'centos6-disk1.vmdk'.
Completed successfully

C:\Program Files\VMware\VMware OVF Tool>

Or just upgrade OVFtool. I upgraded to OVFtool 4.2.0, and it seems to add the sha1sum for the ovf too, but other than that, no spaces. It also imports into those ESX 6.5 boxes that earlier had been throwing an error.