Rebase to virt-v2v 2.7.12

related: RHEL-81735
Document dracut network-legacy conversion failure
related: RHEL-55732
This commit is contained in:
Richard W.M. Jones 2025-04-15 17:06:32 +01:00
parent c7438ea845
commit 853e6d8f47
17 changed files with 105 additions and 1717 deletions

View File

@ -1,4 +1,4 @@
From 7236e9f76c1c0e41d1e95971adc638e39887dea8 Mon Sep 17 00:00:00 2001
From 6db9961b52eee526f5a685c78d48e64e5ef429db Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sun, 28 Sep 2014 19:14:43 +0100
Subject: [PATCH] RHEL: v2v: Select correct qemu binary for -o qemu mode

View File

@ -1,119 +0,0 @@
From 610a5d66eca090169cc91e76a16f5a045139e607 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sat, 22 Mar 2025 13:11:58 +0000
Subject: [PATCH] v2v/v2v_unit_tests.ml: Remove use of oUnit
---
v2v/Makefile.am | 12 +++---------
v2v/v2v_unit_tests.ml | 29 ++++++++++++-----------------
2 files changed, 15 insertions(+), 26 deletions(-)
diff --git a/v2v/Makefile.am b/v2v/Makefile.am
index 9747c3a2..2e0ecaaa 100644
--- a/v2v/Makefile.am
+++ b/v2v/Makefile.am
@@ -125,12 +125,8 @@ virt_v2v_LINK = \
virttoolsdatadir = $(datadir)/virt-tools
-if HAVE_OCAML_PKG_OUNIT
-TESTS = \
- v2v_unit_tests
-check_PROGRAMS = \
- v2v_unit_tests
-endif
+TESTS = v2v_unit_tests
+check_PROGRAMS = v2v_unit_tests
v2v_unit_tests_BOBJECTS = \
../lib/create_ovf.cmo \
@@ -146,10 +142,8 @@ v2v_unit_tests_CFLAGS = $(virt_v2v_CFLAGS)
if !HAVE_OCAMLOPT
# Can't call this v2v_unit_tests_OBJECTS because automake gets confused.
v2v_unit_tests_THEOBJECTS = $(v2v_unit_tests_BOBJECTS)
-v2v_unit_tests.cmo: OCAMLPACKAGES += -package ounit2
else
v2v_unit_tests_THEOBJECTS = $(v2v_unit_tests_XOBJECTS)
-v2v_unit_tests.cmx: OCAMLPACKAGES += -package ounit2
endif
v2v_unit_tests_DEPENDENCIES = \
@@ -166,7 +160,7 @@ v2v_unit_tests_DEPENDENCIES = \
v2v_unit_tests_LINK = \
$(top_srcdir)/ocaml-link.sh -cclib '$(OCAMLCLIBS)' -- \
$(OCAMLFIND) $(BEST) $(OCAMLFLAGS) \
- $(OCAMLPACKAGES) -package ounit2 \
+ $(OCAMLPACKAGES) \
$(OCAMLLINKFLAGS) \
$(v2v_unit_tests_THEOBJECTS) -o $@
diff --git a/v2v/v2v_unit_tests.ml b/v2v/v2v_unit_tests.ml
index 89da6488..581b0e11 100644
--- a/v2v/v2v_unit_tests.ml
+++ b/v2v/v2v_unit_tests.ml
@@ -20,14 +20,19 @@
open Printf
-open OUnit2
-
open Std_utils
open Tools_utils
open Types
open Utils
+let assert_equal ?(cmp = fun a b -> a = b) ~printer a b =
+ if not (cmp a b) then
+ failwithf "FAIL: %s <> %s" (printer a) (printer b)
+
+let assert_bool name b =
+ if not b then failwithf "FAIL: %s" name
+
let inspect_defaults = {
i_type = ""; i_distro = ""; i_osinfo = ""; i_arch = "";
i_major_version = 0; i_minor_version = 0;
@@ -40,7 +45,8 @@ let inspect_defaults = {
i_drive_mappings = [];
}
-let test_get_ostype ctx =
+(* Test Create_ovf.get_ostype *)
+let () =
let printer = identity in
assert_equal ~printer "RHEL6"
(Create_ovf.get_ostype {
@@ -112,14 +118,15 @@ let test_get_ostype ctx =
i_product_variant = "Server";
i_arch = "x86_64" })
-let test_qemu_img_supports ctx =
+(* Test Utils.qemu_img_supports_offset_and_size *)
+let () =
(* No assertion here, we don't know if qemu-img supports the
* feature, so just run the code and make sure it doesn't crash.
*)
ignore (Utils.qemu_img_supports_offset_and_size ())
(* Test the VMX file parser in the Parse_vmx module. *)
-let test_vmx_parse_string ctx =
+let () =
let cmp = Parse_vmx.equal in
let printer = Parse_vmx.to_string 0 in
@@ -259,15 +266,3 @@ foo.a.b = \"abc\"
foo.a.c = \"abc\"
" in
assert_equal ~cmp ~printer t2 t1
-
-(* Suites declaration. *)
-let suite =
- "virt-v2v" >:::
- [
- "Create_ovf.get_ostype" >:: test_get_ostype;
- "Utils.qemu_img_supports" >:: test_qemu_img_supports;
- "Parse_vmx.parse_string" >::test_vmx_parse_string;
- ]
-
-let () =
- run_test_tt_main suite

View File

@ -1,4 +1,4 @@
From dabda2010e51d05ccab05d29e5977c58908b5440 Mon Sep 17 00:00:00 2001
From f6ee4c28511072d5091048b482c7a1fb6751bc48 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 30 Sep 2014 10:50:27 +0100
Subject: [PATCH] RHEL: v2v: Disable the --qemu-boot / -oo qemu-boot option
@ -44,10 +44,10 @@ index 5a342434..bdf12c5d 100644
=item B<-o null>
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
index 084f29e7..97d9397f 100644
index dfeefed5..d4b87e7f 100644
--- a/docs/virt-v2v.pod
+++ b/docs/virt-v2v.pod
@@ -157,11 +157,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
@@ -159,11 +159,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
image(s) you do not need to specify the name of the disk image on the
command line.
@ -59,7 +59,7 @@ index 084f29e7..97d9397f 100644
=head1 OPTIONS
=over 4
@@ -533,9 +528,6 @@ This is similar to I<-o local>, except that a shell script is written
@@ -535,9 +530,6 @@ This is similar to I<-o local>, except that a shell script is written
which you can use to boot the guest in qemu. The converted disks and
shell script are written to the directory specified by I<-os>.
@ -69,7 +69,7 @@ index 084f29e7..97d9397f 100644
=item B<-o> B<rhev>
This is the same as I<-o rhv>.
@@ -618,11 +610,6 @@ For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set a guest ID
@@ -620,11 +612,6 @@ For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set a guest ID
which is saved on each Cinder volume in the C<virt_v2v_guest_id>
volume property.
@ -81,7 +81,7 @@ index 084f29e7..97d9397f 100644
=item B<-oo verify-server-certificate>
=item B<-oo verify-server-certificate=>C<true|false>
@@ -806,10 +793,6 @@ Print information about the source guest and stop. This option is
@@ -808,10 +795,6 @@ Print information about the source guest and stop. This option is
useful when you are setting up network and bridge maps.
See L</Networks and bridges>.
@ -107,10 +107,10 @@ index 39778724..416000cd 100644
let output_storage =
match options.output_storage with
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
index 1fcf8e61..77a37eca 100644
index d0a5432f..70f506cd 100644
--- a/v2v/v2v.ml
+++ b/v2v/v2v.ml
@@ -280,8 +280,6 @@ let rec main () =
@@ -273,8 +273,6 @@ let rec main () =
s_"Run up to N instances of nbdcopy in parallel";
[ L"print-source" ], Getopt.Set print_source,
s_"Print source and stop";

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
From 6f02c25c8000ccfa7eb0daa6c886fa6b99c15eef Mon Sep 17 00:00:00 2001
From 32759b5c09eded1f9203deab4bbdd2e18aff15ec Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 24 Apr 2015 09:45:41 -0400
Subject: [PATCH] RHEL: Fix list of supported sound cards to match RHEL qemu

View File

@ -1,77 +0,0 @@
From cffd129d8fd47554255d52ad611d58a30b6b9951 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 31 Mar 2025 11:06:09 +0100
Subject: [PATCH] v2v: Use nbdcopy --blkhash in verbose mode
In verbose mode, and if nbdcopy supports it, add the nbdcopy --blkhash
option. This will compute and print a hash of the disk as we are
copying it (more precisely, a hash of the source disk after conversion
changes have been made). This will allow users to detect any
corruption during or after writing the output.
This feature requires nbdcopy >= 1.23.1
It adds some overhead to the copy, but (a) we're almost always copying
over the network which is slow anyway and (b) this is only done in
verbose mode where there's a lot of overhead from the output anyway.
However keep an eye on this overhead.
Note what is printed is a blkhash, not a regular checksum. See:
https://gitlab.com/nirs/blkhash/
Fixes: https://issues.redhat.com/browse/RHEL-85508
Fixes: https://issues.redhat.com/browse/RHEL-85512
Fixes: https://issues.redhat.com/browse/RHEL-85514
---
lib/utils.ml | 8 ++++++++
lib/utils.mli | 3 +++
v2v/v2v.ml | 3 +++
3 files changed, 14 insertions(+)
diff --git a/lib/utils.ml b/lib/utils.ml
index eab69d5a..9568a9d9 100644
--- a/lib/utils.ml
+++ b/lib/utils.ml
@@ -180,6 +180,14 @@ let error_if_no_ssh_agent () =
is not set). This is required by qemu to do passwordless \
ssh access. See the virt-v2v(1) man page for more information.")
+let nbdcopy_supports_blkhash =
+ let check =
+ lazy (
+ let cmd = sprintf "%s --help | grep -sq -- --blkhash" Config.nbdcopy in
+ 0 = Sys.command cmd
+ ) in
+ fun () -> Lazy.force check
+
(* Create the directory containing inX and outX sockets. *)
let create_v2v_directory () =
let d = Mkdtemp.temp_dir "v2v." in
diff --git a/lib/utils.mli b/lib/utils.mli
index 9c394eca..a79628bd 100644
--- a/lib/utils.mli
+++ b/lib/utils.mli
@@ -68,6 +68,9 @@ val chown_for_libvirt_rhbz_1045069 : string -> unit
val error_if_no_ssh_agent : unit -> unit
+val nbdcopy_supports_blkhash : unit -> bool
+(** Return true if [nbdcopy] supports the [--blkhash] flag. *)
+
val create_v2v_directory : unit -> string
(** Create the directory containing inX and outX sockets. *)
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
index c0ca26ec..1fcf8e61 100644
--- a/v2v/v2v.ml
+++ b/v2v/v2v.ml
@@ -728,6 +728,9 @@ and nbdcopy ?request_size output_alloc input_uri output_uri =
min 64 (target_buffer_size / request_size) in
List.push_back cmd (sprintf "--requests=%d" requests);
+ if verbose () && nbdcopy_supports_blkhash () then
+ List.push_back cmd "--blkhash";
+
List.push_back cmd "--flush";
(*List.push_back cmd "--verbose";*)

View File

@ -1,4 +1,4 @@
From c30041193a17787a7904b3154213f145cc798a15 Mon Sep 17 00:00:00 2001
From 6922ab78c58d6c6da604d88f0be482bb0d2e8273 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sun, 30 Aug 2015 03:21:57 -0400
Subject: [PATCH] RHEL: Fixes for libguestfs-winsupport
@ -19,7 +19,7 @@ https://bugzilla.redhat.com/show_bug.cgi?id=2187961#c1
7 files changed, 40 insertions(+), 5 deletions(-)
diff --git a/convert/convert.ml b/convert/convert.ml
index 1deb1478..ed8ad537 100644
index c05ed61f..676a4f2a 100644
--- a/convert/convert.ml
+++ b/convert/convert.ml
@@ -53,6 +53,7 @@ let rec convert dir options source =
@ -136,10 +136,10 @@ index bfe04904..eeddcb86 100755
# We also update the Registry several times, for firstboot, and (ONLY
diff --git a/tests/test-windows-phony.sh b/tests/test-windows-phony.sh
index 066ff0ff..3f761b68 100755
index 4e931731..007e6dc9 100755
--- a/tests/test-windows-phony.sh
+++ b/tests/test-windows-phony.sh
@@ -69,6 +69,17 @@ mktest ()
@@ -71,6 +71,17 @@ mktest ()
:> "$script"
:> "$expected"
@ -157,7 +157,7 @@ index 066ff0ff..3f761b68 100755
firstboot_dir="/Program Files/Guestfs/Firstboot"
mktest "is-dir \"$firstboot_dir\"" true
mktest "is-file \"$firstboot_dir/firstboot.bat\"" true
@@ -78,5 +89,5 @@ mktest "ls \"$virtio_dir\"" "$(cat test-phony-$guestname-ls.txt)"
@@ -80,5 +91,5 @@ mktest "ls \"$virtio_dir\"" "$(cat test-phony-$guestname-ls.txt)"
osinfo_name="${guestname%-32}"
mktest "inspect-get-osinfo /dev/sda2" "$osinfo_name"

View File

@ -1,4 +1,4 @@
From 1fdd651db409b8432a836f4097296d551d22ff07 Mon Sep 17 00:00:00 2001
From 10b274ecf973868431abe20073684d74934bff4d Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 2 Mar 2017 14:21:37 +0100
Subject: [PATCH] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671)

View File

@ -1,4 +1,4 @@
From aea6d02693e0f3afc36c5052d70e04ff58b95c32 Mon Sep 17 00:00:00 2001
From 868473dc34a7c9764bd3369cb0c98d6a46c851c4 Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Tue, 26 Mar 2019 09:42:25 +0100
Subject: [PATCH] RHEL: point to KB for supported v2v hypervisors/guests

View File

@ -1,4 +1,4 @@
From 9657cdcf89cd7ae09fe1890908655fb9e08b64fa Mon Sep 17 00:00:00 2001
From 3bac67c131798ee43018302260e4e3f28a283d1b Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 8 Jul 2024 09:35:54 +0100
Subject: [PATCH] RHEL: Remove input from Xen
@ -23,7 +23,7 @@ Fixes: https://issues.redhat.com/browse/RHEL-37687
delete mode 100644 input/input_xen_ssh.mli
diff --git a/docs/Makefile.am b/docs/Makefile.am
index dc36487c..36a831bf 100644
index e86ee777..3faa8c7d 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -23,7 +23,6 @@ EXTRA_DIST = \
@ -34,7 +34,7 @@ index dc36487c..36a831bf 100644
virt-v2v-inspector.pod \
virt-v2v-output-local.pod \
virt-v2v-output-openstack.pod \
@@ -43,7 +42,6 @@ man_MANS = \
@@ -44,7 +43,6 @@ man_MANS = \
virt-v2v-hacking.1 \
virt-v2v-in-place.1 \
virt-v2v-input-vmware.1 \
@ -42,7 +42,7 @@ index dc36487c..36a831bf 100644
virt-v2v-inspector.1 \
virt-v2v-output-local.1 \
virt-v2v-output-openstack.1 \
@@ -60,7 +58,6 @@ noinst_DATA = \
@@ -62,7 +60,6 @@ noinst_DATA = \
$(top_builddir)/website/virt-v2v-hacking.1.html \
$(top_builddir)/website/virt-v2v-in-place.1.html \
$(top_builddir)/website/virt-v2v-input-vmware.1.html \
@ -50,7 +50,7 @@ index dc36487c..36a831bf 100644
$(top_builddir)/website/virt-v2v-inspector.1.html \
$(top_builddir)/website/virt-v2v-output-local.1.html \
$(top_builddir)/website/virt-v2v-output-openstack.1.html \
@@ -119,17 +116,6 @@ stamp-virt-v2v-input-vmware.pod: virt-v2v-input-vmware.pod
@@ -122,17 +119,6 @@ stamp-virt-v2v-input-vmware.pod: virt-v2v-input-vmware.pod
$<
touch $@
@ -229,7 +229,7 @@ index 0417e89f..00000000
-
-Copyright (C) 2009-2025 Red Hat Inc.
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
index 97d9397f..036b72ab 100644
index d4b87e7f..db28b91f 100644
--- a/docs/virt-v2v.pod
+++ b/docs/virt-v2v.pod
@@ -12,7 +12,7 @@ virt-v2v - Convert a guest to use KVM
@ -250,7 +250,7 @@ index 97d9397f..036b72ab 100644
L<virt-v2v-output-local(1)> — Output to local files or local libvirt.
L<virt-v2v-output-rhv(1)> — Output to oVirt or RHV.
@@ -186,10 +184,6 @@ This is only supported for:
@@ -188,10 +186,6 @@ This is only supported for:
=item *
@ -261,7 +261,7 @@ index 97d9397f..036b72ab 100644
L<input from VMware VMX|virt-v2v-input-vmware(1)/INPUT FROM VMWARE VMX>
when using the SSH transport method
@@ -305,12 +299,10 @@ hypervisor. See L<virt-v2v-input-vmware(1)>.
@@ -307,12 +301,10 @@ hypervisor. See L<virt-v2v-input-vmware(1)>.
Specify a libvirt connection URI to use when reading the guest. This
is only used when S<I<-i libvirt>>.
@ -277,7 +277,7 @@ index 97d9397f..036b72ab 100644
=item B<-if> format
@@ -872,38 +864,6 @@ __CUSTOMIZE_OPTIONS__
@@ -871,38 +863,6 @@ __CUSTOMIZE_OPTIONS__
=head1 NOTES
@ -316,7 +316,7 @@ index 97d9397f..036b72ab 100644
=head2 Enabling virtio
"Virtio" is the name for a set of drivers which make disk (block
@@ -1229,7 +1189,7 @@ bandwidth. Virt-v2v should be able to copy guest data at gigabit
@@ -1242,7 +1202,7 @@ bandwidth. Virt-v2v should be able to copy guest data at gigabit
ethernet speeds or greater.
Ensure that the network connections between servers (conversion
@ -513,10 +513,10 @@ index 339309b8..00000000
-
-module XenSSH : Input.INPUT
diff --git a/inspector/inspector.ml b/inspector/inspector.ml
index 0a04b312..47d50347 100644
index d4e07e60..63a6f24f 100644
--- a/inspector/inspector.ml
+++ b/inspector/inspector.ml
@@ -296,10 +296,6 @@ read the man page virt-v2v-inspector(1).
@@ -289,10 +289,6 @@ read the man page virt-v2v-inspector(1).
| Some server, Some ("esx"|"gsx"|"vpx"), Some `VDDK ->
(module Input_vddk.VDDK)
@ -528,10 +528,10 @@ index 0a04b312..47d50347 100644
* deliberately not supporting this in new virt-v2v. Don't
* use virt-v2v if a guest already runs on KVM.
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
index 77a37eca..9999b639 100644
index 70f506cd..edd2ba0f 100644
--- a/v2v/v2v.ml
+++ b/v2v/v2v.ml
@@ -404,7 +404,6 @@ read the man page virt-v2v(1).
@@ -397,7 +397,6 @@ read the man page virt-v2v(1).
pr "virt-v2v-2.0\n";
pr "libguestfs-rewrite\n";
pr "vcenter-https\n";
@ -539,7 +539,7 @@ index 77a37eca..9999b639 100644
pr "vddk\n";
pr "colours-option\n";
pr "vdsm-compat-option\n";
@@ -470,10 +469,6 @@ read the man page virt-v2v(1).
@@ -463,10 +462,6 @@ read the man page virt-v2v(1).
| Some server, Some ("esx"|"gsx"|"vpx"), Some `VDDK ->
(module Input_vddk.VDDK)

View File

@ -1,4 +1,4 @@
From 96eafd9ddef8733602d1c517e0cabe29afb5e414 Mon Sep 17 00:00:00 2001
From 02e759299c0da04d589f3909b45835d27829d322 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Wed, 30 Jun 2021 11:15:52 +0100
Subject: [PATCH] RHEL: Remove -o glance
@ -98,10 +98,10 @@ index 9bef76ea..04595816 100644
=head1 AUTHOR
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
index 036b72ab..45ccd4d7 100644
index db28b91f..040baae2 100644
--- a/docs/virt-v2v.pod
+++ b/docs/virt-v2v.pod
@@ -438,14 +438,6 @@ See L</Networks and bridges> below.
@@ -440,14 +440,6 @@ See L</Networks and bridges> below.
This is the same as I<-o local>.
@ -116,7 +116,7 @@ index 036b72ab..45ccd4d7 100644
=item B<-o> B<kubevirt>
Set the output method to I<kubevirt>. B<Note the way this mode works
@@ -1211,11 +1203,6 @@ and output methods may use disk space, as outlined in the table below.
@@ -1224,11 +1216,6 @@ and output methods may use disk space, as outlined in the table below.
This temporarily places a full copy of the uncompressed source disks
in C<$VIRT_V2V_TMPDIR> (or F</var/tmp>).
@ -128,7 +128,7 @@ index 036b72ab..45ccd4d7 100644
=item I<-o local>
=item I<-o qemu>
@@ -1418,13 +1405,6 @@ See also L</Starting the libvirt system instance>.
@@ -1431,13 +1418,6 @@ See also L</Starting the libvirt system instance>.
Because of how Cinder volumes are presented as F</dev> block devices,
using I<-o openstack> normally requires that virt-v2v is run as root.
@ -167,10 +167,10 @@ index 9e32d2bf..632579ee 100755
set -e
set -x
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
index 9999b639..c1eb12ab 100644
index edd2ba0f..08177280 100644
--- a/v2v/v2v.ml
+++ b/v2v/v2v.ml
@@ -198,7 +198,6 @@ let rec main () =
@@ -191,7 +191,6 @@ let rec main () =
if !output_mode <> `Not_set then
error (f_"%s option used more than once on the command line") "-o";
match mode with
@ -178,7 +178,7 @@ index 9999b639..c1eb12ab 100644
| "kubevirt" -> output_mode := `Kubevirt
| "libvirt" -> output_mode := `Libvirt
| "disk" | "local" -> output_mode := `Disk
@@ -258,7 +257,7 @@ let rec main () =
@@ -251,7 +250,7 @@ let rec main () =
s_"Map network in to out";
[ L"no-trim" ], Getopt.String ("-", no_trim_warning),
s_"Ignored for backwards compatibility";
@ -187,7 +187,7 @@ index 9999b639..c1eb12ab 100644
s_"Set output mode (default: libvirt)";
[ M"oa" ], Getopt.String ("sparse|preallocated", set_output_alloc),
s_"Set output allocation mode";
@@ -336,8 +335,6 @@ virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp
@@ -329,8 +328,6 @@ virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp
virt-v2v -i disk disk.img -o local -os /var/tmp
@ -196,7 +196,7 @@ index 9999b639..c1eb12ab 100644
There is a companion front-end called \"virt-p2v\" which comes as an
ISO or CD image that can be booted on physical machines.
@@ -418,7 +415,6 @@ read the man page virt-v2v(1).
@@ -411,7 +408,6 @@ read the man page virt-v2v(1).
pr "input:libvirtxml\n";
pr "input:ova\n";
pr "input:vmx\n";
@ -204,7 +204,7 @@ index 9999b639..c1eb12ab 100644
pr "output:kubevirt\n";
pr "output:libvirt\n";
pr "output:local\n";
@@ -511,7 +507,6 @@ read the man page virt-v2v(1).
@@ -504,7 +500,6 @@ read the man page virt-v2v(1).
| `Disk -> (module Output_disk.Disk)
| `Null -> (module Output_null.Null)
| `QEmu -> (module Output_qemu.QEMU)

View File

@ -1,4 +1,4 @@
From 0e086ed0e10eee2e51cd7cbb767c9943308c8f27 Mon Sep 17 00:00:00 2001
From 5b58bee765577287069b3e51fc41079ed980b61c Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 5 Jul 2022 11:58:09 +0100
Subject: [PATCH] RHEL: tests: Remove btrfs test
@ -9,7 +9,7 @@ RHEL does not have btrfs so this test always fails.
1 file changed, 1 deletion(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 51faa63d..d5ce6bd3 100644
index 07819679..cedd99bc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -64,7 +64,6 @@ TESTS = \

View File

@ -1,4 +1,4 @@
From 9b6362a804d2e1350b365308edcffbc5def1353d Mon Sep 17 00:00:00 2001
From 26f191d0762238d0f5b76b5c055cd01d128d0db5 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 28 Apr 2023 12:28:19 +0100
Subject: [PATCH] RHEL: Remove --block-driver option
@ -16,7 +16,7 @@ Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2190387
5 files changed, 2 insertions(+), 41 deletions(-)
diff --git a/docs/virt-v2v-in-place.pod b/docs/virt-v2v-in-place.pod
index fb3bc9a4..3e73bfc1 100644
index 6c02a99c..3d0d1b28 100644
--- a/docs/virt-v2v-in-place.pod
+++ b/docs/virt-v2v-in-place.pod
@@ -72,16 +72,6 @@ Display help.
@ -37,10 +37,10 @@ index fb3bc9a4..3e73bfc1 100644
=item B<--colours>
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
index 45ccd4d7..661c18e9 100644
index 040baae2..af19bfb0 100644
--- a/docs/virt-v2v.pod
+++ b/docs/virt-v2v.pod
@@ -209,16 +209,6 @@ The options are silently ignored for other input methods.
@@ -211,16 +211,6 @@ The options are silently ignored for other input methods.
See I<--network> below.
@ -58,7 +58,7 @@ index 45ccd4d7..661c18e9 100644
=item B<--colours>
diff --git a/in-place/in_place.ml b/in-place/in_place.ml
index 70af0dfb..caf34a0b 100644
index 5b00884d..84e783dc 100644
--- a/in-place/in_place.ml
+++ b/in-place/in_place.ml
@@ -49,7 +49,6 @@ let rec main () =
@ -69,7 +69,7 @@ index 70af0dfb..caf34a0b 100644
let input_conn = ref None in
let input_format = ref None in
let input_password = ref None in
@@ -172,8 +171,6 @@ let rec main () =
@@ -165,8 +164,6 @@ let rec main () =
let argspec = [
[ S 'b'; L"bridge" ], Getopt.String ("in:out", add_bridge),
s_"Map bridge in to out";
@ -78,7 +78,7 @@ index 70af0dfb..caf34a0b 100644
[ S 'i' ], Getopt.String ("disk|libvirt|libvirtxml|ova|vmx", set_input_mode),
s_"Set input mode (default: libvirt)";
[ M"ic" ], Getopt.String ("uri", set_string_option_once "-ic" input_conn),
@@ -240,12 +237,6 @@ read the man page virt-v2v-in-place(1).
@@ -233,12 +230,6 @@ read the man page virt-v2v-in-place(1).
(* Dereference the arguments. *)
let args = List.rev !args in
@ -91,7 +91,7 @@ index 70af0dfb..caf34a0b 100644
let customize_ops = get_customize_ops () in
let input_conn = !input_conn in
let input_mode = !input_mode in
@@ -333,7 +324,7 @@ read the man page virt-v2v-in-place(1).
@@ -326,7 +317,7 @@ read the man page virt-v2v-in-place(1).
(* Get the conversion options. *)
let conv_options = {
@ -101,7 +101,7 @@ index 70af0dfb..caf34a0b 100644
ks = opthandle.ks;
network_map;
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d5ce6bd3..ffcbf722 100644
index cedd99bc..befa9337 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -57,7 +57,6 @@ TESTS_ENVIRONMENT = $(top_builddir)/run --test
@ -113,7 +113,7 @@ index d5ce6bd3..ffcbf722 100644
test-checksum-bad.sh \
test-checksum-good-qcow2.sh \
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
index c1eb12ab..40782651 100644
index 08177280..e656afa3 100644
--- a/v2v/v2v.ml
+++ b/v2v/v2v.ml
@@ -48,7 +48,6 @@ let rec main () =
@ -124,7 +124,7 @@ index c1eb12ab..40782651 100644
let input_conn = ref None in
let input_format = ref None in
let input_password = ref None in
@@ -233,8 +232,6 @@ let rec main () =
@@ -226,8 +225,6 @@ let rec main () =
s_"Set bandwidth dynamically from file";
[ S 'b'; L"bridge" ], Getopt.String ("in:out", add_bridge),
s_"Map bridge in to out";
@ -133,7 +133,7 @@ index c1eb12ab..40782651 100644
[ L"compressed" ], Getopt.Unit (fun () -> set_output_option_compat "compressed" ""),
s_"Compress output file (-of qcow2 only)";
[ S 'i' ], Getopt.String ("disk|libvirt|libvirtxml|ova|vmx", set_input_mode),
@@ -363,12 +360,6 @@ read the man page virt-v2v(1).
@@ -356,12 +353,6 @@ read the man page virt-v2v(1).
(* Dereference the arguments. *)
let args = List.rev !args in
@ -146,7 +146,7 @@ index c1eb12ab..40782651 100644
let customize_ops = get_customize_ops () in
let input_conn = !input_conn in
let input_mode = !input_mode in
@@ -541,7 +532,7 @@ read the man page virt-v2v(1).
@@ -534,7 +525,7 @@ read the man page virt-v2v(1).
(* Get the conversion options. *)
let conv_options = {

View File

@ -1,4 +1,4 @@
From 5c9deb0c0f4dc4c7ed23c094b908f203ff017913 Mon Sep 17 00:00:00 2001
From 821a2ad91d5ddcefa9b74c87a86ca64b35c65c85 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 8 Jul 2024 09:56:54 +0100
Subject: [PATCH] RHEL: Remove -o rhv, -o rhv-upload and -o vdsm modes
@ -75,7 +75,7 @@ Fixes: https://issues.redhat.com/browse/RHEL-36712
delete mode 100755 tests/test-o-vdsm-options.sh
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 36a831bf..d7c2cb85 100644
index 3faa8c7d..200aa70c 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -26,7 +26,6 @@ EXTRA_DIST = \
@ -86,7 +86,7 @@ index 36a831bf..d7c2cb85 100644
virt-v2v-release-notes-1.42.pod \
virt-v2v-release-notes-2.0.pod \
virt-v2v-release-notes-2.2.pod \
@@ -45,7 +44,6 @@ man_MANS = \
@@ -46,7 +45,6 @@ man_MANS = \
virt-v2v-inspector.1 \
virt-v2v-output-local.1 \
virt-v2v-output-openstack.1 \
@ -94,7 +94,7 @@ index 36a831bf..d7c2cb85 100644
virt-v2v-release-notes-1.42.1 \
virt-v2v-release-notes-2.0.1 \
virt-v2v-release-notes-2.2.1 \
@@ -61,7 +59,6 @@ noinst_DATA = \
@@ -63,7 +61,6 @@ noinst_DATA = \
$(top_builddir)/website/virt-v2v-inspector.1.html \
$(top_builddir)/website/virt-v2v-output-local.1.html \
$(top_builddir)/website/virt-v2v-output-openstack.1.html \
@ -102,7 +102,7 @@ index 36a831bf..d7c2cb85 100644
$(top_builddir)/website/virt-v2v-release-notes-1.42.1.html \
$(top_builddir)/website/virt-v2v-release-notes-2.0.1.html \
$(top_builddir)/website/virt-v2v-release-notes-2.2.1.html \
@@ -150,17 +147,6 @@ stamp-virt-v2v-output-openstack.pod: virt-v2v-output-openstack.pod
@@ -153,17 +150,6 @@ stamp-virt-v2v-output-openstack.pod: virt-v2v-output-openstack.pod
$<
touch $@
@ -359,7 +359,7 @@ index e12702fa..00000000
-
-Copyright (C) 2009-2025 Red Hat Inc.
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
index 661c18e9..b5476745 100644
index af19bfb0..5f3dba5c 100644
--- a/docs/virt-v2v.pod
+++ b/docs/virt-v2v.pod
@@ -14,7 +14,7 @@ virt-v2v - Convert a guest to use KVM
@ -380,7 +380,7 @@ index 661c18e9..b5476745 100644
L<virt-v2v-output-openstack(1)> — Output to OpenStack.
L<virt-v2v-release-notes-1.42(1)> — Release notes for 1.42 release.
@@ -92,21 +90,6 @@ disks to F</var/lib/libvirt/images>.
@@ -94,21 +92,6 @@ disks to F</var/lib/libvirt/images>.
For more information see L<virt-v2v-input-vmware(1)>.
@ -402,7 +402,7 @@ index 661c18e9..b5476745 100644
=head2 Convert from ESXi hypervisor over SSH to local libvirt
You have an ESXi hypervisor called C<esxi.example.com> with SSH access
@@ -486,14 +469,6 @@ no metadata is written.
@@ -488,14 +471,6 @@ no metadata is written.
Set the output method to OpenStack. See L<virt-v2v-output-openstack(1)>.
@ -417,7 +417,7 @@ index 661c18e9..b5476745 100644
=item B<-o> B<qemu>
Set the output method to I<qemu>.
@@ -502,40 +477,6 @@ This is similar to I<-o local>, except that a shell script is written
@@ -504,40 +479,6 @@ This is similar to I<-o local>, except that a shell script is written
which you can use to boot the guest in qemu. The converted disks and
shell script are written to the directory specified by I<-os>.
@ -458,7 +458,7 @@ index 661c18e9..b5476745 100644
=item B<-oa> B<sparse>
=item B<-oa> B<preallocated>
@@ -598,117 +539,11 @@ For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set optional
@@ -600,117 +541,11 @@ For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set optional
OpenStack authentication. For example I<-oo os-username=>NAME is
equivalent to C<openstack --os-username=NAME>.
@ -576,7 +576,7 @@ index 661c18e9..b5476745 100644
=item B<-op> file
Supply a file containing a password to be used when connecting to the
@@ -726,28 +561,8 @@ For I<-o libvirt>, this is a libvirt directory pool
@@ -728,28 +563,8 @@ For I<-o libvirt>, this is a libvirt directory pool
For I<-o local> and I<-o qemu>, this is a directory name.
The directory must exist.
@ -605,7 +605,7 @@ index 661c18e9..b5476745 100644
=item B<--parallel> N
Enable parallel copying if the guest has multiple disks. I<N> is the
@@ -1356,26 +1171,6 @@ require either root or a special user:
@@ -1369,26 +1184,6 @@ require either root or a special user:
=over 4
@ -632,7 +632,7 @@ index 661c18e9..b5476745 100644
=item Writing to libvirt
When using I<-o libvirt>, you may need to run virt-v2v as root so that
@@ -1483,7 +1278,6 @@ virt-v2v binary. Typical output looks like this:
@@ -1496,7 +1291,6 @@ virt-v2v binary. Typical output looks like this:
virt-v2v
libguestfs-rewrite
colours-option
@ -3565,7 +3565,7 @@ index 42cc24e8..00000000
-
-# Otherwise everything is OK, exit with no error.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index ffcbf722..e54569f1 100644
index befa9337..73b84958 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -99,11 +99,6 @@ TESTS = \
@ -3580,7 +3580,7 @@ index ffcbf722..e54569f1 100644
test-oa-option-qcow2.sh \
test-oa-option-raw.sh \
test-of-option.sh \
@@ -288,16 +283,6 @@ EXTRA_DIST += \
@@ -291,16 +286,6 @@ EXTRA_DIST += \
test-o-null.sh \
test-o-openstack.sh \
test-o-qemu.sh \
@ -4628,10 +4628,10 @@ index a8c5b208..00000000
-diff -u "$srcdir/test-o-vdsm-options.ovf.expected" \
- "$OVF"
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
index 40782651..2e23642a 100644
index e656afa3..8678dce7 100644
--- a/v2v/v2v.ml
+++ b/v2v/v2v.ml
@@ -202,11 +202,7 @@ let rec main () =
@@ -195,11 +195,7 @@ let rec main () =
| "disk" | "local" -> output_mode := `Disk
| "null" -> output_mode := `Null
| "openstack" | "osp" | "rhosp" -> output_mode := `Openstack
@ -4643,7 +4643,7 @@ index 40782651..2e23642a 100644
| s ->
error (f_"unknown -o option: %s") s
in
@@ -254,7 +250,7 @@ let rec main () =
@@ -247,7 +243,7 @@ let rec main () =
s_"Map network in to out";
[ L"no-trim" ], Getopt.String ("-", no_trim_warning),
s_"Ignored for backwards compatibility";
@ -4652,7 +4652,7 @@ index 40782651..2e23642a 100644
s_"Set output mode (default: libvirt)";
[ M"oa" ], Getopt.String ("sparse|preallocated", set_output_alloc),
s_"Set output allocation mode";
@@ -294,18 +290,6 @@ let rec main () =
@@ -287,18 +283,6 @@ let rec main () =
s_"Same as -io vddk-thumbprint=thumbprint";
[ L"vddk-transports" ], Getopt.String ("transports", set_input_option_compat "vddk-transports"),
s_"Same as -io vddk-transports=transports";
@ -4671,7 +4671,7 @@ index 40782651..2e23642a 100644
[ L"vmtype" ], Getopt.String ("-", vmtype_warning),
s_"Ignored for backwards compatibility";
] in
@@ -325,9 +309,6 @@ let rec main () =
@@ -318,9 +302,6 @@ let rec main () =
virt-v2v -ic vpx://vcenter.example.com/Datacenter/esxi -os imported esx_guest
@ -4681,7 +4681,7 @@ index 40782651..2e23642a 100644
virt-v2v -i libvirtxml guest-domain.xml -o local -os /var/tmp
virt-v2v -i disk disk.img -o local -os /var/tmp
@@ -394,7 +375,6 @@ read the man page virt-v2v(1).
@@ -387,7 +368,6 @@ read the man page virt-v2v(1).
pr "vcenter-https\n";
pr "vddk\n";
pr "colours-option\n";
@ -4689,7 +4689,7 @@ index 40782651..2e23642a 100644
pr "io/oo\n";
pr "mac-option\n";
pr "bandwidth-option\n";
@@ -412,9 +392,6 @@ read the man page virt-v2v(1).
@@ -405,9 +385,6 @@ read the man page virt-v2v(1).
pr "output:null\n";
pr "output:openstack\n";
pr "output:qemu\n";
@ -4699,7 +4699,7 @@ index 40782651..2e23642a 100644
pr "convert:linux\n";
pr "convert:windows\n";
List.iter (pr "ovf:%s\n") Create_ovf.ovf_flavours;
@@ -499,10 +476,7 @@ read the man page virt-v2v(1).
@@ -492,10 +469,7 @@ read the man page virt-v2v(1).
| `Null -> (module Output_null.Null)
| `QEmu -> (module Output_qemu.QEMU)
| `Kubevirt -> (module Output_kubevirt.Kubevirt)
@ -4711,7 +4711,7 @@ index 40782651..2e23642a 100644
let output_options = {
Output.output_alloc = output_alloc;
@@ -527,7 +501,6 @@ read the man page virt-v2v(1).
@@ -520,7 +494,6 @@ read the man page virt-v2v(1).
*)
let remove_serial_console =
match output_mode with

View File

@ -1,4 +1,4 @@
From 7ac8099864720bbca1001a2abbdbfe7296ebd7fe Mon Sep 17 00:00:00 2001
From 597a67b31d506ff076e694be21e2e45d767f7e46 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 9 Jul 2024 11:30:09 +0100
Subject: [PATCH] RHEL: Add warning about virt-v2v-in-place not being supported
@ -10,7 +10,7 @@ Fixes: https://issues.redhat.com/browse/RHEL-40903
2 files changed, 7 insertions(+)
diff --git a/docs/virt-v2v-in-place.pod b/docs/virt-v2v-in-place.pod
index 3e73bfc1..bd959fe4 100644
index 3d0d1b28..9714bbac 100644
--- a/docs/virt-v2v-in-place.pod
+++ b/docs/virt-v2v-in-place.pod
@@ -16,6 +16,10 @@ virt-v2v-in-place - Convert a guest to use KVM in-place
@ -25,10 +25,10 @@ index 3e73bfc1..bd959fe4 100644
run on KVM. It does this conversion in place, modifying the original
disk.
diff --git a/in-place/in_place.ml b/in-place/in_place.ml
index caf34a0b..fe436b37 100644
index 84e783dc..0b9cc753 100644
--- a/in-place/in_place.ml
+++ b/in-place/in_place.ml
@@ -221,6 +221,9 @@ read the man page virt-v2v-in-place(1).
@@ -214,6 +214,9 @@ read the man page virt-v2v-in-place(1).
let opthandle = create_standard_options argspec ~anon_fun ~key_opts:true ~machine_readable:true usage_msg in
Getopt.parse opthandle.getopt;

View File

@ -1,2 +1,2 @@
SHA512 (virt-v2v-2.7.10.tar.gz) = dc45a1af2ee19f8952d84e3d4da95993c6cfe45e488df4160e87bae702ef970a0d752a85cdd90a9c6a0a350708f3f16f2658eacb9820810a14da989d4b773926
SHA512 (virt-v2v-2.7.10.tar.gz.sig) = 4b3defa5619d8a212a5c0f62a41f2a88256acb115721b36b576ff24d9503c522a7f3bcaa34c16505bda7e1a42959cd40dcc0fb05ee43364647487f629d636e13
SHA512 (virt-v2v-2.7.12.tar.gz) = 0de36782f19570ca48610e6d8a277ec6d3ed77f1dbe084bbc485fa21b380282c71311de650eaa2c1bff8f17e2073a9b5fd97bca67d576ba7c83a4b0c0a6d2d91
SHA512 (virt-v2v-2.7.12.tar.gz.sig) = ec991f3e6444b9fa58a6b645649458c13b3ba76833d75087a0cdb733d628ef5f82ac6ed8ab35a7ec8b0bd4cd086faa62db1877a769c9832a71038c3161ac5531

View File

@ -6,7 +6,7 @@
Name: virt-v2v
Epoch: 1
Version: 2.7.10
Version: 2.7.12
Release: 1%{?dist}
Summary: Convert a virtual machine to run on KVM
@ -27,21 +27,18 @@ Source3: copy-patches.sh
# https://github.com/libguestfs/virt-v2v/commits/rhel-10.1
# Patches.
Patch0001: 0001-v2v-v2v_unit_tests.ml-Remove-use-of-oUnit.patch
Patch0002: 0002-build-Remove-use-of-oUnit.patch
Patch0003: 0003-v2v-Use-nbdcopy-blkhash-in-verbose-mode.patch
Patch0004: 0004-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
Patch0005: 0005-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
Patch0006: 0006-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
Patch0007: 0007-RHEL-Fixes-for-libguestfs-winsupport.patch
Patch0008: 0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
Patch0009: 0009-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
Patch0010: 0010-RHEL-Remove-input-from-Xen.patch
Patch0011: 0011-RHEL-Remove-o-glance.patch
Patch0012: 0012-RHEL-tests-Remove-btrfs-test.patch
Patch0013: 0013-RHEL-Remove-block-driver-option.patch
Patch0014: 0014-RHEL-Remove-o-rhv-o-rhv-upload-and-o-vdsm-modes.patch
Patch0015: 0015-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch
Patch0001: 0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
Patch0002: 0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
Patch0003: 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
Patch0004: 0004-RHEL-Fixes-for-libguestfs-winsupport.patch
Patch0005: 0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
Patch0006: 0006-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
Patch0007: 0007-RHEL-Remove-input-from-Xen.patch
Patch0008: 0008-RHEL-Remove-o-glance.patch
Patch0009: 0009-RHEL-tests-Remove-btrfs-test.patch
Patch0010: 0010-RHEL-Remove-block-driver-option.patch
Patch0011: 0011-RHEL-Remove-o-rhv-o-rhv-upload-and-o-vdsm-modes.patch
Patch0012: 0012-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch
%if !0%{?rhel}
# libguestfs hasn't been built on i686 for a while since there is no
@ -327,13 +324,15 @@ done
%changelog
* Mon Mar 31 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.10-1
- Rebase to virt-v2v 2.7.10
* Tue Apr 15 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.12-1
- Rebase to virt-v2v 2.7.12
related: RHEL-81735
- Fix virt-v2v -v --install dnf5 error
resolves: RHEL-83288
- Print blkhash of converted image in virt-v2v debugging output
resolves: RHEL-85514
- Document dracut network-legacy conversion failure
related: RHEL-55732
* Tue Feb 11 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.1-4
- Rebase to virt-v2v 2.7.1