2

Essentially I'm hoping for an open source alternative to VMware's ovftool that will run on Linux (Debian). ovftool works fine but as it's not open source I can't redistribute it...

I have looked at virt-convert but it only does the ovf → something else conversion (not something else → ovf). It also doesn't do the vmdk packaging/compressing.

Turning the OVF into an OVA is trivial (create a manifest, tar it all up and change the file extension to .ova) so really all I need is something that can create the desired OVF file. Also I need to convert a "standard sparse" VMDK to the desired type (I forget what version it is; but it's a compressed read-only sparse vmdk - perhaps "type 3"?). qemu-img is able to create VMDKs ok but last time I checked not the type required for OVF/OVA (having said that I think that as of v2.x QEMU may be able to read them but I still doesn't think that it can write them).

So to summarise I need a tool/tools to:

  • Create the initial OVF file
  • convert a standard VMDK to an "streaming optimised VMDK" — i.e. a compressed, read-only sparse disk)
4

Oracle Virtual Box can export to OVF files and VBoxManage clonehd can convert VMDK to streaming VMDK amongst many other options.

There are downloads for Windows, OSX, Linux & Solaris and the Licence is GPL2.

| improve this answer | |
  • Thanks for your answer Steve. VirtualBox can do it, but IMO having to install hundreds of MB of software to achieve something so simple seems overkill. As VBox is OSS I guess I could pull the source code apart and find the bits that I need and just use them, but surely there is something (only a few MB in size) off the shelf that can do it?! – Jeremy Davis Mar 20 '16 at 22:13
  • @JeremyDavis - I think that it is more a question on demand - your scenario is not an especially common one I should imagine so there may not be a specific utility out there. However, VBox Manage is only 1.2MB and doesn't seem to have too many dependencies, looks like <3MB of DLLs. You could contact the community virtualbox.org/wiki/Community to see how feasible a standalone would be. – Steve Barnes Mar 21 '16 at 6:59
  • I accepted your answer as it seems that with some tinkering I should be able to pull the vbox-manage script out and use it for my purposes. Actually the whole VirtualBox package with no GUI and only strict dependencies (i.e. no "recommends") is in the vicinity of ~60MB. Considering that the VMware OVFTool is ~40MB there isn't a lot in it... – Jeremy Davis Mar 30 '16 at 13:00
  • @JeremyDavis - It may also be worth taking a look at packer.io not used it but there looks to be a lot there. – Steve Barnes Mar 30 '16 at 14:12
  • 1
    I'd just like to add that I have had a play with vboxmanage (after installing the base VBox package with only dependencies) and it actually works quite nicely. The only problem is that VMPlayer baulks at importing the resulting OVF. You can choose to ignore the errors and it does actually import fine, but it's a bit ugly... I plan to see if I can work around that; but ultimately vboxmanage does the job and only ~60MB install so thanks again for your suggestion! :) – Jeremy Davis May 5 '16 at 2:12
2

For the record I wrote such to be able to import a disk image to VirtualBox. It works too for vmWare Workstation.

https://github.com/EmmanuelKasper/import2vbox

It creates a basic OVF file based on the command line switches your pass, and some inspection of the disk image.

import2vbox --memory 512 --vcpus 2 disk_image.raw

will create an OVF file and convert the disk image to vmdk if needed.

BTW I think the standard sparse (createType="monolithicSparse") in the VMDK format is OK for OVF import. Disk compression is optional IIRC the OVF standard.

| improve this answer | |
  • Hello! Almost there - could you please edit your answer to make it self-containing? How does your tool meets OP requirements? – VicAche Apr 9 '17 at 7:53
  • From a quick glance it does look like your tool may be able to solve part of the puzzle so thanks for sharing. I'll certainly look closer into this at some point in the future. For now, I've just continued to use (the proprietary) OVFTool – Jeremy Davis Apr 10 '17 at 2:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.