More upstream patches to fix virt-v2v test harness.
- Do not delete OCaml *.a files, including ones in the virt-v2v test harness.
This commit is contained in:
parent
5f142cffea
commit
35ff7d7647
|
@ -0,0 +1,99 @@
|
||||||
|
From 5ac87b975fef867663402743d79e1b693d485bb8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Fri, 20 Mar 2015 12:14:42 +0000
|
||||||
|
Subject: [PATCH] v2v: test-harness: Add support for OVA.
|
||||||
|
|
||||||
|
This makes VMware testing easier, since it means you don't need to
|
||||||
|
test against a live server.
|
||||||
|
---
|
||||||
|
v2v/test-harness/v2v_test_harness.ml | 62 ++++++++++++++++++++++--------------
|
||||||
|
1 file changed, 38 insertions(+), 24 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/v2v/test-harness/v2v_test_harness.ml b/v2v/test-harness/v2v_test_harness.ml
|
||||||
|
index fe09d6f..67a49d8 100644
|
||||||
|
--- a/v2v/test-harness/v2v_test_harness.ml
|
||||||
|
+++ b/v2v/test-harness/v2v_test_harness.ml
|
||||||
|
@@ -62,10 +62,6 @@ let run ~test ?input_disk ?input_xml ?(test_plan = default_plan) () =
|
||||||
|
match input_disk with
|
||||||
|
| None -> test ^ ".img.xz"
|
||||||
|
| Some input_disk -> input_disk in
|
||||||
|
- let input_xml =
|
||||||
|
- match input_xml with
|
||||||
|
- | None -> test ^ ".xml"
|
||||||
|
- | Some input_xml -> input_xml in
|
||||||
|
|
||||||
|
let inspect_and_mount_disk filename =
|
||||||
|
let g = new G.guestfs () in
|
||||||
|
@@ -332,31 +328,49 @@ let run ~test ?input_disk ?input_xml ?(test_plan = default_plan) () =
|
||||||
|
|
||||||
|
printf "v2v_test_harness: starting test: %s\n%!" test;
|
||||||
|
|
||||||
|
- (* Check we are started in the correct directory, ie. the input_disk
|
||||||
|
- * and input_xml files should exist, and they should be local files.
|
||||||
|
+ (* Check we are started in the correct directory.
|
||||||
|
*)
|
||||||
|
- if not (Sys.file_exists input_disk) || not (Sys.file_exists input_xml) then
|
||||||
|
- failwithf "cannot find input files: %s, %s: you are probably running the test script from the wrong directory" input_disk input_xml;
|
||||||
|
+ if not (Sys.file_exists input_disk) then
|
||||||
|
+ failwith "cannot find input files: you are probably running the test script from the wrong directory";
|
||||||
|
|
||||||
|
- (* Uncompress the input, if it doesn't exist already. *)
|
||||||
|
- let input_disk =
|
||||||
|
- if Filename.check_suffix input_disk ".xz" then (
|
||||||
|
- let input_disk_uncomp = Filename.chop_suffix input_disk ".xz" in
|
||||||
|
- if not (Sys.file_exists input_disk_uncomp) then (
|
||||||
|
- let cmd = sprintf "unxz --keep %s" (quote input_disk) in
|
||||||
|
- printf "%s\n%!" cmd;
|
||||||
|
- if Sys.command cmd <> 0 then
|
||||||
|
- failwith "unxz command failed"
|
||||||
|
- );
|
||||||
|
- input_disk_uncomp
|
||||||
|
+ (* How we run virt-v2v depends on the extension of the input_disk. *)
|
||||||
|
+ let v2v_method =
|
||||||
|
+ (* Uncompress the input, if the uncompressed file doesn't exist already. *)
|
||||||
|
+ let input_disk =
|
||||||
|
+ if Filename.check_suffix input_disk ".xz" then (
|
||||||
|
+ let input_disk_uncomp = Filename.chop_suffix input_disk ".xz" in
|
||||||
|
+ if not (Sys.file_exists input_disk_uncomp) then (
|
||||||
|
+ let cmd = sprintf "unxz --keep %s" (quote input_disk) in
|
||||||
|
+ printf "%s\n%!" cmd;
|
||||||
|
+ if Sys.command cmd <> 0 then
|
||||||
|
+ failwith "unxz command failed"
|
||||||
|
+ );
|
||||||
|
+ input_disk_uncomp
|
||||||
|
+ )
|
||||||
|
+ else input_disk in
|
||||||
|
+
|
||||||
|
+ if Filename.check_suffix input_disk ".img" then (
|
||||||
|
+ let input_xml =
|
||||||
|
+ match input_xml with
|
||||||
|
+ | None -> test ^ ".xml"
|
||||||
|
+ | Some input_xml -> input_xml in
|
||||||
|
+ `V2v_method_libvirtxml input_xml
|
||||||
|
)
|
||||||
|
- else input_disk in
|
||||||
|
- ignore input_disk;
|
||||||
|
+ else if Filename.check_suffix input_disk ".ova" then
|
||||||
|
+ `V2v_method_ova input_disk
|
||||||
|
+ else
|
||||||
|
+ failwithf "don't know what to do with input disk '%s'" input_disk in
|
||||||
|
|
||||||
|
(* Run virt-v2v. *)
|
||||||
|
- let cmd = sprintf
|
||||||
|
- "virt-v2v -i libvirtxml %s -o local -of qcow2 -os . -on %s"
|
||||||
|
- (quote input_xml) (quote (test ^ "-converted")) in
|
||||||
|
+ let cmd_input =
|
||||||
|
+ match v2v_method with
|
||||||
|
+ | `V2v_method_libvirtxml input_xml ->
|
||||||
|
+ sprintf "-i libvirtxml %s" (quote input_xml)
|
||||||
|
+ | `V2v_method_ova input_disk ->
|
||||||
|
+ sprintf "-i ova %s" (quote input_disk) in
|
||||||
|
+ let cmd =
|
||||||
|
+ sprintf "virt-v2v %s -o local -of qcow2 -os . -on %s"
|
||||||
|
+ cmd_input (quote (test ^ "-converted")) in
|
||||||
|
printf "%s\n%!" cmd;
|
||||||
|
if Sys.command cmd <> 0 then
|
||||||
|
failwith "virt-v2v command failed";
|
||||||
|
--
|
||||||
|
2.3.1
|
||||||
|
|
|
@ -25,15 +25,17 @@ Summary: Access and modify virtual machine disk images
|
||||||
Name: libguestfs
|
Name: libguestfs
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 1.29.30
|
Version: 1.29.30
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
|
|
||||||
# Source and patches.
|
# Source and patches.
|
||||||
URL: http://libguestfs.org/
|
URL: http://libguestfs.org/
|
||||||
Source0: http://libguestfs.org/download/1.29-development/%{name}-%{version}.tar.gz
|
Source0: http://libguestfs.org/download/1.29-development/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
|
# Upstream patches to add/fix the virt-v2v test harness.
|
||||||
Patch1: 0001-v2v-test-harness-Measure-similarity-between-images-w.patch
|
Patch1: 0001-v2v-test-harness-Measure-similarity-between-images-w.patch
|
||||||
Patch2: 0002-v2v-test-harness-Fix-boot-loop-so-it-detects-disk-in.patch
|
Patch2: 0002-v2v-test-harness-Fix-boot-loop-so-it-detects-disk-in.patch
|
||||||
|
Patch3: 0001-v2v-test-harness-Add-support-for-OVA.patch
|
||||||
|
|
||||||
# Basic build requirements:
|
# Basic build requirements:
|
||||||
BuildRequires: perl(Pod::Simple)
|
BuildRequires: perl(Pod::Simple)
|
||||||
|
@ -808,6 +810,7 @@ for %{name}.
|
||||||
# Apply patches, if any, here.
|
# Apply patches, if any, here.
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
|
||||||
# For Python 3 we must build libguestfs twice. This creates:
|
# For Python 3 we must build libguestfs twice. This creates:
|
||||||
# %{name}-%{version}/
|
# %{name}-%{version}/
|
||||||
|
@ -972,10 +975,10 @@ pushd python3
|
||||||
make DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor -C python install
|
make DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor -C python install
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# Delete static libraries, libtool files.
|
# Delete static libraries.
|
||||||
rm $(
|
rm $( find $RPM_BUILD_ROOT -name '*.a' | grep -v /ocaml/ )
|
||||||
find $RPM_BUILD_ROOT -path '*/ocaml/guestfs' -prune -o -name '*.a' -print
|
|
||||||
)
|
# Delete libtool files.
|
||||||
find $RPM_BUILD_ROOT -name '*.la' -delete
|
find $RPM_BUILD_ROOT -name '*.la' -delete
|
||||||
|
|
||||||
# Delete some bogus Perl files.
|
# Delete some bogus Perl files.
|
||||||
|
@ -1366,6 +1369,10 @@ popd
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Mar 20 2015 Richard W.M. Jones <rjones@redhat.com> - 1:1.29.30-5
|
||||||
|
- More upstream patches to fix virt-v2v test harness.
|
||||||
|
- Do not delete OCaml *.a files, including ones in the virt-v2v test harness.
|
||||||
|
|
||||||
* Sun Mar 15 2015 Richard W.M. Jones <rjones@redhat.com> - 1:1.29.30-4
|
* Sun Mar 15 2015 Richard W.M. Jones <rjones@redhat.com> - 1:1.29.30-4
|
||||||
- Enable golang on various arches.
|
- Enable golang on various arches.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue