Description

Junos Space is available for download as a virtual appliance in an Open Virtualization Format Archive (OVA). This archive is a single file package containing the virtual machine disk, a descriptor and a manifest signature file. Users might need to upload this to a platform which does not support this format. For instance, the OVA format currently is not compatible with VMWare Cloud Director, which is used by some online VMware hosting providers. This document shows how to convert it to an expanded Open Virtualization Format (OVF) for upload to platforms which do not support OVA format.

Symptoms

• Upload of Junos Space virtual appliance image to vCloud Director may not work correctly.
• Conversion to OVF without compression can be used to allow successful upload.

Solution

Currently, VMware vCloud Director does not support upload of OVA packaged OVF. 

Conversion must be made using OVFtool or specific process outlined below.

Converting OVA to OVF with VMware OVF Tool

VMware distributes a utility package OVF tool that runs on Linux, Windows or Macintosh.  OVF tool can be used to do the conversion (in addition to other functionality such as upload of VM to vSphere servers). IYou will need to have a registered account with VMware to download OVF tool. Since Junos Space is distributed as a compressed OVA, and vCloud Director currently only supports OVF upload, the following command can be used for the conversion.

host> ovftool.exe -st=OVA -tt=OVF space-12.1R1.8.ova space-12.1R1.8.ovf
Opening OVA source: space-12.1R1.8.ova
The manifest validates
Opening OVF target: space-12.1R1.8.ovf
Writing OVF package: space-12.1R1.8.ovf
Transfer Completed
Completed successfully

If you have used this method, you are done and may now upload the OVF to vCloud Director.

Manual converting OVA to OVF

If you do not have OVFTool, you will have to convert the archive manually using the following steps. OVA is a packaging of the VMDK along with a descriptor file (.ovf) and a checksum integrity manifest file (.mf). The packaging is in unix tar format.

Unpack the OVA archive

The unix tar command can be used to unpack the archive. Other packaging software such as 7zip can also extract the files.

unix> tar xvf space-12.1R1.8.ova
space-12.1R1.8.ovf
space-12.1R1.8.mf
space-12.1R1.8-disk1.vmdk.gz

Uncompress the VMDK and update the OVF descriptor

The VMDK should be decompressed, if this step is skipped the virtual machine may not boot into the OS after uploade to vCloud Directory. Gunzip or 7zip can be used to decompress the VMDK. Now you will have a file ending in .vmdk.

File Bytes
space-12.1R1.8-disk1.vmdk 1280979456
space-12.1R1.8-disk1.vmdk.gz 1244964699
space-12.1R1.8.mf 144
space-12.1R1.8.ovf 6820

At this point you will need to update the OVF descriptor file (.ovf). The file tag will need to be moved to .vmdk instead of .vmdk.gz and the indicated compression tag will need to be removed and the indicated bytes should be corrected. Edit the following tag in the .ovf file, noting changes highlighted in red.

Originally:
<File <span style="color: red;" class="error"> ovf:compression="gzip" ovf:href="space-12.1R1.8-disk1.vmdk .gz " ovf:id="file1" ovf:size=" 1244964699 "/>

Change to:
<File ovf:href="space-12.1R1.8-disk1.vmdk" ovf:id="file1" ovf:size="1280979456"/>

Correct for the manifest

The manifest (.mf) file is not incorrect. There are two options to this.
One option is to simply delete the file from the directory that contains the .ovf which will allow upload without integrity checking.
To maintain integrity check on upload, recalculate the SHA1 checksums of the VMDK and OVF using commonly available tools and update the manifest (.mf) file. The following example shows the changes for 12.1R1.8. Values should be verified using an SHA1 computation before updating the file. Note that blank lines at the end of the file may be problematic when the vCloud Director does its check after upload, so there should only be 2 lines, and no blank lines in the manifest (.mf) file.

Originally:
SHA1(space-12.1R1.8.ovf)= 95ef848f3a05b93ed381f0bd18d1b5beeaa06a5f
SHA1(space-12.1R1.8-disk1.vmdk.gz)= 8be592b6e205a180b10a474fc3c3855265873759

Change to:
SHA1(space-12.1R1.8.ovf)= f91a542667364d05bb422a7c2e5ade76bbe63d1b
SHA1(space-12.1R1.8-disk1.vmdk)= d41dc5ea1d1803c86ef7aebfee55899a11a4467f
Once you have addressed the manifest by deleting the file or updating the digests, you have completed this process and may upload the OVF to the vCloud Director.

Related Information