VMware Open Virtualization Format (OVF)

Here you can provide suggestions on how to improve the product, website, etc.
Post Reply
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

VMware Open Virtualization Format (OVF)

Post by Technologov »

Hi All !

There is a relatively new format for meta-data about Virtual Machines, named OVF.

Open Virtualization Format - OVF:
http://www.vmware.com/appliances/learn/ovf.html

Today - while the hard disk (VMDK) is more or less supported by many vendors but there is no standard yet for the VM-specific meta-data.

This OVF is looking promising - as it contains all hardware data specific to the VM - such as CPUs, RAM, chipsets, networking configuration, ...

My main concern with OVF is that different virtualization vendors employ different virtual hardware - so even if the meta-data is standardazied - not so with virtual hardware.
So in the real-world I'm not sure how helpful this format really is... But the general idea is very good.

I presume that this OVF format implies that other vendors must match VMware in terms of virtual hardware support.

Let's look at the Virtual Machines (Hard Disk and meta-data and Hardware):

In short - for this OVF to work - different vendors Virtual Hardware must match.

Qemu:
Cirrus Logic video card, SB16, PIIX3 IDE, Realtek NIC by default
Hard disk is qcow2, and no meta-data is stored.
Qemu supports VMDK HDD and some SCSI, SMP, and VMware video card. Can emulate AMD NICs, 64-bit capable.

Parralels Workstation:
HDD Format is *.hdd, and meta-data is *pvs - both formats are proprietary.
Hardware unknown

Virtual PC 2004/2007:
Uses (*.vhd) and for meta-data formatted as *.vmc. Does not support SCSI - Audio is SB16. Video: S3 Trio. Network: AMD PCnet
Not SMP capable. Not 64-bit guests capable.

VMware Workstation 6.0:
AMD NIC + PV, Audio: SoundBlaster64 (not supported by any other vendor), video: VMware PV, IDE+SCSI, SMP-capable, 64-bit capable.
Uses VMDK for hard disks.

VirtualBox:
video: VirtualBox PV, no-SMP, IDE is PIIX3/4 capable. SCSI appeared in 2.1. Emulates AMD NICs, 64-bit capable.
Uses *.vdi for Hard Disks and *.xml for VM meta-data.
Not SMP capable.

=======================================

Even in hardware I have not checked deeply whenever the SCSI controller that Qemu and VirtualBox supports is the same SCSI controller that VMware supports - same goes for AMD PCnet NICs.
Same is true for VMDK format - that is not supported fully by Qemu & VirtualBox (snapshots, multi-volume VMDK, etc..)

Currently not all hardware from all vendors seems to match with VMware - especially in the Video PV and SoundBlaster 64 department.

What is your opinion about this?

-Technologov, 2.1.2008.
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Post by Technologov »

Actually I see one serious flaw with the OVF:

The hardware required to run OVF-capable VMs is not specified in the OVF specification. Instead it looks like "vmware-4" capable hardware, which means that no virtualizer can claim to be 100% OVF compliant.

I think it must be more specific both regarding virtualized hardware and virtual hard disk containers to be 100% implementable by other vendors.

In short the current OVF specification (v1.0.0d) is way too abstract and it does not guarantees that one vendor makes a VM appliance compatible with OVF will run on other vendors's OVF-compatible implementation (virtualizer).

-Technologov
vbox4me2
Volunteer
Posts: 5218
Joined: 21. Nov 2008, 20:27
Location: Rotterdam
Contact:

Post by vbox4me2 »

A solution might be as simple that everyone implement the destroy-virtual-supported-hardware switch/tag/flipped_bit/whatever, so if a vmware guest OS and its vm drivers detect vmware isn't running it will allow VM hardware deletion, sort of like a sysprep for vmmachines.
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Post by Technologov »

sysprep is an utility made by OS vendor, not by virtualization vendor. I'm not sure if such utility can be done at virtualization vendor level. (due to huge amount of possible guest OSes)
vbox4me2
Volunteer
Posts: 5218
Joined: 21. Nov 2008, 20:27
Location: Rotterdam
Contact:

Post by vbox4me2 »

Do any of you know how to read?? or other then state the bleeding obvious?

Did I actually said: lets go and use sysprep
Did I actually state: lets do this for windows guests and sodd the rest

If you bothered to read I said 'sysprep alike', for VM's you know NOT the guest OS or any frigging tools specific to a OS.

VM environments all have 1 central common issue and thats guest communication with the host via the guest additions or such tools, THIS is where you have control to envoke virtual hardware assosiations to the point you could design a sysprep alike function for VM portability that can be(come) a part of the OVF.
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Post by Technologov »

Many low-level OS functions of proprietary OSes (read: Windows) are not documented - which means that it will not be easy to provide such a mechanism.

Having different IDE/SCSI controller for Windows guest will result in Blue Screen of Death.

This is why having equal virtual hardware is more important than writing scripts/wizards for conversion (in my opinion).
Last edited by Technologov on 6. Jan 2009, 10:56, edited 1 time in total.
vbox4me2
Volunteer
Posts: 5218
Joined: 21. Nov 2008, 20:27
Location: Rotterdam
Contact:

Post by vbox4me2 »

Not really, just about anything boots when IDE drivers are used(and emulated) and ide is 99% vm backwards compatible.
Think about XML, xml is not really an endpoint product, but a means to get from A to B via xml.
Such a 'vm2vm prepare to move' tool or option would serve all vm controllers. Its not like you're talking about dozens of drivers and layers, they all hover around the same virtual techniques, enclose that endpoint and agree on it between compatitors and your done.
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Re: VMware Open Virtualization Format (OVF)

Post by Technologov »

I am happy to see that OVF I discussed here only several months ago is already implemented in VirtualBox 2.2.0

However I have not yet tried to port VMs from VirtualBox to other virtualizers.

Which other virtualizers support OVF ?
- VMware WS 6.5 ?

Qemu/KVM does not, MS Virtual PC does not, what else ? Parralels ?
gregdavisfromnj
Posts: 14
Joined: 13. Oct 2009, 16:49
Primary OS: MS Windows Vista
VBox Version: PUEL
Guest OSses: lots

Re: VMware Open Virtualization Format (OVF)

Post by gregdavisfromnj »

I just had my first foray into cross-virtualization-platform portability between a VirtualBox OVF appliance and a receiving VMware Workstation.

I posit that there is a factor governing one's ability to transfer a virtual machine from one platform to another, T_v (read: "T sub v" or "Transmittance of Virtualization"), that is ratio between 0 and 1. A T_v of 0 indicates there is no way to transmit a virtual machine unharmed or unchanged from one platform to another. A T_v of 1 indicates that a virtual machine may be transmitted from one platform to another with no change whatsoever; in other words, It Just Works wherever it has been taken.

The value of T_v is driven by parameters such as presence of proprietary virtual hardware, completeness of implementations of "standard" specifications, ambiguity in specifications that allow for multiple interpretations of the exact same valid sample of metadata, and ambiguity in specifications that allow for arbitrary metadata values that are not portable across platforms. It is also suspected at this time that desire to lock virtualization consumers in to one platform, and discourage the use of another, is also at play; however, this may only be a side-effect of poor specifications and standards, rather than a cause for them.

The value of T_v between two platforms is directed, such that T_v between platform A and B has no relationship between the T_v between platform B and A.

Seriously, I was better off making very portable decisions in choosing virtual hardware, and hard disk format, and creating a new virtual machine, wherever, based on my decisions and using a bit-perfect copy of the virtual hard disk.

All my troubles stem from issues mentioned in this thread, over a year ago. They could have been prevented by using firmer identifiers of hardware in OVF (like PCI IDs), by making it possible to avoid any propietary virtual hardware (i.e. at least emulating a real piece of hardware with real drivers for enough hardware to boot up and run stable, sound cards can be added after importing an appliance), by implementing the entire spec that you cook up (the platform that specifies VMDK should handle all variants of VMDK), and by emitting XML that is valid according to a rigorously defined XML schema.

gd
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Re: VMware Open Virtualization Format (OVF)

Post by Technologov »

Open Virtualization Format does not specify which hardware *must* be supported as a bare minimum.

The result is that you can't port VMs between different virtualizers.

The minimum standard should include:
-specific NIC models (i.e. Realtek RTL8139)
-specific Audio cards (i.e. Sound Blaster 16)
-PCI IDs and MAC addresses

Without minimum hardware requirements, everyone implements different hardware, with the end result that you can't port VMs.
Guest OSes start re-configure themselves, stop displaying things, results in BSOD, require re-activation, etc...

If VMware were to extend the OVF standard, it could become useful, so other vendors could implement the virtual hardware in question. (provided specs are freely available)

-Technologov
Post Reply