Remove virt-v2v -io vddk-noextents=true option
resolves: RHEL-102619 Add -o kubevirt -oo disk and -oo create options resolves: RHEL-101599
This commit is contained in:
parent
6833559d9e
commit
b099d8081c
101
0001-vddk-Remove-io-vddk-noextents-option.patch
Normal file
101
0001-vddk-Remove-io-vddk-noextents-option.patch
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
From 563c581fd0d68792211edf15632bac3f419888b7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Wed, 9 Jul 2025 09:38:50 +0100
|
||||||
|
Subject: [PATCH] vddk: Remove -io vddk-noextents option
|
||||||
|
|
||||||
|
Commit 191b8cf418 ("input: Add undocumented -io vddk-noextents=true
|
||||||
|
option") added an option which could be used to insert the nbdkit
|
||||||
|
noextents filter on top of the VDDK source. This was designed so we
|
||||||
|
could test in production if this improved performance (which it
|
||||||
|
didn't).
|
||||||
|
|
||||||
|
Since then we've spent more time investigating problems with
|
||||||
|
QueryAllocatedBlocks and believe we have a better solution in nbdkit.
|
||||||
|
See:
|
||||||
|
https://gitlab.com/nbdkit/nbdkit/-/commit/5a882e74cae3dbaa09bf3b942a02f9947b12f6e5
|
||||||
|
|
||||||
|
Reverts: commit 191b8cf418076ae3766b134ffa96eee048c7eb9d
|
||||||
|
---
|
||||||
|
README | 1 -
|
||||||
|
input/input_vddk.ml | 35 -----------------------------------
|
||||||
|
2 files changed, 36 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/README b/README
|
||||||
|
index 49082a96..1cdbef15 100644
|
||||||
|
--- a/README
|
||||||
|
+++ b/README
|
||||||
|
@@ -71,7 +71,6 @@ REQUIREMENTS
|
||||||
|
+ nbdkit-blocksize-filter
|
||||||
|
+ nbdkit-cow-filter
|
||||||
|
+ nbdkit-multi-conn-filter
|
||||||
|
- + nbdkit-noextents-filter
|
||||||
|
+ nbdkit-rate-filter
|
||||||
|
+ nbdkit-retry-filter
|
||||||
|
|
||||||
|
diff --git a/input/input_vddk.ml b/input/input_vddk.ml
|
||||||
|
index b70d76fb..ffc844fb 100644
|
||||||
|
--- a/input/input_vddk.ml
|
||||||
|
+++ b/input/input_vddk.ml
|
||||||
|
@@ -58,7 +58,6 @@ All other settings are optional:
|
||||||
|
-io vddk-file=FILE Override nbdkit-vddk-plugin file= parameter
|
||||||
|
-io vddk-libdir=LIBDIR VDDK library parent directory
|
||||||
|
-io vddk-nfchostport=PORT VDDK nfchostport
|
||||||
|
- -io vddk-noextents=true Avoid slow VDDK QueryAllocatedBlocks API
|
||||||
|
-io vddk-port=PORT VDDK port
|
||||||
|
-io vddk-snapshot=SNAPSHOT-MOREF
|
||||||
|
VDDK snapshot moref
|
||||||
|
@@ -79,7 +78,6 @@ information on these settings.
|
||||||
|
"file";
|
||||||
|
"libdir";
|
||||||
|
"nfchostport";
|
||||||
|
- "noextents";
|
||||||
|
"port";
|
||||||
|
"snapshot";
|
||||||
|
"thumbprint";
|
||||||
|
@@ -208,9 +206,6 @@ information on these settings.
|
||||||
|
try Some (List.assoc "libdir" io_options) with Not_found -> None in
|
||||||
|
let nfchostport =
|
||||||
|
try Some (List.assoc "nfchostport" io_options) with Not_found -> None in
|
||||||
|
- let noextents =
|
||||||
|
- try bool_of_string (List.assoc "noextents" io_options)
|
||||||
|
- with Not_found -> false in
|
||||||
|
let port =
|
||||||
|
try Some (List.assoc "port" io_options) with Not_found -> None in
|
||||||
|
let snapshot =
|
||||||
|
@@ -318,36 +313,6 @@ See also the virt-v2v-input-vmware(1) manual.") libNN
|
||||||
|
*)
|
||||||
|
Nbdkit.add_filter_if_available cmd "retry";
|
||||||
|
|
||||||
|
- (* VDDK's QueryAllocatedBlocks API is infamously slow. It appears
|
||||||
|
- * to block all other requests while it is running. This API is
|
||||||
|
- * also only called during the copy phase, not during conversion
|
||||||
|
- * (or if it is, extremely rarely).
|
||||||
|
- *
|
||||||
|
- * If fstrim was successful, then trimmed blocks are stored in
|
||||||
|
- * the COW filter (see below), and so requests for extents stop
|
||||||
|
- * at that layer. However for areas of the disk that fstrim
|
||||||
|
- * thinks contain data, we still have to go through to VDDK to
|
||||||
|
- * fetch extents.
|
||||||
|
- *
|
||||||
|
- * We could therefore add nbdkit-noextents-filter here (below COW,
|
||||||
|
- * above VDDK plugin) which stops extents requests from going
|
||||||
|
- * to VDDK, which would stop QueryAllocatedBlocks ever being
|
||||||
|
- * called. In my testing this is a moderate performance win.
|
||||||
|
- *
|
||||||
|
- * However ... in the case where fstrim failed, or for filesystems
|
||||||
|
- * or partitions on the disk that we don't understand, doing this
|
||||||
|
- * would mean that those are copied completely, as there would be
|
||||||
|
- * no extent data (nbdcopy will still sparsify them on the target,
|
||||||
|
- * but we'd have to copy all the bits from VMware). Because
|
||||||
|
- * here we don't know if this is the case, be conservative and
|
||||||
|
- * actually don't use this filter.
|
||||||
|
- *
|
||||||
|
- * If used, this filter should be close to the plugin and MUST
|
||||||
|
- * be below the COW filter.
|
||||||
|
- *)
|
||||||
|
- if noextents then
|
||||||
|
- Nbdkit.add_filter_if_available cmd "noextents";
|
||||||
|
-
|
||||||
|
(* Split very large requests to avoid out of memory errors on the
|
||||||
|
* server. Since we're using this filter, also add minblock=512
|
||||||
|
* although it will make no difference.
|
114
0002-curl-ssh-vddk-file-Add-nbdkit-count-filter.patch
Normal file
114
0002-curl-ssh-vddk-file-Add-nbdkit-count-filter.patch
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
From df5f8c53e55e08f5468b7606ad499aaf09a34a38 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Wed, 9 Jul 2025 09:48:35 +0100
|
||||||
|
Subject: [PATCH] curl, ssh, vddk, file: Add nbdkit-count-filter
|
||||||
|
|
||||||
|
nbdkit-count-filter, added in nbdkit 1.45.1, prints a debug message
|
||||||
|
which just records the number of bytes read, written, trimmed or
|
||||||
|
zeroed. This is useful for determining how many bytes were actually
|
||||||
|
copied over the wire or written to disk, and that's a common question
|
||||||
|
that we currently have no easy way to answer. For more details about
|
||||||
|
this filter see:
|
||||||
|
https://gitlab.com/nbdkit/nbdkit/-/commit/3512c3ce9308b4d940119ac6cc87f1baa9afb655
|
||||||
|
https://libguestfs.org/nbdkit-count-filter.1.html
|
||||||
|
|
||||||
|
Use this filter (if available) unconditionally for all inputs that
|
||||||
|
read over the network, and for the common file-based outputs
|
||||||
|
(specifically -o kubevirt).
|
||||||
|
|
||||||
|
It is only enabled if we're producing debug output (ie. conversion
|
||||||
|
logs).
|
||||||
|
---
|
||||||
|
README | 1 +
|
||||||
|
input/input_vddk.ml | 7 +++++++
|
||||||
|
input/nbdkit_curl.ml | 7 +++++++
|
||||||
|
input/nbdkit_ssh.ml | 7 +++++++
|
||||||
|
output/output.ml | 2 ++
|
||||||
|
5 files changed, 24 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/README b/README
|
||||||
|
index 1cdbef15..407869b4 100644
|
||||||
|
--- a/README
|
||||||
|
+++ b/README
|
||||||
|
@@ -69,6 +69,7 @@ REQUIREMENTS
|
||||||
|
+ nbdkit-vddk-plugin
|
||||||
|
|
||||||
|
+ nbdkit-blocksize-filter
|
||||||
|
+ + nbdkit-count-filter
|
||||||
|
+ nbdkit-cow-filter
|
||||||
|
+ nbdkit-multi-conn-filter
|
||||||
|
+ nbdkit-rate-filter
|
||||||
|
diff --git a/input/input_vddk.ml b/input/input_vddk.ml
|
||||||
|
index ffc844fb..fc09c532 100644
|
||||||
|
--- a/input/input_vddk.ml
|
||||||
|
+++ b/input/input_vddk.ml
|
||||||
|
@@ -313,6 +313,13 @@ See also the virt-v2v-input-vmware(1) manual.") libNN
|
||||||
|
*)
|
||||||
|
Nbdkit.add_filter_if_available cmd "retry";
|
||||||
|
|
||||||
|
+ (* Add the count filter if available, to report bytes read.
|
||||||
|
+ * Since it writes a debug message, only do this if verbose.
|
||||||
|
+ * This should be close to the plugin so we're reporting what
|
||||||
|
+ * is read over the wire.
|
||||||
|
+ *)
|
||||||
|
+ if verbose () then Nbdkit.add_filter_if_available cmd "count";
|
||||||
|
+
|
||||||
|
(* Split very large requests to avoid out of memory errors on the
|
||||||
|
* server. Since we're using this filter, also add minblock=512
|
||||||
|
* although it will make no difference.
|
||||||
|
diff --git a/input/nbdkit_curl.ml b/input/nbdkit_curl.ml
|
||||||
|
index d8c832b8..f8a0213e 100644
|
||||||
|
--- a/input/nbdkit_curl.ml
|
||||||
|
+++ b/input/nbdkit_curl.ml
|
||||||
|
@@ -58,6 +58,13 @@ let create_curl ?bandwidth ?cookie_script ?cookie_script_renew ?cor
|
||||||
|
*)
|
||||||
|
Nbdkit.add_filter_if_available cmd "retry";
|
||||||
|
|
||||||
|
+ (* Add the count filter if available, to report bytes read.
|
||||||
|
+ * Since it writes a debug message, only do this if verbose.
|
||||||
|
+ * This should be close to the plugin so we're reporting what
|
||||||
|
+ * is read over the wire.
|
||||||
|
+ *)
|
||||||
|
+ if verbose () then Nbdkit.add_filter_if_available cmd "count";
|
||||||
|
+
|
||||||
|
(* IMPORTANT! Add the COW filter. It must be furthest away
|
||||||
|
* except for the rate filter.
|
||||||
|
*)
|
||||||
|
diff --git a/input/nbdkit_ssh.ml b/input/nbdkit_ssh.ml
|
||||||
|
index e6d99ede..4e4c918f 100644
|
||||||
|
--- a/input/nbdkit_ssh.ml
|
||||||
|
+++ b/input/nbdkit_ssh.ml
|
||||||
|
@@ -54,6 +54,13 @@ let create_ssh ?bandwidth ?cor ?(retry=true)
|
||||||
|
if retry then
|
||||||
|
Nbdkit.add_filter_if_available cmd "retry";
|
||||||
|
|
||||||
|
+ (* Add the count filter if available, to report bytes read.
|
||||||
|
+ * Since it writes a debug message, only do this if verbose.
|
||||||
|
+ * This should be close to the plugin so we're reporting what
|
||||||
|
+ * is read over the wire.
|
||||||
|
+ *)
|
||||||
|
+ if verbose () then Nbdkit.add_filter_if_available cmd "count";
|
||||||
|
+
|
||||||
|
(* IMPORTANT! Add the COW filter. It must be furthest away
|
||||||
|
* except for the rate filter.
|
||||||
|
*)
|
||||||
|
diff --git a/output/output.ml b/output/output.ml
|
||||||
|
index b3629372..65325538 100644
|
||||||
|
--- a/output/output.ml
|
||||||
|
+++ b/output/output.ml
|
||||||
|
@@ -98,6 +98,7 @@ let output_to_local_file ?(changeuid = fun f -> f ()) ?(compressed = false)
|
||||||
|
let cmd = Nbdkit.create "file" in
|
||||||
|
Nbdkit.add_arg cmd "file" filename;
|
||||||
|
Nbdkit.add_arg cmd "cache" "none";
|
||||||
|
+ if verbose () then Nbdkit.add_filter_if_available cmd "count";
|
||||||
|
let _, pid = Nbdkit.run_unix socket cmd in
|
||||||
|
pid
|
||||||
|
|
||||||
|
@@ -197,6 +198,7 @@ let create_local_output_disks dir
|
||||||
|
let cmd = Nbdkit.create "file" in
|
||||||
|
Nbdkit.add_arg cmd "dir" output_storage;
|
||||||
|
Nbdkit.add_arg cmd "cache" "none";
|
||||||
|
+ if verbose () then Nbdkit.add_filter_if_available cmd "count";
|
||||||
|
let _, pid = Nbdkit.run_unix socket cmd in
|
||||||
|
On_exit.kill pid;
|
||||||
|
|
@ -0,0 +1,45 @@
|
|||||||
|
From 378967fc4984af4f06c586886a1148aebede8cff Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Tue, 8 Jul 2025 11:11:48 +0100
|
||||||
|
Subject: [PATCH] docs: Move -oo verify-server-certificate docs to alphabetical
|
||||||
|
place
|
||||||
|
|
||||||
|
This option wasn't in alphabetical order.
|
||||||
|
---
|
||||||
|
docs/virt-v2v.pod | 16 ++++++++--------
|
||||||
|
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
|
index 3cfb0948..3eefe404 100644
|
||||||
|
--- a/docs/virt-v2v.pod
|
||||||
|
+++ b/docs/virt-v2v.pod
|
||||||
|
@@ -611,14 +611,6 @@ volume property.
|
||||||
|
When using I<-o qemu> only, this boots the guest immediately after
|
||||||
|
virt-v2v finishes.
|
||||||
|
|
||||||
|
-=item B<-oo verify-server-certificate>
|
||||||
|
-
|
||||||
|
-=item B<-oo verify-server-certificate=>C<true|false>
|
||||||
|
-
|
||||||
|
-For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, this can
|
||||||
|
-be used to disable SSL certification validation when connecting to
|
||||||
|
-OpenStack by specifying I<-oo verify-server-certificate=false>.
|
||||||
|
-
|
||||||
|
=item B<-oo os->*B<=>*
|
||||||
|
|
||||||
|
For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set optional
|
||||||
|
@@ -736,6 +728,14 @@ The OVF format understood by oVirt REST API.
|
||||||
|
For backward compatibility the default is I<ovirtexp>, but this may change in
|
||||||
|
the future.
|
||||||
|
|
||||||
|
+=item B<-oo verify-server-certificate>
|
||||||
|
+
|
||||||
|
+=item B<-oo verify-server-certificate=>C<true|false>
|
||||||
|
+
|
||||||
|
+For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, this can
|
||||||
|
+be used to disable SSL certification validation when connecting to
|
||||||
|
+OpenStack by specifying I<-oo verify-server-certificate=false>.
|
||||||
|
+
|
||||||
|
=item B<-op> file
|
||||||
|
|
||||||
|
Supply a file containing a password to be used when connecting to the
|
233
0004-o-kubevirt-Add-oo-disk-to-allow-disk-names-to-be-ove.patch
Normal file
233
0004-o-kubevirt-Add-oo-disk-to-allow-disk-names-to-be-ove.patch
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
From 0d65b284930045f112542d9eaf6dd488efd98245 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Tue, 8 Jul 2025 10:40:48 +0100
|
||||||
|
Subject: [PATCH] -o kubevirt: Add -oo disk to allow disk names to be
|
||||||
|
overridden
|
||||||
|
|
||||||
|
Fixes: https://issues.redhat.com/browse/RHEL-101599
|
||||||
|
---
|
||||||
|
docs/virt-v2v.pod | 15 +++++++--
|
||||||
|
output/output_kubevirt.ml | 58 ++++++++++++++++++++++++++------
|
||||||
|
tests/Makefile.am | 2 ++
|
||||||
|
tests/test-o-kubevirt-oo-disk.sh | 52 ++++++++++++++++++++++++++++
|
||||||
|
4 files changed, 115 insertions(+), 12 deletions(-)
|
||||||
|
create mode 100755 tests/test-o-kubevirt-oo-disk.sh
|
||||||
|
|
||||||
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
|
index 3eefe404..5020d179 100644
|
||||||
|
--- a/docs/virt-v2v.pod
|
||||||
|
+++ b/docs/virt-v2v.pod
|
||||||
|
@@ -466,8 +466,9 @@ Set the output method to I<kubevirt>. B<Note the way this mode works
|
||||||
|
is experimental and will change in future.>
|
||||||
|
|
||||||
|
In this mode, the converted guest is written to a local directory
|
||||||
|
-specified by I<-os /dir> (the directory must exist). The converted
|
||||||
|
-guest’s disks are written to:
|
||||||
|
+specified by I<-os /dir> (the directory must exist).
|
||||||
|
+
|
||||||
|
+By default the converted guest’s disks are written to:
|
||||||
|
|
||||||
|
/dir/name-sda
|
||||||
|
/dir/name-sdb
|
||||||
|
@@ -479,6 +480,8 @@ and guest metadata is created in the associated YAML file:
|
||||||
|
|
||||||
|
where C<name> is the guest name.
|
||||||
|
|
||||||
|
+You can override the disk paths by using I<-oo disk=...> option(s).
|
||||||
|
+
|
||||||
|
=item B<-o> B<libvirt>
|
||||||
|
|
||||||
|
Set the output method to I<libvirt>. This is the default.
|
||||||
|
@@ -600,6 +603,14 @@ For outputs which support qcow2 format (I<-of qcow2>), this writes a
|
||||||
|
compressed qcow2 file. It is the equivalent to the I<-c> option of
|
||||||
|
L<qemu-img(1)>.
|
||||||
|
|
||||||
|
+=item B<-oo disk=>DISK
|
||||||
|
+
|
||||||
|
+For I<-o kubevirt> this overrides the path to each output disk,
|
||||||
|
+instead of using the default which is C<DISK-sda> etc in the output
|
||||||
|
+storage (I<-os>) path. If you use this option at all, you must repeat
|
||||||
|
+it once for each guest disk. If you don't use it, then the default
|
||||||
|
+method of putting disks in the output storage path is used.
|
||||||
|
+
|
||||||
|
=item B<-oo guest-id=>C<ID>
|
||||||
|
|
||||||
|
For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set a guest ID
|
||||||
|
diff --git a/output/output_kubevirt.ml b/output/output_kubevirt.ml
|
||||||
|
index 76ecd39d..eae9c049 100644
|
||||||
|
--- a/output/output_kubevirt.ml
|
||||||
|
+++ b/output/output_kubevirt.ml
|
||||||
|
@@ -35,7 +35,8 @@ let rfc1123_re =
|
||||||
|
"^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$"
|
||||||
|
|
||||||
|
module Kubevirt = struct
|
||||||
|
- type poptions = bool * output_allocation * string * string * string
|
||||||
|
+ type poptions =
|
||||||
|
+ bool * string list option * output_allocation * string * string * string
|
||||||
|
|
||||||
|
type t = unit
|
||||||
|
|
||||||
|
@@ -49,15 +50,18 @@ module Kubevirt = struct
|
||||||
|
printf (f_"Output options that can be used with -o kubevirt:
|
||||||
|
|
||||||
|
-oo compressed Compress the output file (used only with -of qcow2)
|
||||||
|
+ -oo disk=disk1 Specify filename of output disk (if used, must be
|
||||||
|
+ given once for each disk, else -os path is used)
|
||||||
|
")
|
||||||
|
|
||||||
|
-
|
||||||
|
let parse_options options source =
|
||||||
|
let compressed = ref false in
|
||||||
|
+ let disks = ref [] in
|
||||||
|
List.iter (
|
||||||
|
function
|
||||||
|
| "compressed", "" -> compressed := true
|
||||||
|
| "compressed", v -> compressed := bool_of_string v
|
||||||
|
+ | "disk", v -> List.push_back disks v
|
||||||
|
| k, _ ->
|
||||||
|
error (f_"-o kubevirt: unknown output option ‘-oo %s’") k
|
||||||
|
) options.output_options;
|
||||||
|
@@ -84,23 +88,57 @@ module Kubevirt = struct
|
||||||
|
end with an alphanumeric character. Rerun virt-v2v with \
|
||||||
|
the '-on name' option to rename it.");
|
||||||
|
|
||||||
|
- !compressed, options.output_alloc, options.output_format,
|
||||||
|
+ let disks = match !disks with [] -> None | disks -> Some disks in
|
||||||
|
+
|
||||||
|
+ !compressed, disks,
|
||||||
|
+ options.output_alloc, options.output_format,
|
||||||
|
output_name, output_storage
|
||||||
|
|
||||||
|
let setup dir options source input_disks =
|
||||||
|
- let compressed, output_alloc, output_format, output_name, output_storage =
|
||||||
|
- options in
|
||||||
|
+ let compressed, disks,
|
||||||
|
+ output_alloc, output_format, output_name, output_storage = options in
|
||||||
|
|
||||||
|
let uris =
|
||||||
|
- create_local_output_disks dir ~compressed output_alloc output_format
|
||||||
|
- output_name output_storage input_disks in
|
||||||
|
+ match disks with
|
||||||
|
+ | None ->
|
||||||
|
+ create_local_output_disks dir ~compressed
|
||||||
|
+ output_alloc output_format output_name output_storage input_disks
|
||||||
|
+ | Some disks ->
|
||||||
|
+ (* -oo disk specified, so create the disks by hand. *)
|
||||||
|
+ let nr_input_disks = List.length input_disks
|
||||||
|
+ and nr_output_disks = List.length disks in
|
||||||
|
+ if nr_input_disks <> nr_output_disks then
|
||||||
|
+ error (f_"incorrect number of '-oo disk' parameters. This guest \
|
||||||
|
+ has %d disks, but the parameter was used %d times.")
|
||||||
|
+ nr_input_disks nr_output_disks;
|
||||||
|
+
|
||||||
|
+ let input_sizes = get_disk_sizes input_disks in
|
||||||
|
+ List.mapi (
|
||||||
|
+ fun i (disk, size) ->
|
||||||
|
+ let socket = sprintf "%s/out%d" dir i in
|
||||||
|
+ On_exit.unlink socket;
|
||||||
|
+
|
||||||
|
+ output_to_local_file ~compressed
|
||||||
|
+ output_alloc output_format disk size socket;
|
||||||
|
+
|
||||||
|
+ NBD_URI.Unix (socket, None)
|
||||||
|
+ ) (List.combine disks input_sizes)
|
||||||
|
+ in
|
||||||
|
+
|
||||||
|
(), uris
|
||||||
|
|
||||||
|
let finalize dir options () output_disks source inspect target_meta =
|
||||||
|
- let _, output_alloc, output_format, output_name, output_storage = options in
|
||||||
|
+ let _, disks,
|
||||||
|
+ output_alloc, output_format, output_name, output_storage = options in
|
||||||
|
|
||||||
|
- let doc = create_kubevirt_yaml source inspect target_meta
|
||||||
|
- (disk_path output_storage output_name)
|
||||||
|
+ (* This function will return the disk path for the i'th disk. *)
|
||||||
|
+ let disk_path =
|
||||||
|
+ match disks with
|
||||||
|
+ | None -> Output.disk_path output_storage output_name
|
||||||
|
+ | Some disks -> List.nth disks
|
||||||
|
+ in
|
||||||
|
+
|
||||||
|
+ let doc = create_kubevirt_yaml source inspect target_meta disk_path
|
||||||
|
output_format output_name in
|
||||||
|
|
||||||
|
let file = output_storage // output_name ^ ".yaml" in
|
||||||
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
|
index 62237092..3a8bab3c 100644
|
||||||
|
--- a/tests/Makefile.am
|
||||||
|
+++ b/tests/Makefile.am
|
||||||
|
@@ -95,6 +95,7 @@ TESTS = \
|
||||||
|
test-networks-and-bridges.sh \
|
||||||
|
test-o-glance.sh \
|
||||||
|
test-o-kubevirt-fedora.sh \
|
||||||
|
+ test-o-kubevirt-oo-disk.sh \
|
||||||
|
test-o-kubevirt-windows.sh \
|
||||||
|
test-o-libvirt.sh \
|
||||||
|
test-o-local-qcow2-compressed.sh \
|
||||||
|
@@ -288,6 +289,7 @@ EXTRA_DIST += \
|
||||||
|
test-o-glance.sh \
|
||||||
|
test-o-kubevirt-fedora.sh \
|
||||||
|
test-o-kubevirt-fedora.yaml.expected \
|
||||||
|
+ test-o-kubevirt-oo-disk.sh \
|
||||||
|
test-o-kubevirt-windows.sh \
|
||||||
|
test-o-kubevirt-windows.yaml.expected \
|
||||||
|
test-o-libvirt.sh \
|
||||||
|
diff --git a/tests/test-o-kubevirt-oo-disk.sh b/tests/test-o-kubevirt-oo-disk.sh
|
||||||
|
new file mode 100755
|
||||||
|
index 00000000..e1e6fd61
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/test-o-kubevirt-oo-disk.sh
|
||||||
|
@@ -0,0 +1,52 @@
|
||||||
|
+#!/bin/bash -
|
||||||
|
+# libguestfs virt-v2v test script
|
||||||
|
+# Copyright (C) 2018-2025 Red Hat Inc.
|
||||||
|
+#
|
||||||
|
+# This program is free software; you can redistribute it and/or modify
|
||||||
|
+# it under the terms of the GNU General Public License as published by
|
||||||
|
+# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+#
|
||||||
|
+# This program is distributed in the hope that it will be useful,
|
||||||
|
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+# GNU General Public License for more details.
|
||||||
|
+#
|
||||||
|
+# You should have received a copy of the GNU General Public License
|
||||||
|
+# along with this program; if not, write to the Free Software
|
||||||
|
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
+
|
||||||
|
+# Test -o kubevirt + -oo disk option.
|
||||||
|
+
|
||||||
|
+set -e
|
||||||
|
+set -x
|
||||||
|
+
|
||||||
|
+source ./functions.sh
|
||||||
|
+set -e
|
||||||
|
+set -x
|
||||||
|
+
|
||||||
|
+skip_if_skipped
|
||||||
|
+requires test -f ../test-data/phony-guests/fedora.img
|
||||||
|
+
|
||||||
|
+libvirt_uri="test://$abs_top_builddir/test-data/phony-guests/guests.xml"
|
||||||
|
+fedora=../test-data/phony-guests/fedora.img
|
||||||
|
+
|
||||||
|
+d=test-o-kubevirt-oo-disk.d
|
||||||
|
+rm -rf $d
|
||||||
|
+cleanup_fn rm -r $d
|
||||||
|
+mkdir $d
|
||||||
|
+
|
||||||
|
+# Run virt-v2v -o kubevirt.
|
||||||
|
+$VG virt-v2v --debug-gc \
|
||||||
|
+ -i libvirt -ic "$libvirt_uri" fedora \
|
||||||
|
+ -o kubevirt -oo disk=$d/disk.img -os $d
|
||||||
|
+
|
||||||
|
+ls -l $d
|
||||||
|
+
|
||||||
|
+cat $d/fedora.yaml
|
||||||
|
+
|
||||||
|
+# Check the disk was created.
|
||||||
|
+test -f $d/disk.img
|
||||||
|
+
|
||||||
|
+# Check the default path was _not_ created.
|
||||||
|
+! test -f $d/fedora-sda
|
141
0005-output-Add-optional-create-parameter.patch
Normal file
141
0005-output-Add-optional-create-parameter.patch
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
From fb5722adb2b9336183c866295362b94abf07eb2f Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Tue, 8 Jul 2025 11:08:08 +0100
|
||||||
|
Subject: [PATCH] output: Add optional ?create parameter
|
||||||
|
|
||||||
|
This parameter of Output.create_local_output_disks and
|
||||||
|
Output.output_to_local_file allows the default creation of disks to be
|
||||||
|
skipped. It defaults to true (ie. create them) which is the normal
|
||||||
|
behaviour.
|
||||||
|
|
||||||
|
This allows output modes to implement the '-oo create=false' option,
|
||||||
|
although none do so far.
|
||||||
|
---
|
||||||
|
output/output.ml | 61 ++++++++++++++++++++++++++---------------------
|
||||||
|
output/output.mli | 5 +++-
|
||||||
|
2 files changed, 38 insertions(+), 28 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/output/output.ml b/output/output.ml
|
||||||
|
index 65325538..15cb50db 100644
|
||||||
|
--- a/output/output.ml
|
||||||
|
+++ b/output/output.ml
|
||||||
|
@@ -66,7 +66,9 @@ let error_if_disk_count_gt input_disks n =
|
||||||
|
|
||||||
|
type on_exit_kill = Kill | KillAndWait
|
||||||
|
|
||||||
|
-let output_to_local_file ?(changeuid = fun f -> f ()) ?(compressed = false)
|
||||||
|
+let output_to_local_file ?(changeuid = fun f -> f ())
|
||||||
|
+ ?(compressed = false)
|
||||||
|
+ ?(create = true)
|
||||||
|
?(on_exit_kill = Kill)
|
||||||
|
output_alloc output_format filename size socket =
|
||||||
|
(* Check nbdkit is installed and has the required plugin. *)
|
||||||
|
@@ -83,13 +85,15 @@ let output_to_local_file ?(changeuid = fun f -> f ()) ?(compressed = false)
|
||||||
|
is a local qcow2-format file, i.e. ‘-of qcow2’")
|
||||||
|
);
|
||||||
|
|
||||||
|
- let g = open_guestfs () in
|
||||||
|
- let preallocation =
|
||||||
|
- match output_alloc with
|
||||||
|
- | Preallocated -> Some "full"
|
||||||
|
- | Sparse -> None in
|
||||||
|
- changeuid (
|
||||||
|
- fun () -> g#disk_create ?preallocation filename output_format size
|
||||||
|
+ if create then (
|
||||||
|
+ let g = open_guestfs () in
|
||||||
|
+ let preallocation =
|
||||||
|
+ match output_alloc with
|
||||||
|
+ | Preallocated -> Some "full"
|
||||||
|
+ | Sparse -> None in
|
||||||
|
+ changeuid (
|
||||||
|
+ fun () -> g#disk_create ?preallocation filename output_format size
|
||||||
|
+ )
|
||||||
|
);
|
||||||
|
|
||||||
|
let pid =
|
||||||
|
@@ -151,6 +155,7 @@ let disk_path os name i =
|
||||||
|
|
||||||
|
let create_local_output_disks dir
|
||||||
|
?(compressed = false)
|
||||||
|
+ ?(create = true)
|
||||||
|
output_alloc output_format output_name output_storage
|
||||||
|
input_disks =
|
||||||
|
let input_sizes = get_disk_sizes input_disks in
|
||||||
|
@@ -171,25 +176,27 @@ let create_local_output_disks dir
|
||||||
|
error (f_"nbdkit-file-plugin is not installed or not working");
|
||||||
|
|
||||||
|
(* We still have to create the output disks. *)
|
||||||
|
- let g = open_guestfs () in
|
||||||
|
- let preallocation =
|
||||||
|
- match output_alloc with
|
||||||
|
- | Preallocated -> Some "full"
|
||||||
|
- | Sparse -> None in
|
||||||
|
- List.iter (
|
||||||
|
- fun (size, filename) ->
|
||||||
|
- g#disk_create ?preallocation filename output_format size;
|
||||||
|
+ if create then (
|
||||||
|
+ let g = open_guestfs () in
|
||||||
|
+ let preallocation =
|
||||||
|
+ match output_alloc with
|
||||||
|
+ | Preallocated -> Some "full"
|
||||||
|
+ | Sparse -> None in
|
||||||
|
+ List.iter (
|
||||||
|
+ fun (size, filename) ->
|
||||||
|
+ g#disk_create ?preallocation filename output_format size;
|
||||||
|
|
||||||
|
- (* We've had issues with there not being enough space to write
|
||||||
|
- * the disk image. Run df on the output filename. df follows
|
||||||
|
- * symlinks and reports the space on the filesystem. But don't
|
||||||
|
- * fail here if df cannot be run.
|
||||||
|
- *)
|
||||||
|
- if verbose () then (
|
||||||
|
- let cmd = sprintf "df %s 1>&2" (quote filename) in
|
||||||
|
- ignore (Sys.command cmd)
|
||||||
|
- )
|
||||||
|
- ) (List.combine input_sizes output_disk_names);
|
||||||
|
+ (* We've had issues with there not being enough space to write
|
||||||
|
+ * the disk image. Run df on the output filename. df follows
|
||||||
|
+ * symlinks and reports the space on the filesystem. But don't
|
||||||
|
+ * fail here if df cannot be run.
|
||||||
|
+ *)
|
||||||
|
+ if verbose () then (
|
||||||
|
+ let cmd = sprintf "df %s 1>&2" (quote filename) in
|
||||||
|
+ ignore (Sys.command cmd)
|
||||||
|
+ )
|
||||||
|
+ ) (List.combine input_sizes output_disk_names)
|
||||||
|
+ );
|
||||||
|
|
||||||
|
let socket = sprintf "%s/out0" dir in
|
||||||
|
On_exit.unlink socket;
|
||||||
|
@@ -220,7 +227,7 @@ let create_local_output_disks dir
|
||||||
|
On_exit.unlink socket;
|
||||||
|
|
||||||
|
(* Create the actual output disk. *)
|
||||||
|
- output_to_local_file ~compressed output_alloc output_format
|
||||||
|
+ output_to_local_file ~compressed ~create output_alloc output_format
|
||||||
|
outdisk size socket;
|
||||||
|
|
||||||
|
NBD_URI.Unix (socket, None)
|
||||||
|
diff --git a/output/output.mli b/output/output.mli
|
||||||
|
index 51bdde06..63a1c3f6 100644
|
||||||
|
--- a/output/output.mli
|
||||||
|
+++ b/output/output.mli
|
||||||
|
@@ -84,6 +84,7 @@ val error_if_disk_count_gt : NBD_URI.t list -> int -> unit
|
||||||
|
|
||||||
|
val create_local_output_disks : string ->
|
||||||
|
?compressed:bool ->
|
||||||
|
+ ?create:bool ->
|
||||||
|
Types.output_allocation ->
|
||||||
|
string -> string -> string ->
|
||||||
|
NBD_URI.t list ->
|
||||||
|
@@ -98,7 +99,9 @@ val create_local_output_disks : string ->
|
||||||
|
type on_exit_kill = Kill | KillAndWait
|
||||||
|
|
||||||
|
val output_to_local_file : ?changeuid:((unit -> unit) -> unit) ->
|
||||||
|
- ?compressed:bool -> ?on_exit_kill:on_exit_kill ->
|
||||||
|
+ ?compressed:bool ->
|
||||||
|
+ ?create:bool ->
|
||||||
|
+ ?on_exit_kill:on_exit_kill ->
|
||||||
|
Types.output_allocation ->
|
||||||
|
string -> string -> int64 -> string ->
|
||||||
|
unit
|
119
0006-o-kubevirt-Add-oo-create-false-to-avoid-disk-creatio.patch
Normal file
119
0006-o-kubevirt-Add-oo-create-false-to-avoid-disk-creatio.patch
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
From 667a69fb8ddd7d27388a1b31af022158c533c0bb Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Tue, 8 Jul 2025 11:15:56 +0100
|
||||||
|
Subject: [PATCH] -o kubevirt: Add -oo create=false to avoid disk creation
|
||||||
|
|
||||||
|
Indicate that an external process will create the disks, so normal
|
||||||
|
creation of disks by virt-v2v should be skipped.
|
||||||
|
|
||||||
|
Testing
|
||||||
|
-------
|
||||||
|
|
||||||
|
I couldn't think of a way to add a test this since g#disk_create
|
||||||
|
(implemented in libguestfs.git:lib/create.c) will open(O_TRUNC) +
|
||||||
|
truncate(2) the existing disk, so the inode will remain the same.
|
||||||
|
Instead I tested it by hand by not creating the disk and observing the
|
||||||
|
error from nbdkit:
|
||||||
|
|
||||||
|
nbdkit: error: realpath: /var/tmp/disk.img: No such file or directory
|
||||||
|
virt-v2v: error: nbdkit did not start up. There may be errors printed by
|
||||||
|
nbdkit above.
|
||||||
|
|
||||||
|
Fixes: https://issues.redhat.com/browse/RHEL-101599
|
||||||
|
---
|
||||||
|
docs/virt-v2v.pod | 5 +++++
|
||||||
|
output/output_kubevirt.ml | 17 +++++++++++------
|
||||||
|
2 files changed, 16 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
|
index 5020d179..e228fb33 100644
|
||||||
|
--- a/docs/virt-v2v.pod
|
||||||
|
+++ b/docs/virt-v2v.pod
|
||||||
|
@@ -603,6 +603,11 @@ For outputs which support qcow2 format (I<-of qcow2>), this writes a
|
||||||
|
compressed qcow2 file. It is the equivalent to the I<-c> option of
|
||||||
|
L<qemu-img(1)>.
|
||||||
|
|
||||||
|
+=item B<-oo create=false>
|
||||||
|
+
|
||||||
|
+For I<-o kubevirt>, indicate that another management process will
|
||||||
|
+create the output disks, so do not (re-)create them in virt-v2v.
|
||||||
|
+
|
||||||
|
=item B<-oo disk=>DISK
|
||||||
|
|
||||||
|
For I<-o kubevirt> this overrides the path to each output disk,
|
||||||
|
diff --git a/output/output_kubevirt.ml b/output/output_kubevirt.ml
|
||||||
|
index eae9c049..8a5ab56d 100644
|
||||||
|
--- a/output/output_kubevirt.ml
|
||||||
|
+++ b/output/output_kubevirt.ml
|
||||||
|
@@ -36,7 +36,8 @@ let rfc1123_re =
|
||||||
|
|
||||||
|
module Kubevirt = struct
|
||||||
|
type poptions =
|
||||||
|
- bool * string list option * output_allocation * string * string * string
|
||||||
|
+ bool * bool * string list option *
|
||||||
|
+ output_allocation * string * string * string
|
||||||
|
|
||||||
|
type t = unit
|
||||||
|
|
||||||
|
@@ -50,17 +51,21 @@ module Kubevirt = struct
|
||||||
|
printf (f_"Output options that can be used with -o kubevirt:
|
||||||
|
|
||||||
|
-oo compressed Compress the output file (used only with -of qcow2)
|
||||||
|
+ -oo create=false Do not create the output disks
|
||||||
|
-oo disk=disk1 Specify filename of output disk (if used, must be
|
||||||
|
given once for each disk, else -os path is used)
|
||||||
|
")
|
||||||
|
|
||||||
|
let parse_options options source =
|
||||||
|
let compressed = ref false in
|
||||||
|
+ let create = ref true in
|
||||||
|
let disks = ref [] in
|
||||||
|
List.iter (
|
||||||
|
function
|
||||||
|
| "compressed", "" -> compressed := true
|
||||||
|
| "compressed", v -> compressed := bool_of_string v
|
||||||
|
+ | "create", "" -> create := true
|
||||||
|
+ | "create", v -> create := bool_of_string v
|
||||||
|
| "disk", v -> List.push_back disks v
|
||||||
|
| k, _ ->
|
||||||
|
error (f_"-o kubevirt: unknown output option ‘-oo %s’") k
|
||||||
|
@@ -90,18 +95,18 @@ module Kubevirt = struct
|
||||||
|
|
||||||
|
let disks = match !disks with [] -> None | disks -> Some disks in
|
||||||
|
|
||||||
|
- !compressed, disks,
|
||||||
|
+ !compressed, !create, disks,
|
||||||
|
options.output_alloc, options.output_format,
|
||||||
|
output_name, output_storage
|
||||||
|
|
||||||
|
let setup dir options source input_disks =
|
||||||
|
- let compressed, disks,
|
||||||
|
+ let compressed, create, disks,
|
||||||
|
output_alloc, output_format, output_name, output_storage = options in
|
||||||
|
|
||||||
|
let uris =
|
||||||
|
match disks with
|
||||||
|
| None ->
|
||||||
|
- create_local_output_disks dir ~compressed
|
||||||
|
+ create_local_output_disks dir ~compressed ~create
|
||||||
|
output_alloc output_format output_name output_storage input_disks
|
||||||
|
| Some disks ->
|
||||||
|
(* -oo disk specified, so create the disks by hand. *)
|
||||||
|
@@ -118,7 +123,7 @@ module Kubevirt = struct
|
||||||
|
let socket = sprintf "%s/out%d" dir i in
|
||||||
|
On_exit.unlink socket;
|
||||||
|
|
||||||
|
- output_to_local_file ~compressed
|
||||||
|
+ output_to_local_file ~compressed ~create
|
||||||
|
output_alloc output_format disk size socket;
|
||||||
|
|
||||||
|
NBD_URI.Unix (socket, None)
|
||||||
|
@@ -128,7 +133,7 @@ module Kubevirt = struct
|
||||||
|
(), uris
|
||||||
|
|
||||||
|
let finalize dir options () output_disks source inspect target_meta =
|
||||||
|
- let _, disks,
|
||||||
|
+ let _, _, disks,
|
||||||
|
output_alloc, output_format, output_name, output_storage = options in
|
||||||
|
|
||||||
|
(* This function will return the disk path for the i'th disk. *)
|
@ -1,4 +1,4 @@
|
|||||||
From 42d326e84452862518293f435df4e1db1f3b5696 Mon Sep 17 00:00:00 2001
|
From 9936298e0fcfd8dd7e59e9546bda6d9c6f0f250d Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Sun, 30 Aug 2015 03:21:57 -0400
|
Date: Sun, 30 Aug 2015 03:21:57 -0400
|
||||||
Subject: [PATCH] RHEL: Fixes for libguestfs-winsupport.
|
Subject: [PATCH] RHEL: Fixes for libguestfs-winsupport.
|
@ -1,4 +1,4 @@
|
|||||||
From 0edaf8c3992e6243c5c7ecf152c78fa3b2b47201 Mon Sep 17 00:00:00 2001
|
From 584811b0cd9b42ab239ba6e4f39a366faf54bbbc Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Sun, 28 Sep 2014 19:14:43 +0100
|
Date: Sun, 28 Sep 2014 19:14:43 +0100
|
||||||
Subject: [PATCH] RHEL: v2v: Select correct qemu binary for -o qemu mode
|
Subject: [PATCH] RHEL: v2v: Select correct qemu binary for -o qemu mode
|
@ -1,4 +1,4 @@
|
|||||||
From d16c02df196557e526a0a099d382afce84a843d5 Mon Sep 17 00:00:00 2001
|
From 6d1f3fcb6c5aa2a8805604def4c6a07d7b2db4f3 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 30 Sep 2014 10:50:27 +0100
|
Date: Tue, 30 Sep 2014 10:50:27 +0100
|
||||||
Subject: [PATCH] RHEL: v2v: Disable the --qemu-boot / -oo qemu-boot option
|
Subject: [PATCH] RHEL: v2v: Disable the --qemu-boot / -oo qemu-boot option
|
||||||
@ -43,7 +43,7 @@ index 49f00754..bdf12c5d 100644
|
|||||||
=item B<-o null>
|
=item B<-o null>
|
||||||
|
|
||||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
index 3cfb0948..600de391 100644
|
index e228fb33..35886561 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -160,11 +160,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
|
@@ -160,11 +160,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
|
||||||
@ -58,7 +58,7 @@ index 3cfb0948..600de391 100644
|
|||||||
=head1 OPTIONS
|
=head1 OPTIONS
|
||||||
|
|
||||||
=over 4
|
=over 4
|
||||||
@@ -546,9 +541,6 @@ This is similar to I<-o local>, except that a shell script is written
|
@@ -549,9 +544,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
|
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>.
|
shell script are written to the directory specified by I<-os>.
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ index 3cfb0948..600de391 100644
|
|||||||
=item B<-o> B<vdsm>
|
=item B<-o> B<vdsm>
|
||||||
|
|
||||||
Set the output method to I<vdsm>.
|
Set the output method to I<vdsm>.
|
||||||
@@ -606,11 +598,6 @@ For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set a guest ID
|
@@ -622,11 +614,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>
|
which is saved on each Cinder volume in the C<virt_v2v_guest_id>
|
||||||
volume property.
|
volume property.
|
||||||
|
|
||||||
@ -77,9 +77,9 @@ index 3cfb0948..600de391 100644
|
|||||||
-When using I<-o qemu> only, this boots the guest immediately after
|
-When using I<-o qemu> only, this boots the guest immediately after
|
||||||
-virt-v2v finishes.
|
-virt-v2v finishes.
|
||||||
-
|
-
|
||||||
=item B<-oo verify-server-certificate>
|
=item B<-oo os->*B<=>*
|
||||||
|
|
||||||
=item B<-oo verify-server-certificate=>C<true|false>
|
For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set optional
|
||||||
diff --git a/output/output_qemu.ml b/output/output_qemu.ml
|
diff --git a/output/output_qemu.ml b/output/output_qemu.ml
|
||||||
index 909b6e10..37371aad 100644
|
index 909b6e10..37371aad 100644
|
||||||
--- a/output/output_qemu.ml
|
--- a/output/output_qemu.ml
|
@ -1,4 +1,4 @@
|
|||||||
From 99614f4fb8d044b9a850d8e7934524b4e7450473 Mon Sep 17 00:00:00 2001
|
From 92630606fcd96402742b56f7ba51c50828cff4b3 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Fri, 24 Apr 2015 09:45:41 -0400
|
Date: Fri, 24 Apr 2015 09:45:41 -0400
|
||||||
Subject: [PATCH] RHEL: Fix list of supported sound cards to match RHEL qemu
|
Subject: [PATCH] RHEL: Fix list of supported sound cards to match RHEL qemu
|
@ -1,4 +1,4 @@
|
|||||||
From 67e67669418624469b001328dddd10337b9bfa95 Mon Sep 17 00:00:00 2001
|
From c81f440ff00ca0dfafccbfad46b9d8707d96c7f9 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Thu, 2 Mar 2017 14:21:37 +0100
|
Date: Thu, 2 Mar 2017 14:21:37 +0100
|
||||||
Subject: [PATCH] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671)
|
Subject: [PATCH] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671)
|
@ -1,4 +1,4 @@
|
|||||||
From aa3915841987509eda99faf2548cc3ee429d825b Mon Sep 17 00:00:00 2001
|
From c97ccc32ceb443f01950f2d8745413deb6848afa Mon Sep 17 00:00:00 2001
|
||||||
From: Pino Toscano <ptoscano@redhat.com>
|
From: Pino Toscano <ptoscano@redhat.com>
|
||||||
Date: Tue, 26 Mar 2019 09:42:25 +0100
|
Date: Tue, 26 Mar 2019 09:42:25 +0100
|
||||||
Subject: [PATCH] RHEL: point to KB for supported v2v hypervisors/guests
|
Subject: [PATCH] RHEL: point to KB for supported v2v hypervisors/guests
|
@ -1,4 +1,4 @@
|
|||||||
From 35c4a9f5c9f92fe15055ec337a94ad9f743706d6 Mon Sep 17 00:00:00 2001
|
From fe169b7a7647d3dbf723ce07f5da37f697677e06 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 8 Jul 2024 09:35:54 +0100
|
Date: Mon, 8 Jul 2024 09:35:54 +0100
|
||||||
Subject: [PATCH] RHEL: Remove input from Xen
|
Subject: [PATCH] RHEL: Remove input from Xen
|
||||||
@ -229,7 +229,7 @@ index 0417e89f..00000000
|
|||||||
-
|
-
|
||||||
-Copyright (C) 2009-2025 Red Hat Inc.
|
-Copyright (C) 2009-2025 Red Hat Inc.
|
||||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
index 600de391..fd4362fc 100644
|
index 35886561..8e31fd0b 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -12,7 +12,7 @@ virt-v2v - Convert a guest to use KVM
|
@@ -12,7 +12,7 @@ virt-v2v - Convert a guest to use KVM
|
||||||
@ -277,7 +277,7 @@ index 600de391..fd4362fc 100644
|
|||||||
|
|
||||||
=item B<-if> format
|
=item B<-if> format
|
||||||
|
|
||||||
@@ -867,7 +859,7 @@ bandwidth. Virt-v2v should be able to copy guest data at gigabit
|
@@ -883,7 +875,7 @@ bandwidth. Virt-v2v should be able to copy guest data at gigabit
|
||||||
ethernet speeds or greater.
|
ethernet speeds or greater.
|
||||||
|
|
||||||
Ensure that the network connections between servers (conversion
|
Ensure that the network connections between servers (conversion
|
||||||
@ -286,7 +286,7 @@ index 600de391..fd4362fc 100644
|
|||||||
possible.
|
possible.
|
||||||
|
|
||||||
=head2 Disk space
|
=head2 Disk space
|
||||||
@@ -1166,38 +1158,6 @@ changes to the Windows Registry and filesystem.
|
@@ -1182,38 +1174,6 @@ changes to the Windows Registry and filesystem.
|
||||||
|
|
||||||
=head1 NOTES
|
=head1 NOTES
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From f246ed3ee4928d45f778d3d9ed25bccbf6f8c13c Mon Sep 17 00:00:00 2001
|
From 72a651dfa3de1dfff58b7454860cf872d0baedd3 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Wed, 30 Jun 2021 11:15:52 +0100
|
Date: Wed, 30 Jun 2021 11:15:52 +0100
|
||||||
Subject: [PATCH] RHEL: Remove -o glance
|
Subject: [PATCH] RHEL: Remove -o glance
|
||||||
@ -100,7 +100,7 @@ index 9bef76ea..04595816 100644
|
|||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
index fd4362fc..3cedc823 100644
|
index 8e31fd0b..fde60a8c 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -439,14 +439,6 @@ See L</Networks and bridges> below.
|
@@ -439,14 +439,6 @@ See L</Networks and bridges> below.
|
||||||
@ -118,7 +118,7 @@ index fd4362fc..3cedc823 100644
|
|||||||
=item B<-o> B<kubevirt>
|
=item B<-o> B<kubevirt>
|
||||||
|
|
||||||
Set the output method to I<kubevirt>. B<Note the way this mode works
|
Set the output method to I<kubevirt>. B<Note the way this mode works
|
||||||
@@ -881,11 +873,6 @@ and output methods may use disk space, as outlined in the table below.
|
@@ -897,11 +889,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
|
This temporarily places a full copy of the uncompressed source disks
|
||||||
in C<$VIRT_V2V_TMPDIR> (or F</var/tmp>).
|
in C<$VIRT_V2V_TMPDIR> (or F</var/tmp>).
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ index fd4362fc..3cedc823 100644
|
|||||||
=item I<-o local>
|
=item I<-o local>
|
||||||
|
|
||||||
=item I<-o qemu>
|
=item I<-o qemu>
|
||||||
@@ -1037,13 +1024,6 @@ See also L</Starting the libvirt system instance>.
|
@@ -1053,13 +1040,6 @@ See also L</Starting the libvirt system instance>.
|
||||||
Because of how Cinder volumes are presented as F</dev> block devices,
|
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.
|
using I<-o openstack> normally requires that virt-v2v is run as root.
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 3e6fd182fb537a6a057b119a15b4dcf04ce3aacd Mon Sep 17 00:00:00 2001
|
From 26291b59b8735fc1efc8be282067bd1c18d747f3 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 5 Jul 2022 11:58:09 +0100
|
Date: Tue, 5 Jul 2022 11:58:09 +0100
|
||||||
Subject: [PATCH] RHEL: tests: Remove btrfs test
|
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(-)
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
index 62237092..51d84bc9 100644
|
index 3a8bab3c..f9c748ed 100644
|
||||||
--- a/tests/Makefile.am
|
--- a/tests/Makefile.am
|
||||||
+++ b/tests/Makefile.am
|
+++ b/tests/Makefile.am
|
||||||
@@ -64,7 +64,6 @@ TESTS = \
|
@@ -64,7 +64,6 @@ TESTS = \
|
@ -1,4 +1,4 @@
|
|||||||
From c7c4c87c7cade4f79048e4fd7e03f548e8d5e4ca Mon Sep 17 00:00:00 2001
|
From f26534ee1cfec5fe3d02e437d8340cf11dd48b54 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Fri, 28 Apr 2023 12:28:19 +0100
|
Date: Fri, 28 Apr 2023 12:28:19 +0100
|
||||||
Subject: [PATCH] RHEL: Remove --block-driver option
|
Subject: [PATCH] RHEL: Remove --block-driver option
|
||||||
@ -37,7 +37,7 @@ index 6c02a99c..3d0d1b28 100644
|
|||||||
|
|
||||||
=item B<--colours>
|
=item B<--colours>
|
||||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
index 3cedc823..f0a2f231 100644
|
index fde60a8c..0e68de10 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -212,16 +212,6 @@ The options are silently ignored for other input methods.
|
@@ -212,16 +212,6 @@ The options are silently ignored for other input methods.
|
||||||
@ -101,7 +101,7 @@ index 604a662d..a91ee39d 100644
|
|||||||
ks = opthandle.ks;
|
ks = opthandle.ks;
|
||||||
network_map;
|
network_map;
|
||||||
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
index 51d84bc9..f64316fd 100644
|
index f9c748ed..c0aa8498 100644
|
||||||
--- a/tests/Makefile.am
|
--- a/tests/Makefile.am
|
||||||
+++ b/tests/Makefile.am
|
+++ b/tests/Makefile.am
|
||||||
@@ -57,7 +57,6 @@ TESTS_ENVIRONMENT = $(top_builddir)/run --test
|
@@ -57,7 +57,6 @@ TESTS_ENVIRONMENT = $(top_builddir)/run --test
|
@ -1,4 +1,4 @@
|
|||||||
From eee5f0c29ee2b06b721e1ccfe0f85fb7193825f3 Mon Sep 17 00:00:00 2001
|
From fe727ba294110fe49244760176751d605288e246 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Mon, 8 Jul 2024 09:56:54 +0100
|
Date: Mon, 8 Jul 2024 09:56:54 +0100
|
||||||
Subject: [PATCH] RHEL: Remove -o ovirt, -o ovirt-upload and -o vdsm modes
|
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.
|
-Copyright (C) 2009-2025 Red Hat Inc.
|
||||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||||||
index f0a2f231..19ec1619 100644
|
index 0e68de10..b63da9f3 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -14,9 +14,9 @@ virt-v2v - Convert a guest to use KVM
|
@@ -14,9 +14,9 @@ virt-v2v - Convert a guest to use KVM
|
||||||
@ -407,7 +407,7 @@ index f0a2f231..19ec1619 100644
|
|||||||
=head2 Convert from ESXi hypervisor over SSH to local libvirt
|
=head2 Convert from ESXi hypervisor over SSH to local libvirt
|
||||||
|
|
||||||
You have an ESXi hypervisor called C<esxi.example.com> with SSH access
|
You have an ESXi hypervisor called C<esxi.example.com> with SSH access
|
||||||
@@ -487,26 +470,6 @@ no metadata is written.
|
@@ -490,26 +473,6 @@ no metadata is written.
|
||||||
|
|
||||||
Set the output method to OpenStack. See L<virt-v2v-output-openstack(1)>.
|
Set the output method to OpenStack. See L<virt-v2v-output-openstack(1)>.
|
||||||
|
|
||||||
@ -434,7 +434,7 @@ index f0a2f231..19ec1619 100644
|
|||||||
=item B<-o> B<qemu>
|
=item B<-o> B<qemu>
|
||||||
|
|
||||||
Set the output method to I<qemu>.
|
Set the output method to I<qemu>.
|
||||||
@@ -515,15 +478,6 @@ This is similar to I<-o local>, except that a shell script is written
|
@@ -518,15 +481,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
|
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>.
|
shell script are written to the directory specified by I<-os>.
|
||||||
|
|
||||||
@ -450,7 +450,7 @@ index f0a2f231..19ec1619 100644
|
|||||||
=item B<-oa> B<sparse>
|
=item B<-oa> B<sparse>
|
||||||
|
|
||||||
=item B<-oa> B<preallocated>
|
=item B<-oa> B<preallocated>
|
||||||
@@ -586,117 +540,11 @@ For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set optional
|
@@ -594,117 +548,11 @@ For I<-o openstack> (L<virt-v2v-output-openstack(1)>) only, set optional
|
||||||
OpenStack authentication. For example I<-oo os-username=>NAME is
|
OpenStack authentication. For example I<-oo os-username=>NAME is
|
||||||
equivalent to C<openstack --os-username=NAME>.
|
equivalent to C<openstack --os-username=NAME>.
|
||||||
|
|
||||||
@ -565,10 +565,10 @@ index f0a2f231..19ec1619 100644
|
|||||||
-For backward compatibility the default is I<ovirtexp>, but this may change in
|
-For backward compatibility the default is I<ovirtexp>, but this may change in
|
||||||
-the future.
|
-the future.
|
||||||
-
|
-
|
||||||
=item B<-op> file
|
=item B<-oo verify-server-certificate>
|
||||||
|
|
||||||
Supply a file containing a password to be used when connecting to the
|
=item B<-oo verify-server-certificate=>C<true|false>
|
||||||
@@ -714,28 +562,6 @@ For I<-o libvirt>, this is a libvirt directory pool
|
@@ -730,28 +578,6 @@ For I<-o libvirt>, this is a libvirt directory pool
|
||||||
For I<-o local> and I<-o qemu>, this is a directory name.
|
For I<-o local> and I<-o qemu>, this is a directory name.
|
||||||
The directory must exist.
|
The directory must exist.
|
||||||
|
|
||||||
@ -597,7 +597,7 @@ index f0a2f231..19ec1619 100644
|
|||||||
=item B<--parallel> N
|
=item B<--parallel> N
|
||||||
|
|
||||||
Enable parallel copying if the guest has multiple disks. I<N> is the
|
Enable parallel copying if the guest has multiple disks. I<N> is the
|
||||||
@@ -975,26 +801,6 @@ require either root or a special user:
|
@@ -991,26 +817,6 @@ require either root or a special user:
|
||||||
|
|
||||||
=over 4
|
=over 4
|
||||||
|
|
||||||
@ -624,7 +624,7 @@ index f0a2f231..19ec1619 100644
|
|||||||
=item Writing to libvirt
|
=item Writing to libvirt
|
||||||
|
|
||||||
When using I<-o libvirt>, you may need to run virt-v2v as root so that
|
When using I<-o libvirt>, you may need to run virt-v2v as root so that
|
||||||
@@ -1541,7 +1347,6 @@ virt-v2v binary. Typical output looks like this:
|
@@ -1557,7 +1363,6 @@ virt-v2v binary. Typical output looks like this:
|
||||||
virt-v2v
|
virt-v2v
|
||||||
libguestfs-rewrite
|
libguestfs-rewrite
|
||||||
colours-option
|
colours-option
|
||||||
@ -3616,10 +3616,10 @@ index 093c9b9a..1f8259e3 100644
|
|||||||
|
|
||||||
val output_modes : output_mode list
|
val output_modes : output_mode list
|
||||||
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
||||||
index f64316fd..58dc74b8 100644
|
index c0aa8498..df221b73 100644
|
||||||
--- a/tests/Makefile.am
|
--- a/tests/Makefile.am
|
||||||
+++ b/tests/Makefile.am
|
+++ b/tests/Makefile.am
|
||||||
@@ -98,12 +98,7 @@ TESTS = \
|
@@ -99,12 +99,7 @@ TESTS = \
|
||||||
test-o-local-qcow2-compressed.sh \
|
test-o-local-qcow2-compressed.sh \
|
||||||
test-o-null.sh \
|
test-o-null.sh \
|
||||||
test-o-openstack.sh \
|
test-o-openstack.sh \
|
||||||
@ -3632,7 +3632,7 @@ index f64316fd..58dc74b8 100644
|
|||||||
test-oa-option-qcow2.sh \
|
test-oa-option-qcow2.sh \
|
||||||
test-oa-option-raw.sh \
|
test-oa-option-raw.sh \
|
||||||
test-of-option.sh \
|
test-of-option.sh \
|
||||||
@@ -292,17 +287,7 @@ EXTRA_DIST += \
|
@@ -294,17 +289,7 @@ EXTRA_DIST += \
|
||||||
test-o-local-qcow2-compressed.sh \
|
test-o-local-qcow2-compressed.sh \
|
||||||
test-o-null.sh \
|
test-o-null.sh \
|
||||||
test-o-openstack.sh \
|
test-o-openstack.sh \
|
@ -1,4 +1,4 @@
|
|||||||
From 192e435f741ae9d392553575a674f4cd6118ffe8 Mon Sep 17 00:00:00 2001
|
From 73632b2c2ab525059c788162d801a59f05161355 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 9 Jul 2024 11:30:09 +0100
|
Date: Tue, 9 Jul 2024 11:30:09 +0100
|
||||||
Subject: [PATCH] RHEL: Add warning about virt-v2v-in-place not being supported
|
Subject: [PATCH] RHEL: Add warning about virt-v2v-in-place not being supported
|
@ -7,7 +7,7 @@
|
|||||||
Name: virt-v2v
|
Name: virt-v2v
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 2.8.1
|
Version: 2.8.1
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Convert a virtual machine to run on KVM
|
Summary: Convert a virtual machine to run on KVM
|
||||||
|
|
||||||
License: GPL-2.0-or-later AND LGPL-2.0-or-later
|
License: GPL-2.0-or-later AND LGPL-2.0-or-later
|
||||||
@ -27,18 +27,24 @@ Source3: copy-patches.sh
|
|||||||
# https://github.com/libguestfs/virt-v2v/commits/rhel-10.1
|
# https://github.com/libguestfs/virt-v2v/commits/rhel-10.1
|
||||||
|
|
||||||
# Patches.
|
# Patches.
|
||||||
Patch0001: 0001-RHEL-Fixes-for-libguestfs-winsupport.patch
|
Patch0001: 0001-vddk-Remove-io-vddk-noextents-option.patch
|
||||||
Patch0002: 0002-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
|
Patch0002: 0002-curl-ssh-vddk-file-Add-nbdkit-count-filter.patch
|
||||||
Patch0003: 0003-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
|
Patch0003: 0003-docs-Move-oo-verify-server-certificate-docs-to-alpha.patch
|
||||||
Patch0004: 0004-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
|
Patch0004: 0004-o-kubevirt-Add-oo-disk-to-allow-disk-names-to-be-ove.patch
|
||||||
Patch0005: 0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
|
Patch0005: 0005-output-Add-optional-create-parameter.patch
|
||||||
Patch0006: 0006-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
|
Patch0006: 0006-o-kubevirt-Add-oo-create-false-to-avoid-disk-creatio.patch
|
||||||
Patch0007: 0007-RHEL-Remove-input-from-Xen.patch
|
Patch0007: 0007-RHEL-Fixes-for-libguestfs-winsupport.patch
|
||||||
Patch0008: 0008-RHEL-Remove-o-glance.patch
|
Patch0008: 0008-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
|
||||||
Patch0009: 0009-RHEL-tests-Remove-btrfs-test.patch
|
Patch0009: 0009-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
|
||||||
Patch0010: 0010-RHEL-Remove-block-driver-option.patch
|
Patch0010: 0010-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
|
||||||
Patch0011: 0011-RHEL-Remove-o-ovirt-o-ovirt-upload-and-o-vdsm-modes.patch
|
Patch0011: 0011-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
|
||||||
Patch0012: 0012-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch
|
Patch0012: 0012-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
|
||||||
|
Patch0013: 0013-RHEL-Remove-input-from-Xen.patch
|
||||||
|
Patch0014: 0014-RHEL-Remove-o-glance.patch
|
||||||
|
Patch0015: 0015-RHEL-tests-Remove-btrfs-test.patch
|
||||||
|
Patch0016: 0016-RHEL-Remove-block-driver-option.patch
|
||||||
|
Patch0017: 0017-RHEL-Remove-o-ovirt-o-ovirt-upload-and-o-vdsm-modes.patch
|
||||||
|
Patch0018: 0018-RHEL-Add-warning-about-virt-v2v-in-place-not-being-s.patch
|
||||||
|
|
||||||
%if !0%{?rhel}
|
%if !0%{?rhel}
|
||||||
# libguestfs hasn't been built on i686 for a while since there is no
|
# libguestfs hasn't been built on i686 for a while since there is no
|
||||||
@ -329,7 +335,7 @@ done
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Jun 19 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.8.1-1
|
* Wed Jul 09 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.8.1-2
|
||||||
- Rebase to virt-v2v 2.8.1
|
- Rebase to virt-v2v 2.8.1
|
||||||
related: RHEL-81735
|
related: RHEL-81735
|
||||||
- Fix virt-v2v -v --install dnf5 error
|
- Fix virt-v2v -v --install dnf5 error
|
||||||
@ -344,8 +350,6 @@ done
|
|||||||
resolves: RHEL-88860
|
resolves: RHEL-88860
|
||||||
- Print better mountpoint stats in debug output
|
- Print better mountpoint stats in debug output
|
||||||
resolves: RHEL-88862
|
resolves: RHEL-88862
|
||||||
- Add virt-v2v -io vddk-noextents=true so we can test noextents
|
|
||||||
resolves: RHEL-88864
|
|
||||||
- Remove several ancient, deprecated options
|
- Remove several ancient, deprecated options
|
||||||
resolves: RHEL-88867
|
resolves: RHEL-88867
|
||||||
- virt-v2v-inspector is failing on snapshots of running VMs
|
- virt-v2v-inspector is failing on snapshots of running VMs
|
||||||
@ -362,6 +366,10 @@ done
|
|||||||
resolves: RHEL-99745
|
resolves: RHEL-99745
|
||||||
- Fix xfs_repair out of memory error
|
- Fix xfs_repair out of memory error
|
||||||
resolves: RHEL-99313
|
resolves: RHEL-99313
|
||||||
|
- Remove virt-v2v -io vddk-noextents=true option
|
||||||
|
resolves: RHEL-102619
|
||||||
|
- Add -o kubevirt -oo disk and -oo create options
|
||||||
|
resolves: RHEL-101599
|
||||||
|
|
||||||
* Tue Feb 11 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.1-4
|
* Tue Feb 11 2025 Richard W.M. Jones <rjones@redhat.com> - 1:2.7.1-4
|
||||||
- Rebase to virt-v2v 2.7.1
|
- Rebase to virt-v2v 2.7.1
|
||||||
|
Loading…
Reference in New Issue
Block a user