From d3659622155fedf1669e09e8ca46a253481601e7 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 10 May 2015 16:12:33 +0100 Subject: [PATCH] v2v: OVF: Fix list of operating system variants for RHEV >= 3.3 (RHBZ#1219857). Since RHEV 3.3, OS variant names like "RHEL6x64" were deprecated and replaced by names like "rhel_6x64". "RHEL7x64" was never valid, and we should have used "rhel_7x64". "Windows2012R2x64" was also never valid and should have been "windows_2012R2x64". For backwards compatibility, RHEV still understands the old names, and we still pass them for compatiblity with old RHEV. However for the new OS variants supported by virt-v2v in RHEL 7.2, use the new names. This commit also adds support for SLES and ppc64. This updates commit 3c51302d691cc204e4d43f4ab9837095d424bf3b and also RHBZ#1213324. (cherry picked from commit 6f9d5dce47f8502bee5d7285faf7695b22b5300b) --- v2v/OVF.ml | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/v2v/OVF.ml b/v2v/OVF.ml index 4a6ee8d..849bedd 100644 --- a/v2v/OVF.ml +++ b/v2v/OVF.ml @@ -97,17 +97,35 @@ let get_vmtype = function (* Determine the ovf:OperatingSystemSection_Type from libguestfs * inspection. See ovirt-engine sources, file: - * frontend/webadmin/modules/uicompat/src/main/resources/org/ovirt/engine/ui/uicompat/Enums.properties + * packaging/conf/osinfo-defaults.properties + * and also: + * https://bugzilla.redhat.com/show_bug.cgi?id=1219857#c9 *) and get_ostype = function | { i_type = "linux"; i_distro = "rhel"; i_major_version = v; - i_arch = "i386" } -> + i_arch = "i386" } when v <= 6 -> sprintf "RHEL%d" v | { i_type = "linux"; i_distro = "rhel"; i_major_version = v; - i_arch = "x86_64" } -> + i_arch = "x86_64" } when v <= 6 -> sprintf "RHEL%dx64" v + | { i_type = "linux"; i_distro = "rhel"; i_major_version = v; + i_arch = "x86_64" } (* when v >= 7 *) -> + sprintf "rhel_%dx64" v + + | { i_type = "linux"; i_distro = "rhel"; i_major_version = 7; + i_arch = "ppc64" | "ppc64le" } -> + "rhel_7_ppc64" + + | { i_type = "linux"; i_distro = "sles"; i_major_version = 11; + i_arch = "x86_64" } -> + "sles_11" + + | { i_type = "linux"; i_distro = "sles"; i_major_version = 11; + i_arch = "ppc64" | "ppc64le" } -> + "sles_11_ppc64" + | { i_type = "linux" } -> "OtherLinux" | { i_type = "windows"; i_major_version = 5; i_minor_version = 1 } -> @@ -147,19 +165,19 @@ and get_ostype = function | { i_type = "windows"; i_major_version = 6; i_minor_version = 2; i_arch = "i386" } -> - "Windows8" + "windows_8" | { i_type = "windows"; i_major_version = 6; i_minor_version = 2; i_arch = "x86_64"; i_product_variant = "Client" } -> - "Windows8x64" + "windows_8x64" | { i_type = "windows"; i_major_version = 6; i_minor_version = 2; i_arch = "x86_64" } -> - "Windows2012x64" + "windows_2012x64" | { i_type = "windows"; i_major_version = 6; i_minor_version = 3; i_arch = "x86_64" } -> - "Windows2012R2x64" + "windows_2012R2x64" | { i_type = typ; i_distro = distro; i_major_version = major; i_minor_version = minor; -- 1.8.3.1