OSInside / kiwi

KIWI - Appliance Builder Next Generation
https://osinside.github.io/kiwi
GNU General Public License v3.0
295 stars 150 forks source link

OVA doesn't support ovftype powervm, zvm, xen #2627

Open pt1997ntt opened 3 weeks ago

pt1997ntt commented 3 weeks ago

Hello,

Problem description

when trying to build an ova image for power, like described here: https://osinside.github.io/kiwi/building_images/build_simple_disk.html#customizing-the-virtual-machine

I got the following error: KiwiDiskFormatSetupError: No support for ova disk format: Unsupported ovftype powervm

I've then checked the source code and realized that the documentation seems to be wrong and that only "vmware" is supported. https://github.com/OSInside/kiwi/blob/main/kiwi/storage/subformat/ova.py line 49

If I'm not missing something, please fix the documentation or add the capability. Thanks in advance.

Expected behavior

build an ova image

Steps to reproduce the behavior

on a ppc64le build host have the following content in your config.xml:

<type image="oem" format="ova" firmware="ofw"
  ...
  <machine ovftype="powervm"/>
</type>

OS and Software information

pt1997ntt commented 1 week ago

This has been confirmed by SUSE, They "will coordinate with the relevant documentation team on this matter and follow up internally."

They also provided the following info: "The reason for this limitation lies in the complexities of working with different OVF standards across platforms. While OVA (Open Virtual Appliance) is supposed to be a standardized format, the actual specifications and metadata requirements are highly proprietary for each platform

VMware provides tools like ovftool, which facilitates compatibility with their products. PowerVM, z/VM, and Xen have their own proprietary requirements for metadata within the OVA package, which are not publicly standardized to the same degree as VMware's

In previous versions of KIWI, the team did attempt to provide support for PowerVM and other platforms by implementing their own metadata writing code for these systems. However, this led to constant challenges.

The proprietary nature of PowerVM and other platforms meant their OVF standards frequently changed, and this broke functionality in KIWI. Unlike VMware, platforms like PowerVM do not provide tools to ensure compatibility, meaning that KIWI had to manually handle the creation of the OVF metadata

Due to these issues, the KIWI team made a strategic decision to focus on supporting VMware for OVA creation. The code was simplified to restrict OVA creation only to VMware environments, where compatibility could be guaranteed through the use of ovftool.

There have been some discussions in the KIWI community about reintroducing support for non-VMware platforms. The introduction of projects like open-vmdk could potentially offer a more standardized way of handling these formats, but it is still in its early stages and remains VMware-focused."