Description

In some versions of the ESXi-ContrailVMCentOS7.7-1_2005.62-ovf.tar file, a different value is used in the ContrailVM.mf file from the actual SHA1calculation result of ContrailVM.ovf.

This article shows the details and workaround for this issue until a fixed version is released.

Symptoms

SHA1 Checksum value of the ovf file in ESXi-ContrailVMCentOS7.7-1_2005.62-ovf.tar is incorrect. If this file is used in this state, deployment could not be successful.

Below is the R2005 output.  SHA1(ContrailVM.ovf) shows a different SHA1 hash.

$ tar xfv ESXi-ContrailVMCentOS7.7-1_2005.62-ovf.tar

-rw-r--r--. 1 user user 1247351808 Oct 15  2019 ContrailVM-disk-1.vmdk
-rw-r--r--. 1 user user        134 Oct 15  2019 ContrailVM.mf
-rw-r--r--. 1 user user       6627 Oct 15  2019 ContrailVM.ovf

$ cat ContrailVM.mf
SHA1(ContrailVM-disk-1.vmdk)= 78504c032b854353d2b2cf432b964b0316b638d0
SHA1(ContrailVM.ovf)= da2398e9b40ef77a71e3e2a8c8eb93083e308843

$ sha1sum ContrailVM.ovf
6bb4c0b7d0106ccf304a479440375bec3cbc7290  ContrailVM.ovf

$ sha1sum ContrailVM-disk-1.vmdk
78504c032b854353d2b2cf432b964b0316b638d0  ContrailVM-disk-1.vmdk  <-- This file shows correct value.

Solution

Version 5.0.0 had correct hash, erroneous hash started from 5.0.1.

$ tar xf ESXi-ContrailVMCentOS7.4-4_5.0.0-0.40-ovf.tar

-rw-r--r--. 1 user user  711052800 Apr  6  2018 ContrailVM-disk1.vmdk
-rw-r--r--. 1 user user        135 Apr  6  2018 ContrailVM.mf
-rw-r--r--. 1 user user       7775 Apr  6  2018 ContrailVM.ovf

$ cat ContrailVM.mf
SHA1(ContrailVM-disk1.vmdk)= a61488f1667baddda063a2ec1084ae42441a503d
SHA1(ContrailVM.ovf)= b64ed44b25164db2f7aa551acb7e8fe1265a0508

$ sha1sum ContrailVM.ovf
b64ed44b25164db2f7aa551acb7e8fe1265a0508  ContrailVM.ovf
$ tar xf ESXi-ContrailVMCentOS7.5-6_5.0.1-0.214-ovf.tar

-rw-r--r--. 1 user user 1035135488 Aug 15  2018 ContrailVM-disk1.vmdk
-rw-r--r--. 1 user user        135 Aug 15  2018 ContrailVM.mf
-rw-r--r--. 1 user user       7639 Aug 15  2018 ContrailVM.ovf

$ cat ContrailVM.mf
SHA1(ContrailVM-disk1.vmdk)= 15f23dd517af238b0aef1161460759a25846768b
SHA1(ContrailVM.ovf)= 2e504a31c07457cea60edeef2158ac19f03407c0

$ sha1sum ContrailVM.ovf
3045b257072f5d1c816d975cd5c73c52cad06501  ContrailVM.ovf

By editing ContrailVM.mf with the correct value manually, deployment will be completed successfully as a workaround.

Overwrite with the following command or directly edit ContrailVM.mf file.
$ cp ContrailVM.mf ContrailVM.mf.bk
$ sed -i "s/$(cat ContrailVM.mf | awk '/ovf/{print $2}')/$(sha1sum ContrailVM.ovf | awk '{print $1}')/" ContrailVM.mf

$ cat ContrailVM.mf
SHA1(ContrailVM-disk-1.vmdk)= 78504c032b854353d2b2cf432b964b0316b638d0
SHA1(ContrailVM.ovf)= 6bb4c0b7d0106ccf304a479440375bec3cbc7290