Restore job configured for successful savepoint fails with "2667 - device size mismatch" error.
Disk size information in the Metadata file does not match one in VmConfig.metadata. Ranger submits VmConfig file content as a parameter for CreateNewVM function. When vStorage API part is engaged it checks if uncompressed vmdk (entry in Manifest file) will be of the same size the target disk has.
Info in Manifest. Size of the disk (defined in bytes) 53687091200, which makes 50GB.
<FileMapEntry SourceFile="phys:/vmfs/volumes/4d6d89d8-4a2dbffd-7cd0-00237d6526c2/vdevtfs1/vdevtfs1-flat.vmdk" DestinationFileUUID="3d32db10-4559-4536-9232-e85d15061c32" OriginalSizeInBytes="53687091200" OutputSizeInBytes="13898936901" RelativeFilePath="vdevtfs1_420c0139-708b-e3f1-d658-0ca01243e483/vdevtfs1_20120320_163102_4ef82092-f8cc-42e1-acb0-4b6c6b7155b2/vdevtfs1_20120320_163102_F_4_vdevtfs1-flat_vmdk" ChangeID="*" ScsiID="SCSI (0:0)" />
Info in VmConfig. Size of the disk (defined in kilobytes) 8388608, which makes 8GB.
<device xsi:type="VirtualDisk"><key>2000</key><deviceInfo><label>Hard disk 1</label><summary>8,388,608 KB</summary></deviceInfo><backing xsi:type="VirtualDiskFlatVer2BackingInfo"><fileName>[EVAB_DG1_SVSP_DS104] vdevtfs1/vdevtfs1.vmdk</fileName><datastore type="Datastore">datastore-3089</datastore><diskMode>persistent</diskMode><split>false</split><writeThrough>false</writeThrough><thinProvisioned>false</thinProvisioned><uuid>6000C296-b667-d472-4af2-41012156732a</uuid><contentId>2ab7e3c960e32feccd99028e95debfc8</contentId></backing><controllerKey>1000</controllerKey><unitNumber>0</unitNumber><capacityInKB>8388608</capacityInKB><shares><shares>1000</shares><level>normal</level></shares></device>
In this case we need to trust info in Manifest and make corresponding changes in VmConfig. Then new "Restore from Manifest" job should be created and run.
VmConfig.metadata is a simple xml file, thus can be edited in any text editor like Notepad or Notepad++.
Here is how correct record should look like to make restore work. Make sure you make changes in 2 places: summary tag and capacityInKB.
<device xsi:type="VirtualDisk"><key>2000</key><deviceInfo><label>Hard disk 1</label><summary>52,428,800 KB</summary></deviceInfo><backing xsi:type="VirtualDiskFlatVer2BackingInfo"><fileName>[EVAB_DG1_SVSP_DS104] vdevtfs1/vdevtfs1.vmdk</fileName><datastore type="Datastore">datastore-3089</datastore><diskMode>persistent</diskMode><split>false</split><writeThrough>false</writeThrough><thinProvisioned>false</thinProvisioned><uuid>6000C296-b667-d472-4af2-41012156732a</uuid><contentId>2ab7e3c960e32feccd99028e95debfc8</contentId></backing><controllerKey>1000</controllerKey><unitNumber>0</unitNumber><capacityInKB>52428800</capacityInKB><shares><shares>1000</shares><level>normal</level></shares></device>
Information for VmConfig file is generated by VC or ESX. Ranger just saves it in a file.