Rebase to virt-v2v 2.7.16
related: RHEL-81735 Run filesystem check before and after conversion resolves: RHEL-91931
This commit is contained in:
parent
a1e17d6af5
commit
56e69c32f4
@ -1,4 +1,4 @@
|
||||
From 54628a8e1e029986d8a94b2bc8e85f4a3d8df0c9 Mon Sep 17 00:00:00 2001
|
||||
From 0d45fc75dd8150fcb51db6bf847afebfdfd332d4 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 66d1361f..15845a20 100644
|
||||
index 0ed7a884..cd7e9ce3 100644
|
||||
--- a/convert/convert.ml
|
||||
+++ b/convert/convert.ml
|
||||
@@ -53,6 +53,7 @@ let rec convert input_disks options source =
|
||||
@ -1,168 +0,0 @@
|
||||
From b49ee1436870f720cd0a4aee7593f38fa9f4089f Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Mon, 12 May 2025 15:33:09 +0100
|
||||
Subject: [PATCH] input: vddk: Use single nbdkit-vddk-plugin instance with
|
||||
exports
|
||||
|
||||
nbdkit >= 1.43.8 VDDK plugin supports a new 'export' parameter which
|
||||
allows the client (virt-v2v) to select which file on the VMware server
|
||||
to serve. This allows us to run a single nbdkit instance (if nbdkit
|
||||
has this feature), which is potentially more efficient for guests with
|
||||
multiple disks.
|
||||
|
||||
This also requires nbdkit-cow-filter to be export-safe. This change
|
||||
was made in the same version of nbdkit, so checking for the new
|
||||
'export' parameter is sufficient.
|
||||
---
|
||||
input/input_vddk.ml | 95 ++++++++++++++++++++++++++++++++-------------
|
||||
lib/utils.ml | 15 +++++++
|
||||
lib/utils.mli | 3 ++
|
||||
3 files changed, 86 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/input/input_vddk.ml b/input/input_vddk.ml
|
||||
index c6485b25..f5e2aa98 100644
|
||||
--- a/input/input_vddk.ml
|
||||
+++ b/input/input_vddk.ml
|
||||
@@ -410,34 +410,75 @@ See also the virt-v2v-input-vmware(1) manual.") libNN
|
||||
cmd
|
||||
in
|
||||
|
||||
- (* Create an nbdkit instance for each disk. *)
|
||||
- let uris =
|
||||
+ (* Collect all the VDDK filename(s) we will be accessing, one
|
||||
+ * for each input disk. This takes into account the
|
||||
+ * '-io vddk-file' override.
|
||||
+ *)
|
||||
+ let files =
|
||||
List.combine disks file_overrides |>
|
||||
- List.mapi (
|
||||
- fun i ({ d_type }, file_override) ->
|
||||
- let socket = sprintf "%s/in%d" dir i in
|
||||
- On_exit.unlink socket;
|
||||
-
|
||||
- (match d_type with
|
||||
- | BlockDev _ | NBD _ | HTTP _ -> (* These should never happen? *)
|
||||
- assert false
|
||||
-
|
||||
- | LocalFile orig_file ->
|
||||
- (* If -io vddk-file, override it here. *)
|
||||
- let file = Option.value file_override ~default:orig_file in
|
||||
-
|
||||
- (* The <source file=...> attribute returned by the libvirt
|
||||
- * VMX driver looks like "[datastore] path". We can use it
|
||||
- * directly as the nbdkit file= parameter, and it is passed
|
||||
- * directly in this form to VDDK.
|
||||
- *)
|
||||
- let nbdkit = create_nbdkit_vddk () in
|
||||
- Nbdkit.add_arg nbdkit "file" file;
|
||||
- let _, pid = Nbdkit.run_unix socket nbdkit in
|
||||
- On_exit.kill pid
|
||||
- );
|
||||
-
|
||||
- NBD_URI.Unix (socket, None)
|
||||
+ List.map (
|
||||
+ function
|
||||
+ (* These should never happen? *)
|
||||
+ | { d_type = BlockDev _ | NBD _ | HTTP _ }, _ ->
|
||||
+ assert false
|
||||
+
|
||||
+ | { d_type = LocalFile file }, None ->
|
||||
+ (* The <source file=...> attribute returned by the libvirt
|
||||
+ * VMX driver looks like "[datastore] path". We can use it
|
||||
+ * directly as the nbdkit file= parameter, and it is passed
|
||||
+ * directly in this form to VDDK.
|
||||
+ *)
|
||||
+ file
|
||||
+
|
||||
+ | { d_type = LocalFile _ }, Some file_override ->
|
||||
+ (* If -io vddk-file, override it here. *)
|
||||
+ file_override
|
||||
+ ) in
|
||||
+ assert (files <> []);
|
||||
+
|
||||
+ let uris =
|
||||
+ (* If nbdkit-vddk-plugin has the 'export' feature (added in
|
||||
+ * nbdkit 1.43.8) then we only have to run a single
|
||||
+ * instance of nbdkit.
|
||||
+ *)
|
||||
+ if Nbdkit.probe_plugin_parameter "vddk" "export=" then (
|
||||
+ let wildcard =
|
||||
+ match files with
|
||||
+ | [] -> assert false (* can't happen, see assert above *)
|
||||
+ | [f] -> f
|
||||
+ | files ->
|
||||
+ (* Calculate the longest common prefix across all the files,
|
||||
+ * then set the wildcard to this.
|
||||
+ * XXX May not work if there are subdirectories?
|
||||
+ * XXX Is every file we want to read called *.vmdk?
|
||||
+ *)
|
||||
+ let prefix = String.longest_common_prefix files in
|
||||
+ fnmatch_escape prefix ^ "*.vmdk" in
|
||||
+
|
||||
+ let socket = sprintf "%s/in0" dir in
|
||||
+ On_exit.unlink socket;
|
||||
+
|
||||
+ let nbdkit = create_nbdkit_vddk () in
|
||||
+ Nbdkit.add_arg nbdkit "export" wildcard;
|
||||
+ let _, pid = Nbdkit.run_unix socket nbdkit in
|
||||
+ On_exit.kill pid;
|
||||
+
|
||||
+ (* Use NBD export names to select the right disk to read. *)
|
||||
+ List.map (fun file -> NBD_URI.Unix (socket, Some file)) files
|
||||
+ ) else (
|
||||
+ (* Create an nbdkit instance for each disk. *)
|
||||
+ List.mapi (
|
||||
+ fun i file ->
|
||||
+ let socket = sprintf "%s/in%d" dir i in
|
||||
+ On_exit.unlink socket;
|
||||
+
|
||||
+ let nbdkit = create_nbdkit_vddk () in
|
||||
+ Nbdkit.add_arg nbdkit "file" file;
|
||||
+ let _, pid = Nbdkit.run_unix socket nbdkit in
|
||||
+ On_exit.kill pid;
|
||||
+
|
||||
+ NBD_URI.Unix (socket, None)
|
||||
+ ) files
|
||||
) in
|
||||
|
||||
source, uris
|
||||
diff --git a/lib/utils.ml b/lib/utils.ml
|
||||
index acf5fb07..f3f7a205 100644
|
||||
--- a/lib/utils.ml
|
||||
+++ b/lib/utils.ml
|
||||
@@ -54,6 +54,21 @@ let uri_quote str =
|
||||
done;
|
||||
String.concat "" (List.rev !xs)
|
||||
|
||||
+(* Escape characters like [?] and [*] which are special for fnmatch(3). *)
|
||||
+let fnmatch_escape str =
|
||||
+ let len = String.length str in
|
||||
+ let xs = ref [] in
|
||||
+ for i = 0 to len-1 do
|
||||
+ xs :=
|
||||
+ (match str.[i] with
|
||||
+ | '[' | ']' | '?' | '*' as c ->
|
||||
+ sprintf "\\%c" c
|
||||
+ | c ->
|
||||
+ String.make 1 c
|
||||
+ ) :: !xs
|
||||
+ done;
|
||||
+ String.concat "" (List.rev !xs)
|
||||
+
|
||||
(* Map guest architecture found by inspection to the architecture
|
||||
* that KVM must emulate. Note for x86 we assume a 64 bit hypervisor.
|
||||
*)
|
||||
diff --git a/lib/utils.mli b/lib/utils.mli
|
||||
index 565bebca..1eb24ae7 100644
|
||||
--- a/lib/utils.mli
|
||||
+++ b/lib/utils.mli
|
||||
@@ -33,6 +33,9 @@ val have_selinux : bool
|
||||
val uri_quote : string -> string
|
||||
(** Take a string and perform %xx escaping as used in some parts of URLs. *)
|
||||
|
||||
+val fnmatch_escape : string -> string
|
||||
+(** Escape characters like [?] and [*] which are special for fnmatch(3). *)
|
||||
+
|
||||
val kvm_arch : string -> string
|
||||
(** Map guest architecture found by inspection to the architecture
|
||||
that KVM must emulate. Note for x86 we assume a 64 bit hypervisor. *)
|
||||
@ -1,4 +1,4 @@
|
||||
From da65e457bce25d851c7ed043b30ba9e5a52c09f7 Mon Sep 17 00:00:00 2001
|
||||
From 79b3712d05a03bf7a34ce1177f302791717acde1 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
|
||||
@ -1,74 +0,0 @@
|
||||
From ab311a7399dd372a190e88b731b69e92767eb5e6 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Tue, 13 May 2025 11:45:42 +0100
|
||||
Subject: [PATCH] docs: Further updates to virt-v2v release notes for 2.8
|
||||
|
||||
---
|
||||
docs/virt-v2v-release-notes-2.8.pod | 26 +++++++++++++++++++++++++-
|
||||
1 file changed, 25 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/docs/virt-v2v-release-notes-2.8.pod b/docs/virt-v2v-release-notes-2.8.pod
|
||||
index 0ca0abe2..07bbafcf 100644
|
||||
--- a/docs/virt-v2v-release-notes-2.8.pod
|
||||
+++ b/docs/virt-v2v-release-notes-2.8.pod
|
||||
@@ -138,6 +138,9 @@ OCaml E<ge> 4.08 is now required.
|
||||
|
||||
libnbd E<ge> 1.14 is now required.
|
||||
|
||||
+nbdkit E<ge> 1.28 is now required, although it is better to use more
|
||||
+recent versions where possible.
|
||||
+
|
||||
OCaml oUnit is no longer used.
|
||||
|
||||
We now assume that C<__attribute__((cleanup))> always works. This
|
||||
@@ -169,16 +172,29 @@ L<nbdkit-cacheextents-filter(1)> is no longer used, as it did not help
|
||||
performance now that we have switched to using L<nbdcopy(1)> (thanks
|
||||
Martin Kletzander).
|
||||
|
||||
+With multi-disk guests, in some common cases we are now able to use a
|
||||
+single L<nbdkit(1)> instance to read or write all disks, instead of
|
||||
+needing to run an nbdkit instance per disk, which can greatly reduce
|
||||
+the number of external processes that virt-v2v will run. The
|
||||
+performance and results should not be different. To take full
|
||||
+advantage of this you have to use nbdkit E<ge> 1.44.
|
||||
+
|
||||
Several typos and spelling mistakes in the documentation were fixed
|
||||
(thanks Eric Blake).
|
||||
|
||||
+Duplicated code used to parse input (I<-i>) and output (I<-o>))
|
||||
+options across the tools has been refactored in one place.
|
||||
+
|
||||
+Some internal OCaml List and String functions that we used have been
|
||||
+replaced by ones from the OCaml stdlib, reducing code maintenance.
|
||||
+
|
||||
=head2 Bugs fixed
|
||||
|
||||
=begin comment
|
||||
|
||||
./bugs-in-changelog.sh v2.6.0..
|
||||
|
||||
-# List below updated to d6990738b05d91a9491e9dbfe6480033e1f4ea86
|
||||
+# List below updated to b49ee1436870f720cd0a4aee7593f38fa9f4089f
|
||||
|
||||
=end comment
|
||||
|
||||
@@ -261,11 +277,19 @@ There is no nbdcopy info in v2v debug log since virt-v2v version
|
||||
|
||||
virt-v2v-inspector is failing on snapshots of running VMs [rhel-9.7]
|
||||
|
||||
+=item L<https://issues.redhat.com/browse/RHEL-88985>
|
||||
+
|
||||
+Add possible roots to the virt-v2v-inspector output [rhel-9.7]
|
||||
+
|
||||
=item L<https://github.com/libguestfs/virt-v2v/issues/79>
|
||||
|
||||
virt-v2v 2.7.4 error: libguestfs error: you must call
|
||||
guestfs_add_drive before guestfs_launch
|
||||
|
||||
+=item L<https://github.com/libguestfs/virt-v2v/issues/86>
|
||||
+
|
||||
+Rename RHV to oVirt
|
||||
+
|
||||
=back
|
||||
|
||||
=head1 SEE ALSO
|
||||
@ -1,4 +1,4 @@
|
||||
From 63fe3fb057c68774a5824e4206a6885e2cbd83da Mon Sep 17 00:00:00 2001
|
||||
From 932fac6fa988957c33bb78dcd4cf6ccff06d3a96 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
|
||||
@ -43,7 +43,7 @@ index 49f00754..bdf12c5d 100644
|
||||
=item B<-o null>
|
||||
|
||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||
index e4ceafc2..100befd7 100644
|
||||
index 179be943..fbd0c6d0 100644
|
||||
--- a/docs/virt-v2v.pod
|
||||
+++ b/docs/virt-v2v.pod
|
||||
@@ -159,11 +159,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
|
||||
@ -58,7 +58,7 @@ index e4ceafc2..100befd7 100644
|
||||
=head1 OPTIONS
|
||||
|
||||
=over 4
|
||||
@@ -543,9 +538,6 @@ This is similar to I<-o local>, except that a shell script is written
|
||||
@@ -545,9 +540,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>.
|
||||
|
||||
@ -68,7 +68,7 @@ index e4ceafc2..100befd7 100644
|
||||
=item B<-o> B<vdsm>
|
||||
|
||||
Set the output method to I<vdsm>.
|
||||
@@ -603,11 +595,6 @@ For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set a guest ID
|
||||
@@ -605,11 +597,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.
|
||||
|
||||
@ -1,23 +0,0 @@
|
||||
From ac371ca18a152a2fb5351eb2a6c6326cf7c91fef Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Tue, 13 May 2025 12:00:26 +0100
|
||||
Subject: [PATCH] input: vddk: Break long line of code
|
||||
|
||||
---
|
||||
input/input_vddk.ml | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/input/input_vddk.ml b/input/input_vddk.ml
|
||||
index f5e2aa98..cf6e9be6 100644
|
||||
--- a/input/input_vddk.ml
|
||||
+++ b/input/input_vddk.ml
|
||||
@@ -166,7 +166,8 @@ information on these settings.
|
||||
match uri.Xml.uri_server with
|
||||
| Some server -> server
|
||||
| None ->
|
||||
- error (f_"‘-ic %s’ URL does not contain a host name field") input_conn in
|
||||
+ error (f_"‘-ic %s’ URL does not contain a host name field")
|
||||
+ input_conn in
|
||||
|
||||
(* For VDDK we require some user. If it's not supplied, assume root. *)
|
||||
let user = uri.Xml.uri_user |> Option.value ~default:"root" in
|
||||
@ -1,4 +1,4 @@
|
||||
From f0d4697d984d00007e247555ab2e9b2cc25b2c49 Mon Sep 17 00:00:00 2001
|
||||
From 0554731eda42c44a93a026407cf0165f9cc7f57a 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
|
||||
@ -1,76 +0,0 @@
|
||||
From fe46c3df89dd597777e017b7a2cbc43f401d8364 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Tue, 13 May 2025 12:08:09 +0100
|
||||
Subject: [PATCH] TODO: Rewrite this document
|
||||
|
||||
Remove to-do items about ovirt-upload, since that is unmaintained at
|
||||
the moment.
|
||||
|
||||
Add an item about how we open too many connections to the NBD
|
||||
endpoint.
|
||||
---
|
||||
TODO | 49 ++++++++++++++++++++++---------------------------
|
||||
1 file changed, 22 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/TODO b/TODO
|
||||
index e30e18e8..34d8f957 100644
|
||||
--- a/TODO
|
||||
+++ b/TODO
|
||||
@@ -1,35 +1,30 @@
|
||||
-virt-v2v -o ovirt-upload
|
||||
-----------------------
|
||||
+To-do list for virt-v2v
|
||||
+======================================================================
|
||||
|
||||
-* Set or disable the ticket timeout. The default is going to be
|
||||
- increased (from current 60 seconds), so maybe we won't have to
|
||||
- set it. See also:
|
||||
- https://bugzilla.redhat.com/show_bug.cgi?id=1563278
|
||||
+We open the input NBD endpoint up to 5 times per disk during a
|
||||
+conversion (especially if --verbose mode is used):
|
||||
|
||||
-* qcow2 cannot be supported yet because there is not yet any
|
||||
- concept in imageio of read+write handles.
|
||||
- https://bugzilla.redhat.com/show_bug.cgi?id=1563299
|
||||
+ * Once for conversion
|
||||
|
||||
-* preallocated cannot be supported yet because imageio doesn't
|
||||
- know how to zero the image efficiently, instead it runs an
|
||||
- fallocate process which writes to every block and that takes
|
||||
- many minutes.
|
||||
+ * nbdinfo opens the connection twice (because we're using --content)
|
||||
|
||||
-* Really check what insecure/rhv_cafile do and implement it correctly.
|
||||
+ * The output side opens the input connection just to get the virtual
|
||||
+ size of the disk, so it knows how large to create the output disk.
|
||||
+ (Could be avoided if conversion kept this information, but that's a
|
||||
+ layering violation.)
|
||||
|
||||
-* Measure and resolve performance problems.
|
||||
+ * once for nbdcopy
|
||||
|
||||
-* Allocated image size is unknown for v2v uploads, but imageio needs
|
||||
- to know it. We pass initial_size == provisioned_size == virtual size.
|
||||
- That can't be fixed from the v2v side.
|
||||
+This has quite a lot of overhead for some inputs. For VDDK, opening a
|
||||
+connection is very slow. In one conversion of a guest with 5 disks I
|
||||
+measured 10% of the total run time of virt-v2v being spent simply
|
||||
+opening VDDK connections (5 x 5 = 25 times in all).
|
||||
|
||||
-* There are unresolved issues about how to clean up disks on failure.
|
||||
+--
|
||||
|
||||
-virt-v2v -o openstack
|
||||
----------------------
|
||||
-
|
||||
-Use the metadata service to find the -oo server-id setting. It would
|
||||
-no longer need to be specified on the command line. Note there are
|
||||
-two variations of metadata service in OpenStack, either the config
|
||||
-disk or link-local network address. We would need to support both, or
|
||||
-the possibility that there is no metadata service.
|
||||
+In virt-v2v -o openstack Use the metadata service to find the -oo
|
||||
+server-id setting. It would no longer need to be specified on the
|
||||
+command line. Note there are two variations of metadata service in
|
||||
+OpenStack, either the config disk or link-local network address. We
|
||||
+would need to support both, or the possibility that there is no
|
||||
+metadata service.
|
||||
@ -1,4 +1,4 @@
|
||||
From 027b35a41dd590e2f59387bcc6268c562454242f Mon Sep 17 00:00:00 2001
|
||||
From 8e973c6c2e8a8889433c72fae688d5f5219c811f 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)
|
||||
@ -1,98 +0,0 @@
|
||||
From 634a00168f1575e1e76605aac961d1935b977654 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 14 May 2025 11:24:33 +0100
|
||||
Subject: [PATCH] input, output: List input and output modes one per line
|
||||
|
||||
This just makes it easier to patch some unsupported modes out
|
||||
downstream.
|
||||
---
|
||||
input/select_input.ml | 7 ++++++-
|
||||
input/select_input.mli | 7 ++++++-
|
||||
output/select_output.ml | 13 +++++++++++--
|
||||
output/select_output.mli | 13 +++++++++++--
|
||||
4 files changed, 34 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/input/select_input.ml b/input/select_input.ml
|
||||
index 785fcae6..24cc2183 100644
|
||||
--- a/input/select_input.ml
|
||||
+++ b/input/select_input.ml
|
||||
@@ -19,7 +19,12 @@
|
||||
open Tools_utils
|
||||
open Common_gettext.Gettext
|
||||
|
||||
-type input_mode = Disk | Libvirt | LibvirtXML | OVA | VMX
|
||||
+type input_mode =
|
||||
+ | Disk
|
||||
+ | Libvirt
|
||||
+ | LibvirtXML
|
||||
+ | OVA
|
||||
+ | VMX
|
||||
|
||||
let input_mode_of_string = function
|
||||
| "disk" | "local" -> Disk
|
||||
diff --git a/input/select_input.mli b/input/select_input.mli
|
||||
index 7a59e5a8..c7e95dbe 100644
|
||||
--- a/input/select_input.mli
|
||||
+++ b/input/select_input.mli
|
||||
@@ -16,7 +16,12 @@
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*)
|
||||
|
||||
-type input_mode = Disk | Libvirt | LibvirtXML | OVA | VMX
|
||||
+type input_mode =
|
||||
+ | Disk
|
||||
+ | Libvirt
|
||||
+ | LibvirtXML
|
||||
+ | OVA
|
||||
+ | VMX
|
||||
(** [-i] option on the command line *)
|
||||
|
||||
val input_mode_of_string : string -> input_mode
|
||||
diff --git a/output/select_output.ml b/output/select_output.ml
|
||||
index 299d8463..afe4d996 100644
|
||||
--- a/output/select_output.ml
|
||||
+++ b/output/select_output.ml
|
||||
@@ -19,8 +19,17 @@
|
||||
open Tools_utils
|
||||
open Common_gettext.Gettext
|
||||
|
||||
-type output_mode = Disk | Glance | Kubevirt | Libvirt | Null
|
||||
- | Openstack | OVirt | OVirt_Upload | QEmu | VDSM
|
||||
+type output_mode =
|
||||
+ | Disk
|
||||
+ | Glance
|
||||
+ | Kubevirt
|
||||
+ | Libvirt
|
||||
+ | Null
|
||||
+ | Openstack
|
||||
+ | OVirt
|
||||
+ | OVirt_Upload
|
||||
+ | QEmu
|
||||
+ | VDSM
|
||||
|
||||
let output_mode_of_string = function
|
||||
| "glance" -> Glance
|
||||
diff --git a/output/select_output.mli b/output/select_output.mli
|
||||
index ff9d3d32..8a12b1f4 100644
|
||||
--- a/output/select_output.mli
|
||||
+++ b/output/select_output.mli
|
||||
@@ -16,8 +16,17 @@
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*)
|
||||
|
||||
-type output_mode = Disk | Glance | Kubevirt | Libvirt | Null
|
||||
- | Openstack | OVirt | OVirt_Upload | QEmu | VDSM
|
||||
+type output_mode =
|
||||
+ | Disk
|
||||
+ | Glance
|
||||
+ | Kubevirt
|
||||
+ | Libvirt
|
||||
+ | Null
|
||||
+ | Openstack
|
||||
+ | OVirt
|
||||
+ | OVirt_Upload
|
||||
+ | QEmu
|
||||
+ | VDSM
|
||||
(** [-o] option on the command line *)
|
||||
|
||||
val output_mode_of_string : string -> output_mode
|
||||
@ -1,4 +1,4 @@
|
||||
From 91757bf2736bc5acff90bb7bd006a7c5932a939a Mon Sep 17 00:00:00 2001
|
||||
From 356b635abaa519179c640fbd3a0b7da039ca8fe3 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
|
||||
@ -1,108 +0,0 @@
|
||||
From d1f1cac3e973da378ad9beff19cbbbdddb12a5f7 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 14 May 2025 11:30:57 +0100
|
||||
Subject: [PATCH] input, output: Add functions for list all input/output modes
|
||||
|
||||
---
|
||||
input/select_input.ml | 15 +++++++++++++++
|
||||
input/select_input.mli | 6 ++++++
|
||||
output/select_output.ml | 25 +++++++++++++++++++++++++
|
||||
output/select_output.mli | 6 ++++++
|
||||
4 files changed, 52 insertions(+)
|
||||
|
||||
diff --git a/input/select_input.ml b/input/select_input.ml
|
||||
index 24cc2183..a5eb1433 100644
|
||||
--- a/input/select_input.ml
|
||||
+++ b/input/select_input.ml
|
||||
@@ -26,6 +26,21 @@ type input_mode =
|
||||
| OVA
|
||||
| VMX
|
||||
|
||||
+let input_modes = [
|
||||
+ Disk;
|
||||
+ Libvirt;
|
||||
+ LibvirtXML;
|
||||
+ OVA;
|
||||
+ VMX;
|
||||
+ ]
|
||||
+
|
||||
+let string_of_input_mode = function
|
||||
+ | Disk -> "disk"
|
||||
+ | Libvirt -> "libvirt"
|
||||
+ | LibvirtXML -> "libvirtxml"
|
||||
+ | OVA -> "ova"
|
||||
+ | VMX -> "vmx"
|
||||
+
|
||||
let input_mode_of_string = function
|
||||
| "disk" | "local" -> Disk
|
||||
| "libvirt" -> Libvirt
|
||||
diff --git a/input/select_input.mli b/input/select_input.mli
|
||||
index c7e95dbe..a60a848c 100644
|
||||
--- a/input/select_input.mli
|
||||
+++ b/input/select_input.mli
|
||||
@@ -24,6 +24,12 @@ type input_mode =
|
||||
| VMX
|
||||
(** [-i] option on the command line *)
|
||||
|
||||
+val input_modes : input_mode list
|
||||
+(** A list of the available input modes. *)
|
||||
+
|
||||
+val string_of_input_mode : input_mode -> string
|
||||
+(** Return the canonical string form of an input mode *)
|
||||
+
|
||||
val input_mode_of_string : string -> input_mode
|
||||
(** Return the input mode corresponding to a string. This is
|
||||
used when parsing the command line. If the input mode
|
||||
diff --git a/output/select_output.ml b/output/select_output.ml
|
||||
index afe4d996..ab4bfe4d 100644
|
||||
--- a/output/select_output.ml
|
||||
+++ b/output/select_output.ml
|
||||
@@ -31,6 +31,31 @@ type output_mode =
|
||||
| QEmu
|
||||
| VDSM
|
||||
|
||||
+let output_modes = [
|
||||
+ Disk;
|
||||
+ Glance;
|
||||
+ Kubevirt;
|
||||
+ Libvirt;
|
||||
+ Null;
|
||||
+ Openstack;
|
||||
+ OVirt;
|
||||
+ OVirt_Upload;
|
||||
+ QEmu;
|
||||
+ VDSM;
|
||||
+ ]
|
||||
+
|
||||
+let string_of_output_mode = function
|
||||
+ | Disk -> "disk"
|
||||
+ | Glance -> "glance"
|
||||
+ | Kubevirt -> "kubevirt"
|
||||
+ | Libvirt -> "libvirt"
|
||||
+ | Null -> "null"
|
||||
+ | Openstack -> "openstack"
|
||||
+ | OVirt -> "ovirt"
|
||||
+ | OVirt_Upload -> "ovirt-upload"
|
||||
+ | QEmu -> "qemu"
|
||||
+ | VDSM -> "vdsm"
|
||||
+
|
||||
let output_mode_of_string = function
|
||||
| "glance" -> Glance
|
||||
| "kubevirt" -> Kubevirt
|
||||
diff --git a/output/select_output.mli b/output/select_output.mli
|
||||
index 8a12b1f4..a509a1db 100644
|
||||
--- a/output/select_output.mli
|
||||
+++ b/output/select_output.mli
|
||||
@@ -29,6 +29,12 @@ type output_mode =
|
||||
| VDSM
|
||||
(** [-o] option on the command line *)
|
||||
|
||||
+val output_modes : output_mode list
|
||||
+(** A list of the available output modes. *)
|
||||
+
|
||||
+val string_of_output_mode : output_mode -> string
|
||||
+(** Return the canonical string form of an output mode *)
|
||||
+
|
||||
val output_mode_of_string : string -> output_mode
|
||||
(** Return the output mode corresponding to a string. This is
|
||||
used when parsing the command line. If the output mode
|
||||
@ -1,4 +1,4 @@
|
||||
From 46865d84db7c610ea27b39ce007867e96552375a Mon Sep 17 00:00:00 2001
|
||||
From 9e65ca89b74f535142e5d733907f55bdb200ac34 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
|
||||
@ -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 100befd7..e0baa16f 100644
|
||||
index fbd0c6d0..dd61cbd3 100644
|
||||
--- a/docs/virt-v2v.pod
|
||||
+++ b/docs/virt-v2v.pod
|
||||
@@ -12,7 +12,7 @@ virt-v2v - Convert a guest to use KVM
|
||||
@ -277,7 +277,7 @@ index 100befd7..e0baa16f 100644
|
||||
|
||||
=item B<-if> format
|
||||
|
||||
@@ -857,38 +849,6 @@ __CUSTOMIZE_OPTIONS__
|
||||
@@ -859,38 +851,6 @@ __CUSTOMIZE_OPTIONS__
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
@ -316,7 +316,7 @@ index 100befd7..e0baa16f 100644
|
||||
=head2 Enabling virtio
|
||||
|
||||
"Virtio" is the name for a set of drivers which make disk (block
|
||||
@@ -1242,7 +1202,7 @@ bandwidth. Virt-v2v should be able to copy guest data at gigabit
|
||||
@@ -1244,7 +1204,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
|
||||
@ -1,132 +0,0 @@
|
||||
From 4af6b1c43b30e68d6d1b41b6b24db26d6e2fd1d3 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 14 May 2025 11:33:56 +0100
|
||||
Subject: [PATCH] v2v: Replace hard-coded lists of input and output modes
|
||||
|
||||
In the --help output of each tool there was a hard-coded list of each
|
||||
input and output mode. This makes downstream patching (to remove
|
||||
unsupported modes) harder than it needs to be, so generate these lists
|
||||
instead.
|
||||
---
|
||||
in-place/in_place.ml | 6 +++++-
|
||||
inspector/inspector.ml | 6 +++++-
|
||||
open/open.ml | 6 +++++-
|
||||
v2v/v2v.ml | 12 ++++++++++--
|
||||
4 files changed, 25 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/in-place/in_place.ml b/in-place/in_place.ml
|
||||
index 01fa9d24..b545360a 100644
|
||||
--- a/in-place/in_place.ml
|
||||
+++ b/in-place/in_place.ml
|
||||
@@ -148,6 +148,10 @@ let rec main () =
|
||||
(* Other options that we handle here. *)
|
||||
let print_source = ref false in
|
||||
|
||||
+ let input_modes =
|
||||
+ Select_input.input_modes |>
|
||||
+ List.map Select_input.string_of_input_mode |>
|
||||
+ String.concat "|" in
|
||||
let input_mode = ref None in
|
||||
let set_input_mode mode =
|
||||
if !input_mode <> None then
|
||||
@@ -160,7 +164,7 @@ let rec main () =
|
||||
s_"Map bridge ‘in’ to ‘out’";
|
||||
[ L"block-driver" ], Getopt.String ("driver", set_string_option_once "--block-driver" block_driver),
|
||||
s_"Prefer 'virtio-blk' or 'virtio-scsi'";
|
||||
- [ S 'i' ], Getopt.String ("disk|libvirt|libvirtxml|ova|vmx", set_input_mode),
|
||||
+ [ S 'i' ], Getopt.String (input_modes, set_input_mode),
|
||||
s_"Set input mode (default: libvirt)";
|
||||
[ M"ic" ], Getopt.String ("uri", set_string_option_once "-ic" input_conn),
|
||||
s_"Libvirt URI";
|
||||
diff --git a/inspector/inspector.ml b/inspector/inspector.ml
|
||||
index 19ff8bc9..ceb2c50a 100644
|
||||
--- a/inspector/inspector.ml
|
||||
+++ b/inspector/inspector.ml
|
||||
@@ -136,6 +136,10 @@ let rec main () =
|
||||
let root_choice = ref default_root_choice in
|
||||
let set_root_choice = Types.set_root_choice root_choice in
|
||||
|
||||
+ let input_modes =
|
||||
+ Select_input.input_modes |>
|
||||
+ List.map Select_input.string_of_input_mode |>
|
||||
+ String.concat "|" in
|
||||
let input_mode = ref None in
|
||||
let set_input_mode mode =
|
||||
if !input_mode <> None then
|
||||
@@ -146,7 +150,7 @@ let rec main () =
|
||||
let argspec = [
|
||||
[ S 'b'; L"bridge" ], Getopt.String ("in:out", add_bridge),
|
||||
s_"Map bridge ‘in’ to ‘out’";
|
||||
- [ S 'i' ], Getopt.String ("disk|libvirt|libvirtxml|ova|vmx", set_input_mode),
|
||||
+ [ S 'i' ], Getopt.String (input_modes, set_input_mode),
|
||||
s_"Set input mode (default: libvirt)";
|
||||
[ M"ic" ], Getopt.String ("uri", set_string_option_once "-ic" input_conn),
|
||||
s_"Libvirt URI";
|
||||
diff --git a/open/open.ml b/open/open.ml
|
||||
index e34c81a6..65e5bff8 100644
|
||||
--- a/open/open.ml
|
||||
+++ b/open/open.ml
|
||||
@@ -58,6 +58,10 @@ let rec main () =
|
||||
)
|
||||
in
|
||||
|
||||
+ let input_modes =
|
||||
+ Select_input.input_modes |>
|
||||
+ List.map Select_input.string_of_input_mode |>
|
||||
+ String.concat "|" in
|
||||
let input_mode = ref None in
|
||||
let set_input_mode mode =
|
||||
if !input_mode <> None then
|
||||
@@ -68,7 +72,7 @@ let rec main () =
|
||||
let command_template = ref None in
|
||||
|
||||
let argspec = [
|
||||
- [ S 'i' ], Getopt.String ("disk|libvirt|libvirtxml|ova|vmx", set_input_mode),
|
||||
+ [ S 'i' ], Getopt.String (input_modes, set_input_mode),
|
||||
s_"Set input mode (default: libvirt)";
|
||||
[ M"ic" ], Getopt.String ("uri", set_string_option_once "-ic" input_conn),
|
||||
s_"Libvirt URI";
|
||||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||||
index cb62d847..58ca79ea 100644
|
||||
--- a/v2v/v2v.ml
|
||||
+++ b/v2v/v2v.ml
|
||||
@@ -166,6 +166,10 @@ let rec main () =
|
||||
(* Other options that we handle here. *)
|
||||
let print_source = ref false in
|
||||
|
||||
+ let input_modes =
|
||||
+ Select_input.input_modes |>
|
||||
+ List.map Select_input.string_of_input_mode |>
|
||||
+ String.concat "|" in
|
||||
let input_mode = ref None in
|
||||
let set_input_mode mode =
|
||||
if !input_mode <> None then
|
||||
@@ -173,6 +177,10 @@ let rec main () =
|
||||
input_mode := Some (Select_input.input_mode_of_string mode)
|
||||
in
|
||||
|
||||
+ let output_modes =
|
||||
+ Select_output.output_modes |>
|
||||
+ List.map Select_output.string_of_output_mode |>
|
||||
+ String.concat "|" in
|
||||
let output_mode = ref None in
|
||||
let set_output_mode mode =
|
||||
if !output_mode <> None then
|
||||
@@ -195,7 +203,7 @@ let rec main () =
|
||||
s_"Map bridge ‘in’ to ‘out’";
|
||||
[ L"block-driver" ], Getopt.String ("driver", set_string_option_once "--block-driver" block_driver),
|
||||
s_"Prefer 'virtio-blk' or 'virtio-scsi'";
|
||||
- [ S 'i' ], Getopt.String ("disk|libvirt|libvirtxml|ova|vmx", set_input_mode),
|
||||
+ [ S 'i' ], Getopt.String (input_modes, set_input_mode),
|
||||
s_"Set input mode (default: libvirt)";
|
||||
[ M"ic" ], Getopt.String ("uri", set_string_option_once "-ic" input_conn),
|
||||
s_"Libvirt URI";
|
||||
@@ -213,7 +221,7 @@ let rec main () =
|
||||
s_"Map NIC to network or bridge or assign static IP";
|
||||
[ S 'n'; L"network" ], Getopt.String ("in:out", add_network),
|
||||
s_"Map network ‘in’ to ‘out’";
|
||||
- [ S 'o' ], Getopt.String ("glance|kubevirt|libvirt|local|null|openstack|ovirt|ovirt-upload|qemu|vdsm", set_output_mode),
|
||||
+ [ S 'o' ], Getopt.String (output_modes, set_output_mode),
|
||||
s_"Set output mode (default: libvirt)";
|
||||
[ M"oa" ], Getopt.String ("sparse|preallocated", set_output_alloc),
|
||||
s_"Set output allocation mode";
|
||||
@ -1,4 +1,4 @@
|
||||
From 5db0c8d26186129e786aa34a1023264e373d049b Mon Sep 17 00:00:00 2001
|
||||
From 52d3622bb55dfe2aaaee577748e4fe94ed0026e5 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
|
||||
@ -100,10 +100,10 @@ index 9bef76ea..04595816 100644
|
||||
=head1 AUTHOR
|
||||
|
||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||
index e0baa16f..c32e6db6 100644
|
||||
index dd61cbd3..3e12914a 100644
|
||||
--- a/docs/virt-v2v.pod
|
||||
+++ b/docs/virt-v2v.pod
|
||||
@@ -436,14 +436,6 @@ See L</Networks and bridges> below.
|
||||
@@ -438,14 +438,6 @@ See L</Networks and bridges> below.
|
||||
|
||||
This is the same as I<-o local>.
|
||||
|
||||
@ -118,7 +118,7 @@ index e0baa16f..c32e6db6 100644
|
||||
=item B<-o> B<kubevirt>
|
||||
|
||||
Set the output method to I<kubevirt>. B<Note the way this mode works
|
||||
@@ -1224,11 +1216,6 @@ and output methods may use disk space, as outlined in the table below.
|
||||
@@ -1226,11 +1218,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>).
|
||||
|
||||
@ -130,7 +130,7 @@ index e0baa16f..c32e6db6 100644
|
||||
=item I<-o local>
|
||||
|
||||
=item I<-o qemu>
|
||||
@@ -1431,13 +1418,6 @@ See also L</Starting the libvirt system instance>.
|
||||
@@ -1433,13 +1420,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.
|
||||
|
||||
@ -1,104 +0,0 @@
|
||||
From db4066f6678028fa599bced49ac07ebafe6b7202 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 14 May 2025 11:47:05 +0100
|
||||
Subject: [PATCH] v2v: Generate --machine-readable list of input and output
|
||||
modes
|
||||
|
||||
---
|
||||
in-place/in_place.ml | 8 +++-----
|
||||
inspector/inspector.ml | 8 +++-----
|
||||
open/open.ml | 8 +++-----
|
||||
v2v/v2v.ml | 23 ++++++-----------------
|
||||
4 files changed, 15 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/in-place/in_place.ml b/in-place/in_place.ml
|
||||
index b545360a..604a662d 100644
|
||||
--- a/in-place/in_place.ml
|
||||
+++ b/in-place/in_place.ml
|
||||
@@ -259,11 +259,9 @@ read the man page virt-v2v-in-place(1).
|
||||
pr "mac-ip-option\n";
|
||||
pr "customize-ops\n";
|
||||
pr "output-xml-option\n";
|
||||
- pr "input:disk\n";
|
||||
- pr "input:libvirt\n";
|
||||
- pr "input:libvirtxml\n";
|
||||
- pr "input:ova\n";
|
||||
- pr "input:vmx\n";
|
||||
+ Select_input.input_modes |>
|
||||
+ List.map Select_input.string_of_input_mode |>
|
||||
+ List.iter (pr "input:%s\n");
|
||||
pr "convert:linux\n";
|
||||
pr "convert:windows\n";
|
||||
List.iter (pr "ovf:%s\n") Create_ovf.ovf_flavours;
|
||||
diff --git a/inspector/inspector.ml b/inspector/inspector.ml
|
||||
index ceb2c50a..50b8f711 100644
|
||||
--- a/inspector/inspector.ml
|
||||
+++ b/inspector/inspector.ml
|
||||
@@ -238,11 +238,9 @@ read the man page virt-v2v-inspector(1).
|
||||
pr "mac-option\n";
|
||||
pr "mac-ip-option\n";
|
||||
pr "customize-ops\n";
|
||||
- pr "input:disk\n";
|
||||
- pr "input:libvirt\n";
|
||||
- pr "input:libvirtxml\n";
|
||||
- pr "input:ova\n";
|
||||
- pr "input:vmx\n";
|
||||
+ Select_input.input_modes |>
|
||||
+ List.map Select_input.string_of_input_mode |>
|
||||
+ List.iter (pr "input:%s\n");
|
||||
pr "convert:linux\n";
|
||||
pr "convert:windows\n";
|
||||
List.iter (pr "ovf:%s\n") Create_ovf.ovf_flavours;
|
||||
diff --git a/open/open.ml b/open/open.ml
|
||||
index 65e5bff8..8ba41e20 100644
|
||||
--- a/open/open.ml
|
||||
+++ b/open/open.ml
|
||||
@@ -145,11 +145,9 @@ read the man page virt-v2v-open(1).
|
||||
pr "libguestfs-rewrite\n";
|
||||
pr "colours-option\n";
|
||||
pr "io\n";
|
||||
- pr "input:disk\n";
|
||||
- pr "input:libvirt\n";
|
||||
- pr "input:libvirtxml\n";
|
||||
- pr "input:ova\n";
|
||||
- pr "input:vmx\n";
|
||||
+ Select_input.input_modes |>
|
||||
+ List.map Select_input.string_of_input_mode |>
|
||||
+ List.iter (pr "input:%s\n");
|
||||
exit 0
|
||||
| _, _ -> ()
|
||||
);
|
||||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||||
index 58ca79ea..d32993d4 100644
|
||||
--- a/v2v/v2v.ml
|
||||
+++ b/v2v/v2v.ml
|
||||
@@ -345,23 +345,12 @@ read the man page virt-v2v(1).
|
||||
pr "mac-ip-option\n";
|
||||
pr "parallel-option\n";
|
||||
pr "customize-ops\n";
|
||||
- pr "input:disk\n";
|
||||
- pr "input:libvirt\n";
|
||||
- pr "input:libvirtxml\n";
|
||||
- pr "input:ova\n";
|
||||
- pr "input:vmx\n";
|
||||
- pr "output:glance\n";
|
||||
- pr "output:kubevirt\n";
|
||||
- pr "output:libvirt\n";
|
||||
- pr "output:local\n";
|
||||
- pr "output:null\n";
|
||||
- pr "output:openstack\n";
|
||||
- pr "output:ovirt\n";
|
||||
- pr "output:ovirt-upload\n";
|
||||
- pr "output:qemu\n";
|
||||
- pr "output:rhv\n";
|
||||
- pr "output:rhv-upload\n";
|
||||
- pr "output:vdsm\n";
|
||||
+ Select_input.input_modes |>
|
||||
+ List.map Select_input.string_of_input_mode |>
|
||||
+ List.iter (pr "input:%s\n");
|
||||
+ Select_output.output_modes |>
|
||||
+ List.map Select_output.string_of_output_mode |>
|
||||
+ List.iter (pr "output:%s\n");
|
||||
pr "convert:linux\n";
|
||||
pr "convert:windows\n";
|
||||
List.iter (pr "ovf:%s\n") Create_ovf.ovf_flavours;
|
||||
@ -1,4 +1,4 @@
|
||||
From 32a2c8e2750487459e7c8a8122f7ffb036e7d4b7 Mon Sep 17 00:00:00 2001
|
||||
From 9d8b011e72d0da826c84ef9c9c5e9676bf32a083 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
|
||||
@ -1,38 +0,0 @@
|
||||
From fafdec5b58e607a6b6d5a64440da50fc07d1ef11 Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Wed, 14 May 2025 11:58:22 +0100
|
||||
Subject: [PATCH] docs/virt-v2v-output-local.pod: --qemu-boot has been removed
|
||||
|
||||
Fixes: commit 471607b01543debfb2f44d9a8aa0dc7a592f5c06
|
||||
---
|
||||
docs/virt-v2v-output-local.pod | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/docs/virt-v2v-output-local.pod b/docs/virt-v2v-output-local.pod
|
||||
index 5a342434..49f00754 100644
|
||||
--- a/docs/virt-v2v-output-local.pod
|
||||
+++ b/docs/virt-v2v-output-local.pod
|
||||
@@ -9,7 +9,7 @@ or libvirt
|
||||
|
||||
virt-v2v [-i* options] -o local -os DIRECTORY
|
||||
|
||||
- virt-v2v [-i* options] -o qemu -os DIRECTORY [--qemu-boot]
|
||||
+ virt-v2v [-i* options] -o qemu -os DIRECTORY [-oo qemu-boot]
|
||||
|
||||
virt-v2v [-i* options] -o null
|
||||
|
||||
@@ -47,12 +47,12 @@ where C<NAME> is the guest name.
|
||||
|
||||
=item B<-o qemu -os> C<DIRECTORY>
|
||||
|
||||
-=item B<-o qemu -os> C<DIRECTORY> B<--qemu-boot>
|
||||
+=item B<-o qemu -os> C<DIRECTORY> B<-oo qemu-boot>
|
||||
|
||||
This converts the guest to files in C<DIRECTORY>. Unlike I<-o local>
|
||||
above, a shell script is created which contains the raw qemu command
|
||||
you would need to boot the guest. However the shell script is not
|
||||
-run, I<unless> you also add the I<--qemu-boot> option.
|
||||
+run, I<unless> you also add the I<-oo qemu-boot> option.
|
||||
|
||||
=item B<-o null>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
From e1df6ef3dd28aaaa5e71e9df95933f828a0b72fa Mon Sep 17 00:00:00 2001
|
||||
From 9eada4143e422e3ede0743eec8be920e4664722b 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
|
||||
@ -37,7 +37,7 @@ index 6c02a99c..3d0d1b28 100644
|
||||
|
||||
=item B<--colours>
|
||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||
index c32e6db6..2afd6182 100644
|
||||
index 3e12914a..0bf464da 100644
|
||||
--- a/docs/virt-v2v.pod
|
||||
+++ b/docs/virt-v2v.pod
|
||||
@@ -211,16 +211,6 @@ The options are silently ignored for other input methods.
|
||||
@ -1,4 +1,4 @@
|
||||
From cf32e1adc123565a4ed816aece1c3bac378e61af Mon Sep 17 00:00:00 2001
|
||||
From a40f29ee8d3375d6bbf065cb8fb206e2a1294b88 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 ovirt, -o ovirt-upload and -o vdsm modes
|
||||
@ -360,7 +360,7 @@ index 6ba04ad0..00000000
|
||||
-
|
||||
-Copyright (C) 2009-2025 Red Hat Inc.
|
||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||
index 2afd6182..c6c222c4 100644
|
||||
index 0bf464da..c6a12086 100644
|
||||
--- a/docs/virt-v2v.pod
|
||||
+++ b/docs/virt-v2v.pod
|
||||
@@ -14,9 +14,9 @@ virt-v2v - Convert a guest to use KVM
|
||||
@ -407,7 +407,7 @@ index 2afd6182..c6c222c4 100644
|
||||
=head2 Convert from ESXi hypervisor over SSH to local libvirt
|
||||
|
||||
You have an ESXi hypervisor called C<esxi.example.com> with SSH access
|
||||
@@ -484,26 +467,6 @@ no metadata is written.
|
||||
@@ -486,26 +469,6 @@ no metadata is written.
|
||||
|
||||
Set the output method to OpenStack. See L<virt-v2v-output-openstack(1)>.
|
||||
|
||||
@ -434,7 +434,7 @@ index 2afd6182..c6c222c4 100644
|
||||
=item B<-o> B<qemu>
|
||||
|
||||
Set the output method to I<qemu>.
|
||||
@@ -512,15 +475,6 @@ This is similar to I<-o local>, except that a shell script is written
|
||||
@@ -514,15 +477,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>.
|
||||
|
||||
@ -450,7 +450,7 @@ index 2afd6182..c6c222c4 100644
|
||||
=item B<-oa> B<sparse>
|
||||
|
||||
=item B<-oa> B<preallocated>
|
||||
@@ -583,117 +537,11 @@ For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set optional
|
||||
@@ -585,117 +539,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>.
|
||||
|
||||
@ -568,7 +568,7 @@ index 2afd6182..c6c222c4 100644
|
||||
=item B<-op> file
|
||||
|
||||
Supply a file containing a password to be used when connecting to the
|
||||
@@ -711,28 +559,6 @@ For I<-o libvirt>, this is a libvirt directory pool
|
||||
@@ -713,28 +561,6 @@ 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.
|
||||
|
||||
@ -597,7 +597,7 @@ index 2afd6182..c6c222c4 100644
|
||||
=item B<--parallel> N
|
||||
|
||||
Enable parallel copying if the guest has multiple disks. I<N> is the
|
||||
@@ -1369,26 +1195,6 @@ require either root or a special user:
|
||||
@@ -1371,26 +1197,6 @@ require either root or a special user:
|
||||
|
||||
=over 4
|
||||
|
||||
@ -624,7 +624,7 @@ index 2afd6182..c6c222c4 100644
|
||||
=item Writing to libvirt
|
||||
|
||||
When using I<-o libvirt>, you may need to run virt-v2v as root so that
|
||||
@@ -1496,7 +1302,6 @@ virt-v2v binary. Typical output looks like this:
|
||||
@@ -1498,7 +1304,6 @@ virt-v2v binary. Typical output looks like this:
|
||||
virt-v2v
|
||||
libguestfs-rewrite
|
||||
colours-option
|
||||
@ -1,4 +1,4 @@
|
||||
From 6c3db0e30ff03e06f83ffd5d90d5d34525e4f5cd Mon Sep 17 00:00:00 2001
|
||||
From dfcdd8de3b345664107518eaaf5a763103daacb2 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
|
||||
@ -1,25 +0,0 @@
|
||||
From 2c84c559fe410abb3fa9095e994660798800e75a Mon Sep 17 00:00:00 2001
|
||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||
Date: Thu, 15 May 2025 16:41:30 +0100
|
||||
Subject: [PATCH] docs: Document -io vddk-file in the main options listing
|
||||
|
||||
Reported-by: Ming Xie
|
||||
Fixes: commit 5328142e6a9faae1db99c646991d27badc6efe91
|
||||
(cherry picked from commit 3a54eabde33fe753ebd864785de8a2fe54c2e1a2)
|
||||
---
|
||||
docs/virt-v2v.pod | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||
index c6c222c4..c6a12086 100644
|
||||
--- a/docs/virt-v2v.pod
|
||||
+++ b/docs/virt-v2v.pod
|
||||
@@ -308,6 +308,8 @@ See L<virt-v2v-input-vmware(1)> for details.
|
||||
|
||||
=item B<-io vddk-cookie=>COOKIE
|
||||
|
||||
+=item B<-io vddk-file=>FILE
|
||||
+
|
||||
=item B<-io vddk-nfchostport=>PORT
|
||||
|
||||
=item B<-io vddk-port=>PORT
|
||||
4
sources
4
sources
@ -1,2 +1,2 @@
|
||||
SHA512 (virt-v2v-2.7.15.tar.gz) = 3762a48dbb8ebb04e39496a816b6a367b78fb6a1137f5bc7b11c369692f80790afea8a0314a0f2e5dfbd9891f055f3f163e77fb6203029f1b2c17c444e3b7343
|
||||
SHA512 (virt-v2v-2.7.15.tar.gz.sig) = 1e9d2bab8a1cb757cd3222c2f77f4ff887fffd3b82ce380ce9b9850f183a31c1686f054b5b48cf0dad286d0fc5c5a12a7fe5a8b708b9f3b1b1ab0227ff35bac3
|
||||
SHA512 (virt-v2v-2.7.16.tar.gz) = 321512ab4773616d0ff8ad21268617e20097a8f6b44850497fce2d5830727c49aca82b0142eca775447522b1d29edef82afd062cf01c2c84388b0193a73902f8
|
||||
SHA512 (virt-v2v-2.7.16.tar.gz.sig) = da589c28af55801305a9fbe2463907a91ec7cf75ba438096ab844065cb7b0ad44208541260047bcd6bdd938230689bc4c685f4ca6cb95fc095eaa660213d9687
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
|
||||
Name: virt-v2v
|
||||
Epoch: 1
|
||||
Version: 2.7.15
|
||||
Release: 3%{?dist}
|
||||
Version: 2.7.16
|
||||
Release: 1%{?dist}
|
||||
Summary: Convert a virtual machine to run on KVM
|
||||
|
||||
License: GPL-2.0-or-later AND LGPL-2.0-or-later
|
||||
@ -27,28 +27,18 @@ Source3: copy-patches.sh
|
||||
# https://github.com/libguestfs/virt-v2v/commits/rhel-10.1
|
||||
|
||||
# Patches.
|
||||
Patch0001: 0001-input-vddk-Use-single-nbdkit-vddk-plugin-instance-wi.patch
|
||||
Patch0002: 0002-docs-Further-updates-to-virt-v2v-release-notes-for-2.patch
|
||||
Patch0003: 0003-input-vddk-Break-long-line-of-code.patch
|
||||
Patch0004: 0004-TODO-Rewrite-this-document.patch
|
||||
Patch0005: 0005-input-output-List-input-and-output-modes-one-per-lin.patch
|
||||
Patch0006: 0006-input-output-Add-functions-for-list-all-input-output.patch
|
||||
Patch0007: 0007-v2v-Replace-hard-coded-lists-of-input-and-output-mod.patch
|
||||
Patch0008: 0008-v2v-Generate-machine-readable-list-of-input-and-outp.patch
|
||||
Patch0009: 0009-docs-virt-v2v-output-local.pod-qemu-boot-has-been-re.patch
|
||||
Patch0010: 0010-RHEL-Fixes-for-libguestfs-winsupport.patch
|
||||
Patch0011: 0011-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
|
||||
Patch0012: 0012-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
|
||||
Patch0013: 0013-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
|
||||
Patch0014: 0014-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
|
||||
Patch0015: 0015-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
|
||||
Patch0016: 0016-RHEL-Remove-input-from-Xen.patch
|
||||
Patch0017: 0017-RHEL-Remove-o-glance.patch
|
||||
Patch0018: 0018-RHEL-tests-Remove-btrfs-test.patch
|
||||
Patch0019: 0019-RHEL-Remove-block-driver-option.patch
|
||||
Patch0020: 0020-RHEL-Remove-o-ovirt-o-ovirt-upload-and-o-vdsm-modes.patch
|
||||
Patch0021: 0021-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch
|
||||
Patch0022: 0022-docs-Document-io-vddk-file-in-the-main-options-listi.patch
|
||||
Patch0001: 0001-RHEL-Fixes-for-libguestfs-winsupport.patch
|
||||
Patch0002: 0002-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
|
||||
Patch0003: 0003-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
|
||||
Patch0004: 0004-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.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-ovirt-o-ovirt-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
|
||||
@ -73,7 +63,7 @@ BuildRequires: /usr/bin/pod2man
|
||||
BuildRequires: gcc
|
||||
BuildRequires: ocaml >= 4.08
|
||||
|
||||
BuildRequires: libguestfs-devel >= 1:1.49.8-1
|
||||
BuildRequires: libguestfs-devel >= 1:1.55.12-1
|
||||
BuildRequires: augeas-devel
|
||||
BuildRequires: bash-completion
|
||||
BuildRequires: file-devel
|
||||
@ -118,7 +108,7 @@ BuildRequires: glibc-static
|
||||
BuildRequires: gnupg2
|
||||
%endif
|
||||
|
||||
Requires: libguestfs%{?_isa} >= 1:1.49.8-1
|
||||
Requires: libguestfs%{?_isa} >= 1:1.55.12-1
|
||||
Requires: guestfs-tools >= 1.49.7-1
|
||||
|
||||
# XFS is the default filesystem in Fedora and RHEL.
|
||||
@ -339,8 +329,8 @@ done
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri May 16 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.15-3
|
||||
- Rebase to virt-v2v 2.7.15
|
||||
* Mon May 19 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.16-1
|
||||
- Rebase to virt-v2v 2.7.16
|
||||
related: RHEL-81735
|
||||
- Fix virt-v2v -v --install dnf5 error
|
||||
resolves: RHEL-83288
|
||||
@ -362,6 +352,8 @@ done
|
||||
resolves: RHEL-88544
|
||||
- Add virt-v2v-open tool
|
||||
resolves: RHEL-89993
|
||||
- Run filesystem check before and after conversion
|
||||
resolves: RHEL-91931
|
||||
|
||||
* Tue Feb 11 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.1-4
|
||||
- Rebase to virt-v2v 2.7.1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user