import virt-v2v-1.45.99-1.el9
This commit is contained in:
parent
81a87346d4
commit
8eb86f58f3
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
SOURCES/libguestfs.keyring
|
SOURCES/libguestfs.keyring
|
||||||
SOURCES/virt-v2v-1.45.96.tar.gz
|
SOURCES/virt-v2v-1.45.99.tar.gz
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
1bbc40f501a7fef9eef2a39b701a71aee2fea7c4 SOURCES/libguestfs.keyring
|
1bbc40f501a7fef9eef2a39b701a71aee2fea7c4 SOURCES/libguestfs.keyring
|
||||||
cbb9faca2b2ddbda18b67724740b797bc40af25e SOURCES/virt-v2v-1.45.96.tar.gz
|
23d3b578404a991563d2af88d3118cdbce27a110 SOURCES/virt-v2v-1.45.99.tar.gz
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 44314b8d8d201e6043b7148240446c98c726bc95 Mon Sep 17 00:00:00 2001
|
From 5b3653332be7b739755f53cca19ce10768585a61 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
|
||||||
@ -16,18 +16,18 @@ support cases.
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
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 0aac1eba..c4265703 100644
|
index f8d2e171..700de058 100644
|
||||||
--- a/output/output_qemu.ml
|
--- a/output/output_qemu.ml
|
||||||
+++ b/output/output_qemu.ml
|
+++ b/output/output_qemu.ml
|
||||||
@@ -119,7 +119,7 @@ and qemu_finalize dir source inspect target_meta
|
@@ -137,7 +137,7 @@ module QEMU = struct
|
||||||
* module deals with shell and qemu comma quoting.
|
* module deals with shell and qemu comma quoting.
|
||||||
*)
|
*)
|
||||||
let cmd = Qemuopts.create () in
|
let cmd = Qemuopts.create () in
|
||||||
- Qemuopts.set_binary_by_arch cmd (Some guestcaps.gcaps_arch);
|
- Qemuopts.set_binary_by_arch cmd (Some guestcaps.gcaps_arch);
|
||||||
+ Qemuopts.set_binary cmd "/usr/libexec/qemu-kvm";
|
+ Qemuopts.set_binary cmd "/usr/libexec/qemu-kvm";
|
||||||
|
|
||||||
let flag = Qemuopts.flag cmd
|
let flag = Qemuopts.flag cmd
|
||||||
and arg = Qemuopts.arg cmd
|
and arg = Qemuopts.arg cmd
|
||||||
--
|
--
|
||||||
2.31.1
|
2.31.1
|
||||||
|
|
@ -1,44 +0,0 @@
|
|||||||
From dc69bb6033bd41b79e6203080059d4f3b0eb8027 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Date: Thu, 6 Jan 2022 15:09:02 +0100
|
|
||||||
Subject: [PATCH] lib/types: reformat "string_of_guestcaps"
|
|
||||||
|
|
||||||
The printf format string in "string_of_guestcaps" is hard to read, because
|
|
||||||
it is not indented properly wrt. the rest of the source code. Indent it
|
|
||||||
properly without changing its behavior.
|
|
||||||
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1942325
|
|
||||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Message-Id: <20220106140910.13695-2-lersek@redhat.com>
|
|
||||||
Acked-by: Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
---
|
|
||||||
lib/types.ml | 13 +++++++------
|
|
||||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/lib/types.ml b/lib/types.ml
|
|
||||||
index 894391ba..dc3308dc 100644
|
|
||||||
--- a/lib/types.ml
|
|
||||||
+++ b/lib/types.ml
|
|
||||||
@@ -423,12 +423,13 @@ let string_of_machine = function
|
|
||||||
|
|
||||||
let string_of_guestcaps gcaps =
|
|
||||||
sprintf "\
|
|
||||||
-gcaps_block_bus = %s
|
|
||||||
-gcaps_net_bus = %s
|
|
||||||
-gcaps_machine = %s
|
|
||||||
-gcaps_arch = %s
|
|
||||||
-gcaps_acpi = %b
|
|
||||||
-" (string_of_block_type gcaps.gcaps_block_bus)
|
|
||||||
+ gcaps_block_bus = %s\n\
|
|
||||||
+ gcaps_net_bus = %s\n\
|
|
||||||
+ gcaps_machine = %s\n\
|
|
||||||
+ gcaps_arch = %s\n\
|
|
||||||
+ gcaps_acpi = %b\n\
|
|
||||||
+ "
|
|
||||||
+ (string_of_block_type gcaps.gcaps_block_bus)
|
|
||||||
(string_of_net_type gcaps.gcaps_net_bus)
|
|
||||||
(string_of_machine gcaps.gcaps_machine)
|
|
||||||
gcaps.gcaps_arch
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 1c1eb51b4f7e9d5f1e2aef7d695181a14fbd0a7d Mon Sep 17 00:00:00 2001
|
From b896dab3d8d4226b246e2e90d07235a38b6c8a79 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
|
||||||
@ -44,10 +44,10 @@ index a5f155cb..3a2e6238 100644
|
|||||||
=item B<-o json -os> C<DIRECTORY>
|
=item B<-o json -os> C<DIRECTORY>
|
||||||
|
|
||||||
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 3d0e00a3..04f3efd2 100644
|
index f50d27a0..9b1e44a1 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -141,11 +141,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
|
@@ -140,11 +140,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
|
||||||
image(s) you do not need to specify the name of the disk image on the
|
image(s) you do not need to specify the name of the disk image on the
|
||||||
command line.
|
command line.
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ index 3d0e00a3..04f3efd2 100644
|
|||||||
=head1 OPTIONS
|
=head1 OPTIONS
|
||||||
|
|
||||||
=over 4
|
=over 4
|
||||||
@@ -510,9 +505,6 @@ This is similar to I<-o local>, except that a shell script is written
|
@@ -509,9 +504,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>.
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ index 3d0e00a3..04f3efd2 100644
|
|||||||
=item B<-o> B<rhev>
|
=item B<-o> B<rhev>
|
||||||
|
|
||||||
This is the same as I<-o rhv>.
|
This is the same as I<-o rhv>.
|
||||||
@@ -768,10 +760,6 @@ Print information about the source guest and stop. This option is
|
@@ -765,10 +757,6 @@ Print information about the source guest and stop. This option is
|
||||||
useful when you are setting up network and bridge maps.
|
useful when you are setting up network and bridge maps.
|
||||||
See L</Networks and bridges>.
|
See L</Networks and bridges>.
|
||||||
|
|
||||||
@ -81,21 +81,21 @@ index 3d0e00a3..04f3efd2 100644
|
|||||||
|
|
||||||
=item B<--quiet>
|
=item B<--quiet>
|
||||||
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 c4265703..822e4c72 100644
|
index 700de058..3ad98a58 100644
|
||||||
--- a/output/output_qemu.ml
|
--- a/output/output_qemu.ml
|
||||||
+++ b/output/output_qemu.ml
|
+++ b/output/output_qemu.ml
|
||||||
@@ -52,6 +52,9 @@ and qemu_parse_options options =
|
@@ -63,6 +63,9 @@ module QEMU = struct
|
||||||
) options.output_options;
|
) options.output_options;
|
||||||
let qemu_boot = !qemu_boot in
|
let qemu_boot = !qemu_boot in
|
||||||
|
|
||||||
+ if qemu_boot then
|
+ if qemu_boot then
|
||||||
+ error (f_"-o qemu: the -oo qemu-boot option cannot be used in RHEL");
|
+ error (f_"-o qemu: the -oo qemu-boot option cannot be used in RHEL");
|
||||||
+
|
+
|
||||||
(* -os must be set to a directory. *)
|
(* -os must be set to a directory. *)
|
||||||
let output_storage =
|
let output_storage =
|
||||||
match options.output_storage with
|
match options.output_storage with
|
||||||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||||||
index 47e6e937..503dfb55 100644
|
index 7bd47c1e..a66fa285 100644
|
||||||
--- a/v2v/v2v.ml
|
--- a/v2v/v2v.ml
|
||||||
+++ b/v2v/v2v.ml
|
+++ b/v2v/v2v.ml
|
||||||
@@ -277,8 +277,6 @@ let rec main () =
|
@@ -277,8 +277,6 @@ let rec main () =
|
@ -1,55 +0,0 @@
|
|||||||
From 08786886302cceb7ee73cfa6c01325f690a3c094 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Date: Thu, 6 Jan 2022 15:09:03 +0100
|
|
||||||
Subject: [PATCH] lib/types: update "string_of_guestcaps"
|
|
||||||
|
|
||||||
The "string_of_guestcaps" function is out of date; the following commits
|
|
||||||
did not update it, when they introduced new fields to the "guestcaps"
|
|
||||||
record type:
|
|
||||||
|
|
||||||
- d295d6e510a4 ("v2v: Extend guestcaps to record drivers for virtio-rng,
|
|
||||||
balloon and pvpanic.", 2017-04-06)
|
|
||||||
|
|
||||||
- 05f780c16f01 ("v2v: support configuration of viosock driver",
|
|
||||||
2021-02-26)
|
|
||||||
|
|
||||||
Print those fields now.
|
|
||||||
|
|
||||||
Fixes: d295d6e510a4fb251d545c52c0a9d6dccabe6f78
|
|
||||||
Fixes: 05f780c16f0135c657615520c2245b42de1efc3e
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1942325
|
|
||||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Message-Id: <20220106140910.13695-3-lersek@redhat.com>
|
|
||||||
Acked-by: Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
---
|
|
||||||
lib/types.ml | 8 ++++++++
|
|
||||||
1 file changed, 8 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/lib/types.ml b/lib/types.ml
|
|
||||||
index dc3308dc..52db1f9e 100644
|
|
||||||
--- a/lib/types.ml
|
|
||||||
+++ b/lib/types.ml
|
|
||||||
@@ -425,12 +425,20 @@ let string_of_guestcaps gcaps =
|
|
||||||
sprintf "\
|
|
||||||
gcaps_block_bus = %s\n\
|
|
||||||
gcaps_net_bus = %s\n\
|
|
||||||
+ gcaps_virtio_rng = %b\n\
|
|
||||||
+ gcaps_virtio_balloon = %b\n\
|
|
||||||
+ gcaps_isa_pvpanic = %b\n\
|
|
||||||
+ gcaps_virtio_socket = %b\n\
|
|
||||||
gcaps_machine = %s\n\
|
|
||||||
gcaps_arch = %s\n\
|
|
||||||
gcaps_acpi = %b\n\
|
|
||||||
"
|
|
||||||
(string_of_block_type gcaps.gcaps_block_bus)
|
|
||||||
(string_of_net_type gcaps.gcaps_net_bus)
|
|
||||||
+ gcaps.gcaps_virtio_rng
|
|
||||||
+ gcaps.gcaps_virtio_balloon
|
|
||||||
+ gcaps.gcaps_isa_pvpanic
|
|
||||||
+ gcaps.gcaps_virtio_socket
|
|
||||||
(string_of_machine gcaps.gcaps_machine)
|
|
||||||
gcaps.gcaps_arch
|
|
||||||
gcaps.gcaps_acpi
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 281273484f675b3ddba584ddc9751fc74653e67f Mon Sep 17 00:00:00 2001
|
From 3745743d97bc432854750afd6d04d6391f19bf2f 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
|
||||||
@ -9,7 +9,7 @@ Subject: [PATCH] RHEL: Fix list of supported sound cards to match RHEL qemu
|
|||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/lib/utils.ml b/lib/utils.ml
|
diff --git a/lib/utils.ml b/lib/utils.ml
|
||||||
index d6861d08..a2fccf29 100644
|
index 4c8998c2..7b16dd8b 100644
|
||||||
--- a/lib/utils.ml
|
--- a/lib/utils.ml
|
||||||
+++ b/lib/utils.ml
|
+++ b/lib/utils.ml
|
||||||
@@ -59,13 +59,14 @@ let kvm_arch = function
|
@@ -59,13 +59,14 @@ let kvm_arch = function
|
@ -1,95 +0,0 @@
|
|||||||
From 789017805ad0ddfacfb16d39313ef8b2f8f478ac Mon Sep 17 00:00:00 2001
|
|
||||||
From: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Date: Thu, 6 Jan 2022 15:09:04 +0100
|
|
||||||
Subject: [PATCH] lib/types: introduce the "gcaps_virtio_1_0" guest capability
|
|
||||||
|
|
||||||
Add a new field to the "guestcaps" record to track whether the guest
|
|
||||||
supports the virtio devices that it does at the virtio-1.0 protocol level.
|
|
||||||
|
|
||||||
Virt-v2v's current assumption is that virtio-1.0 is supported by any
|
|
||||||
guest, namely for those virtio devices specifically that the guest
|
|
||||||
supports -- which in fact may be the empty set. Make this assumption
|
|
||||||
explicit by setting the new field to "true" in "convert/convert_linux.ml"
|
|
||||||
and "convert/convert_windows.ml".
|
|
||||||
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1942325
|
|
||||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Message-Id: <20220106140910.13695-4-lersek@redhat.com>
|
|
||||||
Acked-by: Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
---
|
|
||||||
convert/convert_linux.ml | 1 +
|
|
||||||
convert/convert_windows.ml | 1 +
|
|
||||||
lib/types.ml | 3 +++
|
|
||||||
lib/types.mli | 4 ++++
|
|
||||||
4 files changed, 9 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/convert/convert_linux.ml b/convert/convert_linux.ml
|
|
||||||
index d49ecec0..3f1114ad 100644
|
|
||||||
--- a/convert/convert_linux.ml
|
|
||||||
+++ b/convert/convert_linux.ml
|
|
||||||
@@ -155,6 +155,7 @@ let convert (g : G.guestfs) source inspect keep_serial_console _ =
|
|
||||||
gcaps_machine = machine;
|
|
||||||
gcaps_arch = Utils.kvm_arch inspect.i_arch;
|
|
||||||
gcaps_acpi = acpi;
|
|
||||||
+ gcaps_virtio_1_0 = true;
|
|
||||||
} in
|
|
||||||
|
|
||||||
guestcaps
|
|
||||||
diff --git a/convert/convert_windows.ml b/convert/convert_windows.ml
|
|
||||||
index 0ebffb15..30e494ea 100644
|
|
||||||
--- a/convert/convert_windows.ml
|
|
||||||
+++ b/convert/convert_windows.ml
|
|
||||||
@@ -259,6 +259,7 @@ let convert (g : G.guestfs) _ inspect _ static_ips =
|
|
||||||
gcaps_machine = machine;
|
|
||||||
gcaps_arch = Utils.kvm_arch inspect.i_arch;
|
|
||||||
gcaps_acpi = true;
|
|
||||||
+ gcaps_virtio_1_0 = true;
|
|
||||||
} in
|
|
||||||
|
|
||||||
guestcaps
|
|
||||||
diff --git a/lib/types.ml b/lib/types.ml
|
|
||||||
index 52db1f9e..50c41918 100644
|
|
||||||
--- a/lib/types.ml
|
|
||||||
+++ b/lib/types.ml
|
|
||||||
@@ -404,6 +404,7 @@ type guestcaps = {
|
|
||||||
gcaps_machine : guestcaps_machine;
|
|
||||||
gcaps_arch : string;
|
|
||||||
gcaps_acpi : bool;
|
|
||||||
+ gcaps_virtio_1_0 : bool;
|
|
||||||
}
|
|
||||||
and guestcaps_block_type = Virtio_blk | IDE
|
|
||||||
and guestcaps_net_type = Virtio_net | E1000 | RTL8139
|
|
||||||
@@ -432,6 +433,7 @@ let string_of_guestcaps gcaps =
|
|
||||||
gcaps_machine = %s\n\
|
|
||||||
gcaps_arch = %s\n\
|
|
||||||
gcaps_acpi = %b\n\
|
|
||||||
+ gcaps_virtio_1_0 = %b\n\
|
|
||||||
"
|
|
||||||
(string_of_block_type gcaps.gcaps_block_bus)
|
|
||||||
(string_of_net_type gcaps.gcaps_net_bus)
|
|
||||||
@@ -442,6 +444,7 @@ let string_of_guestcaps gcaps =
|
|
||||||
(string_of_machine gcaps.gcaps_machine)
|
|
||||||
gcaps.gcaps_arch
|
|
||||||
gcaps.gcaps_acpi
|
|
||||||
+ gcaps.gcaps_virtio_1_0
|
|
||||||
|
|
||||||
type target_buses = {
|
|
||||||
target_virtio_blk_bus : target_bus_slot array;
|
|
||||||
diff --git a/lib/types.mli b/lib/types.mli
|
|
||||||
index 02913c0c..0b9b6e25 100644
|
|
||||||
--- a/lib/types.mli
|
|
||||||
+++ b/lib/types.mli
|
|
||||||
@@ -270,6 +270,10 @@ type guestcaps = {
|
|
||||||
gcaps_machine : guestcaps_machine; (** Machine model. *)
|
|
||||||
gcaps_arch : string; (** Architecture that KVM must emulate. *)
|
|
||||||
gcaps_acpi : bool; (** True if guest supports acpi. *)
|
|
||||||
+
|
|
||||||
+ gcaps_virtio_1_0 : bool;
|
|
||||||
+ (** The guest supports the virtio devices that it does at the virtio-1.0
|
|
||||||
+ protocol level. *)
|
|
||||||
}
|
|
||||||
(** Guest capabilities after conversion. eg. Was virtio found or installed? *)
|
|
||||||
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From aa4e5271d3fe02f252ace148b89e9894436a79fb Mon Sep 17 00:00:00 2001
|
From f7ed42f475271291d126084cb92157974ea274c6 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.
|
||||||
@ -14,10 +14,10 @@ In virt-v2v helpers we must set the program name to virt-v2v.
|
|||||||
5 files changed, 17 insertions(+), 2 deletions(-)
|
5 files changed, 17 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/convert/convert.ml b/convert/convert.ml
|
diff --git a/convert/convert.ml b/convert/convert.ml
|
||||||
index f78e87ef..d61d7fb4 100644
|
index 87fca725..5e0e6c2b 100644
|
||||||
--- a/convert/convert.ml
|
--- a/convert/convert.ml
|
||||||
+++ b/convert/convert.ml
|
+++ b/convert/convert.ml
|
||||||
@@ -53,6 +53,7 @@ let rec convert dir options source =
|
@@ -51,6 +51,7 @@ let rec convert dir options source =
|
||||||
|
|
||||||
message (f_"Opening the source");
|
message (f_"Opening the source");
|
||||||
let g = open_guestfs ~identifier:"v2v" () in
|
let g = open_guestfs ~identifier:"v2v" () in
|
||||||
@ -26,7 +26,7 @@ index f78e87ef..d61d7fb4 100644
|
|||||||
(* Setting the number of vCPUs allows parallel mkinitrd, but make
|
(* Setting the number of vCPUs allows parallel mkinitrd, but make
|
||||||
* sure this is not too large because each vCPU consumes guest RAM.
|
* sure this is not too large because each vCPU consumes guest RAM.
|
||||||
diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml
|
diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml
|
||||||
index 1c5c148e..b3a35a0a 100644
|
index 5254322c..301f7544 100644
|
||||||
--- a/convert/windows_virtio.ml
|
--- a/convert/windows_virtio.ml
|
||||||
+++ b/convert/windows_virtio.ml
|
+++ b/convert/windows_virtio.ml
|
||||||
@@ -283,6 +283,7 @@ and copy_from_virtio_win g inspect srcdir destdir filter missing =
|
@@ -283,6 +283,7 @@ and copy_from_virtio_win g inspect srcdir destdir filter missing =
|
@ -1,118 +0,0 @@
|
|||||||
From e4cf85bd3ad44aed28cf3e8d3bfd67fec38ebdab Mon Sep 17 00:00:00 2001
|
|
||||||
From: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Date: Thu, 6 Jan 2022 15:09:05 +0100
|
|
||||||
Subject: [PATCH] output/create_libvirt_xml: pick "virtio-transitional" models
|
|
||||||
when needed
|
|
||||||
|
|
||||||
In the domain XML we generate, we do not assign PCI B/D/F addresses to
|
|
||||||
devices; that job is left to libvirtd. When using the Q35 machine type,
|
|
||||||
libvirtd places the virtio devices into PCI Express Root Ports. As a
|
|
||||||
consequence, QEMU disables virtio-0.9.5 support on these devices, and so
|
|
||||||
guest OSes without virtio-1.0 drivers cannot drive them.
|
|
||||||
|
|
||||||
Prevent QEMU from turning off the virtio-0.9.5 ("legacy") protocol by
|
|
||||||
specifying the "virtio-transitional" (not "virtio") model for our virtio
|
|
||||||
devices:
|
|
||||||
|
|
||||||
- For non-disk devices, simply change the value of the existent "model"
|
|
||||||
attribute.
|
|
||||||
|
|
||||||
- For disk devices, add the "model" attribute as a new one.
|
|
||||||
|
|
||||||
(In fact, libvirtd doesn't (only) add the "disable_legacy=off" QEMU device
|
|
||||||
property for the "virtio-transitional" devices -- libvirtd even moves
|
|
||||||
these devices from PCI Express Root Ports to a dedicated
|
|
||||||
"pcie-to-pci-bridge". This has the same effect on QEMU.)
|
|
||||||
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1942325
|
|
||||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Message-Id: <20220106140910.13695-5-lersek@redhat.com>
|
|
||||||
Acked-by: Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
---
|
|
||||||
output/create_libvirt_xml.ml | 28 ++++++++++++++++++----------
|
|
||||||
1 file changed, 18 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/output/create_libvirt_xml.ml b/output/create_libvirt_xml.ml
|
|
||||||
index 9413cc0b..87bfab17 100644
|
|
||||||
--- a/output/create_libvirt_xml.ml
|
|
||||||
+++ b/output/create_libvirt_xml.ml
|
|
||||||
@@ -312,18 +312,26 @@ let create_libvirt_xml ?pool source inspect
|
|
||||||
(* The devices. *)
|
|
||||||
let devices = ref [] in
|
|
||||||
|
|
||||||
+ (* This will affect all of the virtio devices (if any). *)
|
|
||||||
+ let virtio_transitional =
|
|
||||||
+ guestcaps.gcaps_machine = Q35 && not guestcaps.gcaps_virtio_1_0 in
|
|
||||||
+ let virtio_model =
|
|
||||||
+ if virtio_transitional then "virtio-transitional" else "virtio" in
|
|
||||||
+
|
|
||||||
(* Fixed and removable disks. *)
|
|
||||||
let () =
|
|
||||||
- let make_disk bus_name drive_prefix i = function
|
|
||||||
+ let make_disk bus_name ?(viotrans = false) drive_prefix i = function
|
|
||||||
| BusSlotEmpty -> Comment (sprintf "%s slot %d is empty" bus_name i)
|
|
||||||
|
|
||||||
| BusSlotDisk d ->
|
|
||||||
let outdisk = outdisk_name d.s_disk_id in
|
|
||||||
|
|
||||||
- e "disk" [
|
|
||||||
- "type", if pool = None then "file" else "volume";
|
|
||||||
- "device", "disk"
|
|
||||||
- ] [
|
|
||||||
+ e "disk" (
|
|
||||||
+ [
|
|
||||||
+ "type", if pool = None then "file" else "volume";
|
|
||||||
+ "device", "disk"
|
|
||||||
+ ] @ if (viotrans) then [ "model", "virtio-transitional" ] else []
|
|
||||||
+ ) [
|
|
||||||
e "driver" [
|
|
||||||
"name", "qemu";
|
|
||||||
"type", output_format;
|
|
||||||
@@ -364,7 +372,7 @@ let create_libvirt_xml ?pool source inspect
|
|
||||||
in
|
|
||||||
|
|
||||||
List.push_back_list devices
|
|
||||||
- (List.mapi (make_disk "virtio" "vd")
|
|
||||||
+ (List.mapi (make_disk "virtio" ~viotrans:virtio_transitional "vd")
|
|
||||||
(Array.to_list target_buses.target_virtio_blk_bus));
|
|
||||||
let ide_disks =
|
|
||||||
match guestcaps.gcaps_machine with
|
|
||||||
@@ -392,7 +400,7 @@ let create_libvirt_xml ?pool source inspect
|
|
||||||
let nics =
|
|
||||||
let net_model =
|
|
||||||
match guestcaps.gcaps_net_bus with
|
|
||||||
- | Virtio_net -> "virtio" | E1000 -> "e1000" | RTL8139 -> "rtl8139" in
|
|
||||||
+ | Virtio_net -> virtio_model | E1000 -> "e1000" | RTL8139 -> "rtl8139" in
|
|
||||||
List.map (
|
|
||||||
fun { s_mac = mac; s_vnet_type = vnet_type; s_vnet = vnet } ->
|
|
||||||
let vnet_type_str =
|
|
||||||
@@ -483,7 +491,7 @@ let create_libvirt_xml ?pool source inspect
|
|
||||||
(* Miscellaneous KVM devices. *)
|
|
||||||
if guestcaps.gcaps_virtio_rng then
|
|
||||||
List.push_back devices (
|
|
||||||
- e "rng" ["model", "virtio"] [
|
|
||||||
+ e "rng" ["model", virtio_model] [
|
|
||||||
(* XXX Using /dev/urandom requires libvirt >= 1.3.4. Libvirt
|
|
||||||
* was broken before that.
|
|
||||||
*)
|
|
||||||
@@ -496,7 +504,7 @@ let create_libvirt_xml ?pool source inspect
|
|
||||||
List.push_back devices (
|
|
||||||
e "memballoon"
|
|
||||||
["model",
|
|
||||||
- if guestcaps.gcaps_virtio_balloon then "virtio" else "none"]
|
|
||||||
+ if guestcaps.gcaps_virtio_balloon then virtio_model else "none"]
|
|
||||||
[]
|
|
||||||
);
|
|
||||||
if guestcaps.gcaps_isa_pvpanic then
|
|
||||||
@@ -508,7 +516,7 @@ let create_libvirt_xml ?pool source inspect
|
|
||||||
List.push_back devices (
|
|
||||||
e "viosock"
|
|
||||||
["model",
|
|
||||||
- if guestcaps.gcaps_virtio_socket then "virtio" else "none"]
|
|
||||||
+ if guestcaps.gcaps_virtio_socket then virtio_model else "none"]
|
|
||||||
[]
|
|
||||||
);
|
|
||||||
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
|||||||
|
From 46c843f5d5f19aad7bbfe155d20d5d9f26f8a030 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)
|
||||||
|
|
||||||
|
The SDL output mode is not supported in RHEL's qemu-kvm.
|
||||||
|
---
|
||||||
|
input/input_disk.ml | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/input/input_disk.ml b/input/input_disk.ml
|
||||||
|
index 9fd08639..dc3bed6f 100644
|
||||||
|
--- a/input/input_disk.ml
|
||||||
|
+++ b/input/input_disk.ml
|
||||||
|
@@ -76,7 +76,7 @@ module Disk = struct
|
||||||
|
s_features = [ "acpi"; "apic"; "pae" ];
|
||||||
|
s_firmware = UnknownFirmware; (* causes virt-v2v to autodetect *)
|
||||||
|
s_display =
|
||||||
|
- Some { s_display_type = Window; s_keymap = None; s_password = None;
|
||||||
|
+ Some { s_display_type = VNC; s_keymap = None; s_password = None;
|
||||||
|
s_listen = LNoListen; s_port = None };
|
||||||
|
s_sound = None;
|
||||||
|
s_disks = s_disks;
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
From 511910e1f7e956fb8a032c1c04fd0a983b2108df Mon Sep 17 00:00:00 2001
|
|
||||||
From: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Date: Thu, 6 Jan 2022 15:09:06 +0100
|
|
||||||
Subject: [PATCH] output/create_json: expose "gcaps_virtio_1_0"
|
|
||||||
|
|
||||||
Let CNV / KubeVirt know about the "gcaps_virtio_1_0" field as well, so
|
|
||||||
that it can make the same determination from "machine" and
|
|
||||||
"gcaps_virtio_1_0" as virt-v2v does in the libvirt output (from an earlier
|
|
||||||
patch in this series).
|
|
||||||
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1942325
|
|
||||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Message-Id: <20220106140910.13695-6-lersek@redhat.com>
|
|
||||||
Acked-by: Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
---
|
|
||||||
output/create_json.ml | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/output/create_json.ml b/output/create_json.ml
|
|
||||||
index b48902b7..985e10a9 100644
|
|
||||||
--- a/output/create_json.ml
|
|
||||||
+++ b/output/create_json.ml
|
|
||||||
@@ -219,6 +219,7 @@ let create_json_metadata source inspect
|
|
||||||
"isa-pvpanic", JSON.Bool guestcaps.gcaps_isa_pvpanic;
|
|
||||||
"virtio-socket", JSON.Bool guestcaps.gcaps_virtio_socket;
|
|
||||||
"acpi", JSON.Bool guestcaps.gcaps_acpi;
|
|
||||||
+ "virtio-1-0", JSON.Bool guestcaps.gcaps_virtio_1_0;
|
|
||||||
] in
|
|
||||||
List.push_back doc ("guestcaps", JSON.Dict guestcaps_dict);
|
|
||||||
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 621a424738cb94f387171992af5352305121da6b Mon Sep 17 00:00:00 2001
|
From 70b8b26867ca0c4a142f3fb436e4dbb66a01f187 Mon Sep 17 00:00:00 2001
|
||||||
From: Pino Toscano <ptoscano@redhat.com>
|
From: Pino Toscano <ptoscano@redhat.com>
|
||||||
Date: Wed, 8 Mar 2017 11:03:40 +0100
|
Date: Wed, 8 Mar 2017 11:03:40 +0100
|
||||||
Subject: [PATCH] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203)
|
Subject: [PATCH] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203)
|
||||||
@ -9,10 +9,10 @@ They are not supported in RHEL.
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/docs/virt-v2v-input-xen.pod b/docs/virt-v2v-input-xen.pod
|
diff --git a/docs/virt-v2v-input-xen.pod b/docs/virt-v2v-input-xen.pod
|
||||||
index cd3210bf..e9f336a9 100644
|
index c4948e5e..97727b8f 100644
|
||||||
--- a/docs/virt-v2v-input-xen.pod
|
--- a/docs/virt-v2v-input-xen.pod
|
||||||
+++ b/docs/virt-v2v-input-xen.pod
|
+++ b/docs/virt-v2v-input-xen.pod
|
||||||
@@ -12,7 +12,7 @@ virt-v2v-input-xen - Using virt-v2v to convert guests from Xen
|
@@ -11,7 +11,7 @@ virt-v2v-input-xen - Using virt-v2v to convert guests from Xen
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
This page documents how to use L<virt-v2v(1)> to convert guests from
|
This page documents how to use L<virt-v2v(1)> to convert guests from
|
@ -1,165 +0,0 @@
|
|||||||
From 46f5885dba1b669588d98eb840af454564d07cae Mon Sep 17 00:00:00 2001
|
|
||||||
From: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Date: Thu, 6 Jan 2022 15:09:07 +0100
|
|
||||||
Subject: [PATCH] convert/libosinfo: wrap osinfo_os_get_all_devices()
|
|
||||||
|
|
||||||
Introduce the "osinfo_os.get_devices" OCaml method, for wrapping the
|
|
||||||
libosinfo API osinfo_os_get_all_devices().
|
|
||||||
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1942325
|
|
||||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Message-Id: <20220106140910.13695-7-lersek@redhat.com>
|
|
||||||
[lersek@redhat.com: call OCaml values "<something>v" (Rich)]
|
|
||||||
Acked-by: Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
---
|
|
||||||
convert/libosinfo-c.c | 66 +++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
convert/libosinfo.ml | 14 +++++++++
|
|
||||||
convert/libosinfo.mli | 14 +++++++++
|
|
||||||
3 files changed, 94 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/convert/libosinfo-c.c b/convert/libosinfo-c.c
|
|
||||||
index 09cf588d..b8e78bec 100644
|
|
||||||
--- a/convert/libosinfo-c.c
|
|
||||||
+++ b/convert/libosinfo-c.c
|
|
||||||
@@ -50,6 +50,7 @@
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(OsinfoFilter, g_object_unref)
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(OsinfoLoader, g_object_unref)
|
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(OsinfoOsList, g_object_unref)
|
|
||||||
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(OsinfoDeviceList, g_object_unref)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef OsinfoDb *OsinfoDb_t;
|
|
||||||
@@ -255,3 +256,68 @@ v2v_osinfo_os_get_device_drivers (value osv)
|
|
||||||
|
|
||||||
CAMLreturn (rv);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+/* Collect OsinfoDevice properties from two levels:
|
|
||||||
+ *
|
|
||||||
+ * - The OSINFO_ENTITY_PROP_ID property, originating from the OsinfoEntity base
|
|
||||||
+ * class. This is a unique URI, identifying the device.
|
|
||||||
+ *
|
|
||||||
+ * - All currently known OSINFO_DEVICE_PROP_* properties, originating from the
|
|
||||||
+ * OsinfoDevice class.
|
|
||||||
+ *
|
|
||||||
+ * All of the above properties have string values. Thus, for uniformity, access
|
|
||||||
+ * all these properties by their names at the OsinfoEntity level (i.e., forego
|
|
||||||
+ * the class- and property-specific, dedicated property getter functions).
|
|
||||||
+ */
|
|
||||||
+static const char * const device_prop[] = {
|
|
||||||
+ OSINFO_ENTITY_PROP_ID,
|
|
||||||
+ OSINFO_DEVICE_PROP_VENDOR,
|
|
||||||
+ OSINFO_DEVICE_PROP_VENDOR_ID,
|
|
||||||
+ OSINFO_DEVICE_PROP_PRODUCT,
|
|
||||||
+ OSINFO_DEVICE_PROP_PRODUCT_ID,
|
|
||||||
+ OSINFO_DEVICE_PROP_NAME,
|
|
||||||
+ OSINFO_DEVICE_PROP_CLASS,
|
|
||||||
+ OSINFO_DEVICE_PROP_BUS_TYPE,
|
|
||||||
+ OSINFO_DEVICE_PROP_SUBSYSTEM,
|
|
||||||
+};
|
|
||||||
+#define NUM_DEVICE_PROPS (sizeof device_prop / sizeof device_prop[0])
|
|
||||||
+
|
|
||||||
+value
|
|
||||||
+v2v_osinfo_os_get_all_devices (value osv)
|
|
||||||
+{
|
|
||||||
+ CAMLparam1 (osv);
|
|
||||||
+ CAMLlocal3 (retvalv, linkv, propsv);
|
|
||||||
+ g_autoptr (OsinfoDeviceList) dev_list = NULL;
|
|
||||||
+ OsinfoList *ent_list;
|
|
||||||
+ gint ent_nr;
|
|
||||||
+
|
|
||||||
+ retvalv = Val_emptylist;
|
|
||||||
+ dev_list = osinfo_os_get_all_devices (OsinfoOs_t_val (osv), NULL);
|
|
||||||
+ ent_list = OSINFO_LIST (dev_list);
|
|
||||||
+ ent_nr = osinfo_list_get_length (ent_list);
|
|
||||||
+
|
|
||||||
+ while (ent_nr > 0) {
|
|
||||||
+ OsinfoEntity *ent;
|
|
||||||
+ size_t prop_nr;
|
|
||||||
+
|
|
||||||
+ --ent_nr;
|
|
||||||
+ ent = osinfo_list_get_nth (ent_list, ent_nr);
|
|
||||||
+
|
|
||||||
+ propsv = caml_alloc (NUM_DEVICE_PROPS, 0);
|
|
||||||
+ for (prop_nr = 0; prop_nr < NUM_DEVICE_PROPS; ++prop_nr) {
|
|
||||||
+ const gchar *prop_val;
|
|
||||||
+
|
|
||||||
+ prop_val = osinfo_entity_get_param_value (ent, device_prop[prop_nr]);
|
|
||||||
+ if (prop_val == NULL)
|
|
||||||
+ prop_val = "";
|
|
||||||
+ Store_field (propsv, prop_nr, caml_copy_string (prop_val));
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ linkv = caml_alloc (2, 0);
|
|
||||||
+ Store_field (linkv, 0, propsv);
|
|
||||||
+ Store_field (linkv, 1, retvalv);
|
|
||||||
+ retvalv = linkv;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ CAMLreturn (retvalv);
|
|
||||||
+}
|
|
||||||
diff --git a/convert/libosinfo.ml b/convert/libosinfo.ml
|
|
||||||
index bd9ca126..78271be2 100644
|
|
||||||
--- a/convert/libosinfo.ml
|
|
||||||
+++ b/convert/libosinfo.ml
|
|
||||||
@@ -32,13 +32,27 @@ type osinfo_device_driver = {
|
|
||||||
files : string list;
|
|
||||||
}
|
|
||||||
|
|
||||||
+type osinfo_device = {
|
|
||||||
+ id : string;
|
|
||||||
+ vendor : string;
|
|
||||||
+ vendor_id : string;
|
|
||||||
+ product : string;
|
|
||||||
+ product_id : string;
|
|
||||||
+ name : string;
|
|
||||||
+ class_ : string;
|
|
||||||
+ bus_type : string;
|
|
||||||
+ subsystem : string;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
external osinfo_os_get_id : osinfo_os_t -> string = "v2v_osinfo_os_get_id"
|
|
||||||
external osinfo_os_get_device_drivers : osinfo_os_t -> osinfo_device_driver list = "v2v_osinfo_os_get_device_drivers"
|
|
||||||
+external osinfo_os_get_devices : osinfo_os_t -> osinfo_device list = "v2v_osinfo_os_get_all_devices"
|
|
||||||
|
|
||||||
class osinfo_os h =
|
|
||||||
object (self)
|
|
||||||
method get_id () = osinfo_os_get_id h
|
|
||||||
method get_device_drivers () = osinfo_os_get_device_drivers h
|
|
||||||
+ method get_devices () = osinfo_os_get_devices h
|
|
||||||
end
|
|
||||||
|
|
||||||
external osinfo_db_load : unit -> osinfo_db_t = "v2v_osinfo_db_load"
|
|
||||||
diff --git a/convert/libosinfo.mli b/convert/libosinfo.mli
|
|
||||||
index 0428ef91..1ece7b41 100644
|
|
||||||
--- a/convert/libosinfo.mli
|
|
||||||
+++ b/convert/libosinfo.mli
|
|
||||||
@@ -29,11 +29,25 @@ type osinfo_device_driver = {
|
|
||||||
files : string list;
|
|
||||||
}
|
|
||||||
|
|
||||||
+type osinfo_device = {
|
|
||||||
+ id : string;
|
|
||||||
+ vendor : string;
|
|
||||||
+ vendor_id : string;
|
|
||||||
+ product : string;
|
|
||||||
+ product_id : string;
|
|
||||||
+ name : string;
|
|
||||||
+ class_ : string;
|
|
||||||
+ bus_type : string;
|
|
||||||
+ subsystem : string;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
class osinfo_os : osinfo_os_t -> object
|
|
||||||
method get_id : unit -> string
|
|
||||||
(** Return the ID. *)
|
|
||||||
method get_device_drivers : unit -> osinfo_device_driver list
|
|
||||||
(** Return the list of device drivers. *)
|
|
||||||
+ method get_devices : unit -> osinfo_device list
|
|
||||||
+ (** Return the list of devices. *)
|
|
||||||
end
|
|
||||||
(** Minimal OsinfoOs wrapper. *)
|
|
||||||
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From af0265e36747be9e6e4d7f91af2529f20e91e7ab Mon Sep 17 00:00:00 2001
|
From fa8028afa670c3575f31b838f1d15ed7ee16f26a 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,77 +0,0 @@
|
|||||||
From 00473c6ac09d85a6b6e1ce0cbe132e31407a2d00 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Date: Thu, 6 Jan 2022 15:09:08 +0100
|
|
||||||
Subject: [PATCH] convert/libosinfo_utils: introduce
|
|
||||||
"string_of_osinfo_device_list"
|
|
||||||
|
|
||||||
For debugging purposes, we'll want to print the list of devices returned
|
|
||||||
by the previously introduced "osinfo_os#get_devices" method.
|
|
||||||
|
|
||||||
Format the device list as a nice table.
|
|
||||||
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1942325
|
|
||||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Message-Id: <20220106140910.13695-8-lersek@redhat.com>
|
|
||||||
Acked-by: Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
---
|
|
||||||
convert/libosinfo_utils.ml | 35 +++++++++++++++++++++++++++++++++++
|
|
||||||
convert/libosinfo_utils.mli | 3 +++
|
|
||||||
2 files changed, 38 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/convert/libosinfo_utils.ml b/convert/libosinfo_utils.ml
|
|
||||||
index 1fc138cc..d5eb082b 100644
|
|
||||||
--- a/convert/libosinfo_utils.ml
|
|
||||||
+++ b/convert/libosinfo_utils.ml
|
|
||||||
@@ -42,3 +42,38 @@ let string_of_osinfo_device_driver { Libosinfo.architecture; location;
|
|
||||||
(if signed then "signed" else "unsigned")
|
|
||||||
priority
|
|
||||||
(String.concat " " files)
|
|
||||||
+
|
|
||||||
+let string_of_osinfo_device_list dev_list =
|
|
||||||
+
|
|
||||||
+ (* Turn the fields of an "osinfo_device" record into a list. *)
|
|
||||||
+ let listify { Libosinfo.id; vendor; vendor_id; product; product_id; name;
|
|
||||||
+ class_; bus_type; subsystem } =
|
|
||||||
+ [ id; vendor; vendor_id; product; product_id; name;
|
|
||||||
+ class_; bus_type; subsystem ]
|
|
||||||
+
|
|
||||||
+ (* Given a list of strings, and a list of previously known maximum widths,
|
|
||||||
+ * "increase" each width, if necessary, to the length of the corresponding
|
|
||||||
+ * string.
|
|
||||||
+ *)
|
|
||||||
+ and grow_widths = List.map2 (fun s -> max (String.length s))
|
|
||||||
+ in
|
|
||||||
+
|
|
||||||
+ (* Compute the maximum width for each field in "dev_list". *)
|
|
||||||
+ let max_widths =
|
|
||||||
+ List.fold_right grow_widths (List.map listify dev_list)
|
|
||||||
+ [ 0; 0; 0; 0; 0; 0; 0; 0; 0 ]
|
|
||||||
+
|
|
||||||
+ (* Given a list of strings and a list of field widths, format "string1 |
|
|
||||||
+ * string2 | ... | stringN" such that each field is right-padded to the
|
|
||||||
+ * corresponding width.
|
|
||||||
+ *)
|
|
||||||
+ and columnate strings widths =
|
|
||||||
+ String.concat " | " (List.map2 (Printf.sprintf "%-*s") widths strings)
|
|
||||||
+ in
|
|
||||||
+
|
|
||||||
+ (* Format "dev_list" as a table by (a) printing one "osinfo_device" record
|
|
||||||
+ * per line, and (b) right-padding each field of each "osinfo_device" record
|
|
||||||
+ * to the maximum width of that field.
|
|
||||||
+ *)
|
|
||||||
+ String.concat "\n"
|
|
||||||
+ (List.map (fun dev -> columnate (listify dev) max_widths) dev_list)
|
|
||||||
diff --git a/convert/libosinfo_utils.mli b/convert/libosinfo_utils.mli
|
|
||||||
index b3714d22..5a703334 100644
|
|
||||||
--- a/convert/libosinfo_utils.mli
|
|
||||||
+++ b/convert/libosinfo_utils.mli
|
|
||||||
@@ -27,3 +27,6 @@ val get_os_by_short_id : string -> Libosinfo.osinfo_os
|
|
||||||
|
|
||||||
val string_of_osinfo_device_driver : Libosinfo.osinfo_device_driver -> string
|
|
||||||
(** Convert a [osinfo_device_driver] to a printable string for debugging. *)
|
|
||||||
+
|
|
||||||
+val string_of_osinfo_device_list : Libosinfo.osinfo_device list -> string
|
|
||||||
+(** Convert an [osinfo_device] list to a printable string for debugging. *)
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From afec4c531c71de4f98115258d3eee17a25afae5e Mon Sep 17 00:00:00 2001
|
From 95640bac1c00014f94bec5539907fd92d7379ad2 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: Disable -o glance
|
Subject: [PATCH] RHEL: Disable -o glance
|
||||||
@ -100,10 +100,10 @@ index f5a3abad..1ab356e8 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 04f3efd2..7c101513 100644
|
index 9b1e44a1..a1e00db8 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -432,14 +432,6 @@ See L</Networks and bridges> below.
|
@@ -431,14 +431,6 @@ See L</Networks and bridges> below.
|
||||||
|
|
||||||
This is the same as I<-o local>.
|
This is the same as I<-o local>.
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ index 04f3efd2..7c101513 100644
|
|||||||
=item B<-o> B<json>
|
=item B<-o> B<json>
|
||||||
|
|
||||||
Set the output method to I<json>.
|
Set the output method to I<json>.
|
||||||
@@ -1162,11 +1154,6 @@ and output methods may use disk space, as outlined in the table below.
|
@@ -1170,11 +1162,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 04f3efd2..7c101513 100644
|
|||||||
=item I<-o local>
|
=item I<-o local>
|
||||||
|
|
||||||
=item I<-o qemu>
|
=item I<-o qemu>
|
||||||
@@ -1351,13 +1338,6 @@ instance.
|
@@ -1358,13 +1345,6 @@ 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.
|
||||||
|
|
||||||
@ -169,7 +169,7 @@ index c0db9115..074b5e16 100755
|
|||||||
set -e
|
set -e
|
||||||
set -x
|
set -x
|
||||||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||||||
index 503dfb55..39fef0fa 100644
|
index a66fa285..c9ddce36 100644
|
||||||
--- a/v2v/v2v.ml
|
--- a/v2v/v2v.ml
|
||||||
+++ b/v2v/v2v.ml
|
+++ b/v2v/v2v.ml
|
||||||
@@ -205,7 +205,6 @@ let rec main () =
|
@@ -205,7 +205,6 @@ let rec main () =
|
@ -1,77 +0,0 @@
|
|||||||
From 2a2d7e9e1376084670dbf8587549948713341153 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Date: Thu, 6 Jan 2022 15:09:09 +0100
|
|
||||||
Subject: [PATCH] convert/libosinfo_utils: introduce
|
|
||||||
"os_support_of_osinfo_device_list"
|
|
||||||
|
|
||||||
Add a helper function for calculating q35 support and virtio-1.0 support
|
|
||||||
from the list of devices returned by the previously introduced
|
|
||||||
"osinfo_os#get_devices" method.
|
|
||||||
|
|
||||||
(Rather than folding the list into a record of bools, implement the
|
|
||||||
function explicitly, recursively. Folding wouldn't stop (without abusing
|
|
||||||
exceptions) once all fields in the record turned "true", but a recursive
|
|
||||||
function can just return the accumulator at that point.)
|
|
||||||
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1942325
|
|
||||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Message-Id: <20220106140910.13695-9-lersek@redhat.com>
|
|
||||||
[lersek@redhat.com: don't break "in" to a new line after a "let" that
|
|
||||||
defines a non-function (Rich)]
|
|
||||||
Acked-by: Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
---
|
|
||||||
convert/libosinfo_utils.ml | 18 ++++++++++++++++++
|
|
||||||
convert/libosinfo_utils.mli | 14 ++++++++++++++
|
|
||||||
2 files changed, 32 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/convert/libosinfo_utils.ml b/convert/libosinfo_utils.ml
|
|
||||||
index d5eb082b..77f22272 100644
|
|
||||||
--- a/convert/libosinfo_utils.ml
|
|
||||||
+++ b/convert/libosinfo_utils.ml
|
|
||||||
@@ -77,3 +77,21 @@ let string_of_osinfo_device_list dev_list =
|
|
||||||
*)
|
|
||||||
String.concat "\n"
|
|
||||||
(List.map (fun dev -> columnate (listify dev) max_widths) dev_list)
|
|
||||||
+
|
|
||||||
+type os_support = {
|
|
||||||
+ q35 : bool;
|
|
||||||
+ vio10 : bool;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+let os_support_of_osinfo_device_list =
|
|
||||||
+ let rec next accu left =
|
|
||||||
+ match accu, left with
|
|
||||||
+ | { q35 = true; vio10 = true }, _
|
|
||||||
+ | _ , [] ->
|
|
||||||
+ accu
|
|
||||||
+ | { q35; vio10 }, { Libosinfo.id } :: tail ->
|
|
||||||
+ let q35 = q35 || id = "http://qemu.org/chipset/x86/q35"
|
|
||||||
+ and vio10 = vio10 || id = "http://pcisig.com/pci/1af4/1041" in
|
|
||||||
+ next { q35; vio10 } tail
|
|
||||||
+ in
|
|
||||||
+ next { q35 = false; vio10 = false }
|
|
||||||
diff --git a/convert/libosinfo_utils.mli b/convert/libosinfo_utils.mli
|
|
||||||
index 5a703334..ab77ec97 100644
|
|
||||||
--- a/convert/libosinfo_utils.mli
|
|
||||||
+++ b/convert/libosinfo_utils.mli
|
|
||||||
@@ -30,3 +30,17 @@ val string_of_osinfo_device_driver : Libosinfo.osinfo_device_driver -> string
|
|
||||||
|
|
||||||
val string_of_osinfo_device_list : Libosinfo.osinfo_device list -> string
|
|
||||||
(** Convert an [osinfo_device] list to a printable string for debugging. *)
|
|
||||||
+
|
|
||||||
+type os_support = {
|
|
||||||
+ q35 : bool;
|
|
||||||
+ vio10 : bool;
|
|
||||||
+}
|
|
||||||
+(** Tell whether the operating system supports the Q35 board type and/or
|
|
||||||
+ non-transitional (virtio-1.0-only) virtio devices. (Internally, the
|
|
||||||
+ virtio-1.0-net device is used as a proxy for the general statement about
|
|
||||||
+ virtio-1.0.)
|
|
||||||
+ *)
|
|
||||||
+
|
|
||||||
+val os_support_of_osinfo_device_list : Libosinfo.osinfo_device list ->
|
|
||||||
+ os_support
|
|
||||||
+(** Get [os_support] from an [osinfo_device] list. *)
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 39f31f9c86ed94699382b2c4d683fc1fd0d59195 Mon Sep 17 00:00:00 2001
|
From c7c14141d1c985dbba8749f9209b78d96200c2b3 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 Dec 2021 11:56:05 +0000
|
Date: Thu, 2 Dec 2021 11:56:05 +0000
|
||||||
Subject: [PATCH] RHEL: Remove the --in-place option
|
Subject: [PATCH] RHEL: Remove the --in-place option
|
||||||
@ -6,12 +6,12 @@ Subject: [PATCH] RHEL: Remove the --in-place option
|
|||||||
This disables the virt-v2v --in-place option which we do not
|
This disables the virt-v2v --in-place option which we do not
|
||||||
wish to support in RHEL.
|
wish to support in RHEL.
|
||||||
---
|
---
|
||||||
docs/virt-v2v.pod | 51 +----------------------------------------------
|
docs/virt-v2v.pod | 49 -----------------------------------------------
|
||||||
v2v/v2v.ml | 8 --------
|
v2v/v2v.ml | 8 --------
|
||||||
2 files changed, 1 insertion(+), 58 deletions(-)
|
2 files changed, 57 deletions(-)
|
||||||
|
|
||||||
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 7c101513..4f89d2b2 100644
|
index a1e00db8..a3fc3dc8 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -8,10 +8,6 @@ virt-v2v - Convert a guest to use KVM
|
@@ -8,10 +8,6 @@ virt-v2v - Convert a guest to use KVM
|
||||||
@ -38,7 +38,7 @@ index 7c101513..4f89d2b2 100644
|
|||||||
=head2 Other virt-v2v topics
|
=head2 Other virt-v2v topics
|
||||||
|
|
||||||
L<virt-v2v-support(1)> — Supported hypervisors, virtualization
|
L<virt-v2v-support(1)> — Supported hypervisors, virtualization
|
||||||
@@ -290,20 +280,6 @@ For I<-i disk> only, this specifies the format of the input disk
|
@@ -289,20 +279,6 @@ For I<-i disk> only, this specifies the format of the input disk
|
||||||
image. For other input methods you should specify the input
|
image. For other input methods you should specify the input
|
||||||
format in the metadata.
|
format in the metadata.
|
||||||
|
|
||||||
@ -59,16 +59,7 @@ index 7c101513..4f89d2b2 100644
|
|||||||
=item B<-io> OPTION=VALUE
|
=item B<-io> OPTION=VALUE
|
||||||
|
|
||||||
Set input option(s) related to the current input mode or transport.
|
Set input option(s) related to the current input mode or transport.
|
||||||
@@ -1278,7 +1254,7 @@ have at least 100 available inodes.
|
@@ -1417,31 +1393,6 @@ that instead.
|
||||||
=head3 Minimum free space check in the host
|
|
||||||
|
|
||||||
You must have sufficient free space in the host directory used to
|
|
||||||
-store large temporary overlays (except in I<--in-place> mode). To
|
|
||||||
+store large temporary overlays. To
|
|
||||||
find out which directory this is, use:
|
|
||||||
|
|
||||||
$ df -h "`guestfish get-cachedir`"
|
|
||||||
@@ -1410,31 +1386,6 @@ that instead.
|
|
||||||
</devices>
|
</devices>
|
||||||
</domain>
|
</domain>
|
||||||
|
|
||||||
@ -101,7 +92,7 @@ index 7c101513..4f89d2b2 100644
|
|||||||
|
|
||||||
The I<--machine-readable> option can be used to make the output more
|
The I<--machine-readable> option can be used to make the output more
|
||||||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||||||
index 39fef0fa..a1143b68 100644
|
index c9ddce36..6859a02c 100644
|
||||||
--- a/v2v/v2v.ml
|
--- a/v2v/v2v.ml
|
||||||
+++ b/v2v/v2v.ml
|
+++ b/v2v/v2v.ml
|
||||||
@@ -183,7 +183,6 @@ let rec main () =
|
@@ -183,7 +183,6 @@ let rec main () =
|
@ -1,207 +0,0 @@
|
|||||||
From f0cea012d0183edf6f7b769c28d5038593f3fe6a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Date: Thu, 6 Jan 2022 15:09:10 +0100
|
|
||||||
Subject: [PATCH] convert: determine machine type and virtio-1.0 from osinfo
|
|
||||||
for x86 guests
|
|
||||||
|
|
||||||
Determine the machine type and virtio-1.0 support from osinfo, for x86
|
|
||||||
guests. This connects the previous two parts of this series.
|
|
||||||
|
|
||||||
Keep the original logic from commit ac39fa292c31 ("v2v: Set machine type
|
|
||||||
explicitly for outputs which support it (RHBZ#1581428).", 2020-12-04) for
|
|
||||||
non-x86 guests, and for the case when libosinfo does not recognize the
|
|
||||||
guest OS.
|
|
||||||
|
|
||||||
Update the "cdrom", "floppy", and "i-ova" test cases, which all use a
|
|
||||||
(phony) Windows 7 image -- Windows 7 does not support virtio-1.0-only
|
|
||||||
devices, according to libosinfo.
|
|
||||||
|
|
||||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1942325
|
|
||||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
|
||||||
Message-Id: <20220106140910.13695-10-lersek@redhat.com>
|
|
||||||
Acked-by: Richard W.M. Jones <rjones@redhat.com>
|
|
||||||
---
|
|
||||||
convert/convert_linux.ml | 51 +++++++++++++++++++++-------------
|
|
||||||
convert/convert_windows.ml | 32 ++++++++++++++-------
|
|
||||||
tests/test-v2v-cdrom.expected | 2 +-
|
|
||||||
tests/test-v2v-floppy.expected | 2 +-
|
|
||||||
tests/test-v2v-i-ova.xml | 8 +++---
|
|
||||||
5 files changed, 60 insertions(+), 35 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/convert/convert_linux.ml b/convert/convert_linux.ml
|
|
||||||
index 3f1114ad..45ce069a 100644
|
|
||||||
--- a/convert/convert_linux.ml
|
|
||||||
+++ b/convert/convert_linux.ml
|
|
||||||
@@ -123,26 +123,39 @@ let convert (g : G.guestfs) source inspect keep_serial_console _ =
|
|
||||||
|
|
||||||
SELinux_relabel.relabel g;
|
|
||||||
|
|
||||||
- (* Pivot on the year 2007. Any Linux distro from earlier than
|
|
||||||
- * 2007 should use i440fx, anything 2007 or newer should use q35.
|
|
||||||
- * XXX Look up this information in libosinfo in future.
|
|
||||||
- *)
|
|
||||||
- let machine =
|
|
||||||
- match inspect.i_arch, inspect.i_distro, inspect.i_major_version with
|
|
||||||
- | ("i386"|"x86_64"), "fedora", _ -> Q35
|
|
||||||
- | ("i386"|"x86_64"), ("rhel"|"centos"|"scientificlinux"|
|
|
||||||
- "redhat-based"|"oraclelinux"), major ->
|
|
||||||
- if major <= 4 then I440FX else Q35
|
|
||||||
- | ("i386"|"x86_64"), ("sles"|"suse-based"|"opensuse"), major ->
|
|
||||||
- if major < 10 then I440FX else Q35
|
|
||||||
- | ("i386"|"x86_64"), ("debian"|"ubuntu"|"linuxmint"|
|
|
||||||
- "kalilinux"), major ->
|
|
||||||
- if major < 4 then I440FX else Q35
|
|
||||||
+ let machine, virtio_1_0 =
|
|
||||||
+ match inspect.i_arch with
|
|
||||||
+ | ("i386"|"x86_64") ->
|
|
||||||
+ (try
|
|
||||||
+ let os = Libosinfo_utils.get_os_by_short_id inspect.i_osinfo in
|
|
||||||
+ let devices = os#get_devices () in
|
|
||||||
+ debug "libosinfo devices for OS \"%s\":\n%s" inspect.i_osinfo
|
|
||||||
+ (Libosinfo_utils.string_of_osinfo_device_list devices);
|
|
||||||
+ let { Libosinfo_utils.q35; vio10 } =
|
|
||||||
+ Libosinfo_utils.os_support_of_osinfo_device_list devices in
|
|
||||||
+ (if q35 then Q35 else I440FX), vio10
|
|
||||||
+ with
|
|
||||||
+ | Not_found ->
|
|
||||||
+ (* Pivot on the year 2007. Any Linux distro from earlier than 2007
|
|
||||||
+ * should use i440fx, anything 2007 or newer should use q35.
|
|
||||||
+ *)
|
|
||||||
+ (match inspect.i_distro, inspect.i_major_version with
|
|
||||||
+ | "fedora", _ -> Q35
|
|
||||||
+ | ("rhel"|"centos"|"scientificlinux"|"redhat-based"|"oraclelinux"),
|
|
||||||
+ major ->
|
|
||||||
+ if major <= 4 then I440FX else Q35
|
|
||||||
+ | ("sles"|"suse-based"|"opensuse"), major ->
|
|
||||||
+ if major < 10 then I440FX else Q35
|
|
||||||
+ | ("debian"|"ubuntu"|"linuxmint"|"kalilinux"), major ->
|
|
||||||
+ if major < 4 then I440FX else Q35
|
|
||||||
|
|
||||||
- (* reasonable default for all modern Linux kernels *)
|
|
||||||
- | ("i386"|"x86_64"), _, _ -> Q35
|
|
||||||
+ (* reasonable default for all modern Linux kernels *)
|
|
||||||
+ | _, _ -> Q35
|
|
||||||
+ ), true
|
|
||||||
+ )
|
|
||||||
|
|
||||||
- | _ -> Virt in
|
|
||||||
+ | _ -> Virt, true
|
|
||||||
+ in
|
|
||||||
|
|
||||||
(* Return guest capabilities from the convert () function. *)
|
|
||||||
let guestcaps = {
|
|
||||||
@@ -155,7 +168,7 @@ let convert (g : G.guestfs) source inspect keep_serial_console _ =
|
|
||||||
gcaps_machine = machine;
|
|
||||||
gcaps_arch = Utils.kvm_arch inspect.i_arch;
|
|
||||||
gcaps_acpi = acpi;
|
|
||||||
- gcaps_virtio_1_0 = true;
|
|
||||||
+ gcaps_virtio_1_0 = virtio_1_0;
|
|
||||||
} in
|
|
||||||
|
|
||||||
guestcaps
|
|
||||||
diff --git a/convert/convert_windows.ml b/convert/convert_windows.ml
|
|
||||||
index 30e494ea..1c2d17f2 100644
|
|
||||||
--- a/convert/convert_windows.ml
|
|
||||||
+++ b/convert/convert_windows.ml
|
|
||||||
@@ -238,15 +238,27 @@ let convert (g : G.guestfs) _ inspect _ static_ips =
|
|
||||||
warning (f_"this guest has Anti-Virus (AV) software and a new virtio block device driver was installed. In some circumstances, AV may prevent new drivers from working (resulting in a 7B boot error). If this happens, try disabling AV before doing the conversion.");
|
|
||||||
);
|
|
||||||
|
|
||||||
- (* Pivot on the year 2007. Any Windows version from earlier than
|
|
||||||
- * 2007 should use i440fx, anything 2007 or newer should use q35.
|
|
||||||
- * Luckily this coincides almost exactly with the release of NT 6.
|
|
||||||
- * XXX Look up this information in libosinfo in future.
|
|
||||||
- *)
|
|
||||||
- let machine =
|
|
||||||
- match inspect.i_arch, inspect.i_major_version with
|
|
||||||
- | ("i386"|"x86_64"), major -> if major < 6 then I440FX else Q35
|
|
||||||
- | _ -> Virt in
|
|
||||||
+ let machine, virtio_1_0 =
|
|
||||||
+ match inspect.i_arch with
|
|
||||||
+ | ("i386"|"x86_64") ->
|
|
||||||
+ (try
|
|
||||||
+ let os = Libosinfo_utils.get_os_by_short_id inspect.i_osinfo in
|
|
||||||
+ let devices = os#get_devices () in
|
|
||||||
+ debug "libosinfo devices for OS \"%s\":\n%s" inspect.i_osinfo
|
|
||||||
+ (Libosinfo_utils.string_of_osinfo_device_list devices);
|
|
||||||
+ let { Libosinfo_utils.q35; vio10 } =
|
|
||||||
+ Libosinfo_utils.os_support_of_osinfo_device_list devices in
|
|
||||||
+ (if q35 then Q35 else I440FX), vio10
|
|
||||||
+ with
|
|
||||||
+ | Not_found ->
|
|
||||||
+ (* Pivot on the year 2007. Any Windows version from earlier than
|
|
||||||
+ * 2007 should use i440fx, anything 2007 or newer should use q35.
|
|
||||||
+ * Luckily this coincides almost exactly with the release of NT 6.
|
|
||||||
+ *)
|
|
||||||
+ (if inspect.i_major_version < 6 then I440FX else Q35), true
|
|
||||||
+ )
|
|
||||||
+ | _ -> Virt, true
|
|
||||||
+ in
|
|
||||||
|
|
||||||
(* Return guest capabilities from the convert () function. *)
|
|
||||||
let guestcaps = {
|
|
||||||
@@ -259,7 +271,7 @@ let convert (g : G.guestfs) _ inspect _ static_ips =
|
|
||||||
gcaps_machine = machine;
|
|
||||||
gcaps_arch = Utils.kvm_arch inspect.i_arch;
|
|
||||||
gcaps_acpi = true;
|
|
||||||
- gcaps_virtio_1_0 = true;
|
|
||||||
+ gcaps_virtio_1_0 = virtio_1_0;
|
|
||||||
} in
|
|
||||||
|
|
||||||
guestcaps
|
|
||||||
diff --git a/tests/test-v2v-cdrom.expected b/tests/test-v2v-cdrom.expected
|
|
||||||
index 17bd152d..b9504929 100644
|
|
||||||
--- a/tests/test-v2v-cdrom.expected
|
|
||||||
+++ b/tests/test-v2v-cdrom.expected
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
- <disk type='file' device='disk'>
|
|
||||||
+ <disk type='file' device='disk' model='virtio-transitional'>
|
|
||||||
<driver name='qemu' type='raw'/>
|
|
||||||
<target dev='vda' bus='virtio'/>
|
|
||||||
</disk>
|
|
||||||
diff --git a/tests/test-v2v-floppy.expected b/tests/test-v2v-floppy.expected
|
|
||||||
index a718c21f..f4b67954 100644
|
|
||||||
--- a/tests/test-v2v-floppy.expected
|
|
||||||
+++ b/tests/test-v2v-floppy.expected
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
- <disk type='file' device='disk'>
|
|
||||||
+ <disk type='file' device='disk' model='virtio-transitional'>
|
|
||||||
<driver name='qemu' type='raw'/>
|
|
||||||
<target dev='vda' bus='virtio'/>
|
|
||||||
</disk>
|
|
||||||
diff --git a/tests/test-v2v-i-ova.xml b/tests/test-v2v-i-ova.xml
|
|
||||||
index 9f3c1974..2b6a8de0 100644
|
|
||||||
--- a/tests/test-v2v-i-ova.xml
|
|
||||||
+++ b/tests/test-v2v-i-ova.xml
|
|
||||||
@@ -21,7 +21,7 @@
|
|
||||||
<on_reboot>restart</on_reboot>
|
|
||||||
<on_crash>restart</on_crash>
|
|
||||||
<devices>
|
|
||||||
- <disk type='file' device='disk'>
|
|
||||||
+ <disk type='file' device='disk' model='virtio-transitional'>
|
|
||||||
<driver name='qemu' type='raw'/>
|
|
||||||
<source file='TestOva-sda'/>
|
|
||||||
<target dev='vda' bus='virtio'/>
|
|
||||||
@@ -36,16 +36,16 @@
|
|
||||||
</disk>
|
|
||||||
<interface type='bridge'>
|
|
||||||
<source bridge='VM Network'/>
|
|
||||||
- <model type='virtio'/>
|
|
||||||
+ <model type='virtio-transitional'/>
|
|
||||||
</interface>
|
|
||||||
<video>
|
|
||||||
<model type='vga' vram='16384' heads='1'/>
|
|
||||||
</video>
|
|
||||||
<graphics type='vnc' autoport='yes' port='-1'/>
|
|
||||||
- <rng model='virtio'>
|
|
||||||
+ <rng model='virtio-transitional'>
|
|
||||||
<backend model='random'>/dev/urandom</backend>
|
|
||||||
</rng>
|
|
||||||
- <memballoon model='virtio'/>
|
|
||||||
+ <memballoon model='virtio-transitional'/>
|
|
||||||
<viosock model='none'/>
|
|
||||||
<input type='tablet' bus='usb'/>
|
|
||||||
<input type='mouse' bus='ps2'/>
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From a6b21f626a74c436563c14751f19f60a6433e153 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)
|
|
||||||
|
|
||||||
The SDL output mode is not supported in RHEL's qemu-kvm.
|
|
||||||
---
|
|
||||||
input/input_disk.ml | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/input/input_disk.ml b/input/input_disk.ml
|
|
||||||
index 0d92f256..753938f6 100644
|
|
||||||
--- a/input/input_disk.ml
|
|
||||||
+++ b/input/input_disk.ml
|
|
||||||
@@ -70,7 +70,7 @@ let rec disk_source dir options args =
|
|
||||||
s_features = [ "acpi"; "apic"; "pae" ];
|
|
||||||
s_firmware = UnknownFirmware; (* causes virt-v2v to autodetect *)
|
|
||||||
s_display =
|
|
||||||
- Some { s_display_type = Window; s_keymap = None; s_password = None;
|
|
||||||
+ Some { s_display_type = VNC; s_keymap = None; s_password = None;
|
|
||||||
s_listen = LNoListen; s_port = None };
|
|
||||||
s_sound = None;
|
|
||||||
s_disks = s_disks;
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
|
||||||
|
|
||||||
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmHW+SkRHHJpY2hAYW5u
|
|
||||||
ZXhpYS5vcmcACgkQkXOPc+G3aKCH9g/+LcnZLSLWTtcb8ZeXsxdAX8hna4r15VsE
|
|
||||||
c4qZqT8/DJCrAw5aaP+udTryF01RMXogCeIx+zaEPioCNlISxQRBooKwz6V8ajP6
|
|
||||||
vglyzu6veZ1TYwdnmnDhp8GThoP4NTtHRINMTOpgpMR6FKTIrdDGu6WN3DHaMCQL
|
|
||||||
E2nNBWKNOiiYZfR6O/mZlpxnnIag6O7/5ZM4QgGFdZXe83adYNNuB9Mg06RSt3wa
|
|
||||||
Ae9zaqBU3AonVZFe41XJv1Zs7uis7zUu03sHUDP1R6NpVfo1+93EKju71Tshd/Aq
|
|
||||||
9ZXN+3ELlj+9uYqTDycCbQWHzP/PuwtRNLAQVlQPm3S/emW54IaPAwU8auIboR4W
|
|
||||||
fhlWqFoYzDg4JRB44/N9+eTRUYDrDS5UgAzy5IwuOJMp0sLo4vl0mRa5y7ddDyG2
|
|
||||||
sNI2TbJNFgOfKbRdcZD5JUQNuym5TXvd6LGzMOoLYFa6dOOx18LJHUvloVuHzZu5
|
|
||||||
Y2AJFQDpOB6j3cG4dre/K2Nm806spBLbvYEMB4wBSJECfOTC6Toz0DeHoGsVlv08
|
|
||||||
ATeaM9zKJyPUtnFKETY1v+tUnOc41bh8YHYhP/KrYOjC+pQlJsNZyPwmgL+WC8gw
|
|
||||||
zMmLfdKrmqNNeZD0uoWcPT0myqrnRdu69anqVHVLIEaBHsp9TwwxrIrfS028FtxP
|
|
||||||
u70vmzhQjM0=
|
|
||||||
=OjBh
|
|
||||||
-----END PGP SIGNATURE-----
|
|
17
SOURCES/virt-v2v-1.45.99.tar.gz.sig
Normal file
17
SOURCES/virt-v2v-1.45.99.tar.gz.sig
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmIL8EkRHHJpY2hAYW5u
|
||||||
|
ZXhpYS5vcmcACgkQkXOPc+G3aKCSExAAiEWAd+WvG8cf33xrDzAERh3Hg/E89iTv
|
||||||
|
P0Ue9HEWFb4yLEKckW7WjagDxrdBdf7VBkBY2wgkkUVq0o4bWhQVWEKPfgWXdiJC
|
||||||
|
5sE4wO4trCQDCyZLB/iSiH85oQVf839Jbk04qHWUU7DXsE6apL1LMi2xRUlMPRTf
|
||||||
|
6hZVe9WIjlKonzuteQslqVHKVhTZmqkr1NTkYq0OhCHFzMpb1xi0JQni9vKXIaSN
|
||||||
|
4vvaDXBzBZW+00iux1PE/Age9QC3AkSESF95Uqx6nYSF98aBEG+3ErcUkMXxL8+i
|
||||||
|
c6RYwqFC2oINEPHg46dZtZyAiJNVY4H7hAM1DDe47tFWvmLEIEgyS5XkPfdfReoX
|
||||||
|
vVheS+cn6uRbSGeG1iF2ru8ehb+uscatwFc9eWsvoQ10Mt477R7VoG6gTYfIAwP8
|
||||||
|
hy5gCgyhlT9t1KKp/39UK4WIwSbIOl6vXH2Kpzam0wKb8xynHYU4cyvk4TGZk+ks
|
||||||
|
+a63+98ZYeL3hBHAIe2u1wDmgdbVSfvIcK7TEzFTPesAm2WqhkC08CPfinS9vCUI
|
||||||
|
VogUpze9+zHZaSBWHCPhfUBpUNF6tGvLRlH0B/ml/6E8csSQ+kT8CWl0ZGvJuNfB
|
||||||
|
es8QiAT5XXXTrNgAw782xZOP6aieNrnoNY0J7rFaAbL1OaIXC21lGWAPSZeCOOo/
|
||||||
|
PRaJqt5iaDA=
|
||||||
|
=okD+
|
||||||
|
-----END PGP SIGNATURE-----
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
Name: virt-v2v
|
Name: virt-v2v
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 1.45.96
|
Version: 1.45.99
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Convert a virtual machine to run on KVM
|
Summary: Convert a virtual machine to run on KVM
|
||||||
|
|
||||||
@ -51,24 +51,15 @@ ExclusiveArch: x86_64
|
|||||||
# Downstream (RHEL-only) patches.
|
# Downstream (RHEL-only) patches.
|
||||||
%if 0%{?rhel}
|
%if 0%{?rhel}
|
||||||
# Patches.
|
# Patches.
|
||||||
Patch0001: 0001-lib-types-reformat-string_of_guestcaps.patch
|
Patch0001: 0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
|
||||||
Patch0002: 0002-lib-types-update-string_of_guestcaps.patch
|
Patch0002: 0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
|
||||||
Patch0003: 0003-lib-types-introduce-the-gcaps_virtio_1_0-guest-capab.patch
|
Patch0003: 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
|
||||||
Patch0004: 0004-output-create_libvirt_xml-pick-virtio-transitional-m.patch
|
Patch0004: 0004-RHEL-Fixes-for-libguestfs-winsupport.patch
|
||||||
Patch0005: 0005-output-create_json-expose-gcaps_virtio_1_0.patch
|
Patch0005: 0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
|
||||||
Patch0006: 0006-convert-libosinfo-wrap-osinfo_os_get_all_devices.patch
|
Patch0006: 0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch
|
||||||
Patch0007: 0007-convert-libosinfo_utils-introduce-string_of_osinfo_d.patch
|
Patch0007: 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
|
||||||
Patch0008: 0008-convert-libosinfo_utils-introduce-os_support_of_osin.patch
|
Patch0008: 0008-RHEL-Disable-o-glance.patch
|
||||||
Patch0009: 0009-convert-determine-machine-type-and-virtio-1.0-from-o.patch
|
Patch0009: 0009-RHEL-Remove-the-in-place-option.patch
|
||||||
Patch0010: 0010-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
|
|
||||||
Patch0011: 0011-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
|
|
||||||
Patch0012: 0012-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
|
|
||||||
Patch0013: 0013-RHEL-Fixes-for-libguestfs-winsupport.patch
|
|
||||||
Patch0014: 0014-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
|
|
||||||
Patch0015: 0015-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch
|
|
||||||
Patch0016: 0016-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
|
|
||||||
Patch0017: 0017-RHEL-Disable-o-glance.patch
|
|
||||||
Patch0018: 0018-RHEL-Remove-the-in-place-option.patch
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{patches_touch_autotools}
|
%if 0%{patches_touch_autotools}
|
||||||
@ -86,7 +77,7 @@ BuildRequires: bash-completion
|
|||||||
BuildRequires: file-devel
|
BuildRequires: file-devel
|
||||||
BuildRequires: gettext-devel
|
BuildRequires: gettext-devel
|
||||||
BuildRequires: jansson-devel
|
BuildRequires: jansson-devel
|
||||||
BuildRequires: libnbd-devel
|
BuildRequires: libnbd-devel >= 1.10.3
|
||||||
BuildRequires: libosinfo-devel
|
BuildRequires: libosinfo-devel
|
||||||
BuildRequires: libvirt-daemon-kvm
|
BuildRequires: libvirt-daemon-kvm
|
||||||
BuildRequires: libvirt-devel
|
BuildRequires: libvirt-devel
|
||||||
@ -139,6 +130,7 @@ Requires: edk2-ovmf
|
|||||||
Requires: edk2-aarch64
|
Requires: edk2-aarch64
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
Requires: platform-python
|
||||||
Requires: libnbd >= 1.8.2-2.el9
|
Requires: libnbd >= 1.8.2-2.el9
|
||||||
Requires: %{_bindir}/qemu-nbd
|
Requires: %{_bindir}/qemu-nbd
|
||||||
Requires: %{_bindir}/nbdcopy
|
Requires: %{_bindir}/nbdcopy
|
||||||
@ -153,6 +145,7 @@ Requires: nbdkit-ssh-plugin
|
|||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
Requires: nbdkit-vddk-plugin
|
Requires: nbdkit-vddk-plugin
|
||||||
%endif
|
%endif
|
||||||
|
Requires: nbdkit-blocksize-filter
|
||||||
Requires: nbdkit-cacheextents-filter
|
Requires: nbdkit-cacheextents-filter
|
||||||
Requires: nbdkit-cow-filter >= 1.26.5-1.el9
|
Requires: nbdkit-cow-filter >= 1.26.5-1.el9
|
||||||
Requires: nbdkit-rate-filter
|
Requires: nbdkit-rate-filter
|
||||||
@ -309,11 +302,49 @@ popd
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Jan 06 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.96-1
|
* Tue Feb 15 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.99-1
|
||||||
- Rebase to upstream 1.45.96.
|
- Rebase to upstream 1.45.99.
|
||||||
|
- Add check for sufficient free space in the host
|
||||||
|
resolves: rhbz#2051394
|
||||||
|
- Update documentation of -ip for conversions from VMware over HTTPS
|
||||||
|
related: rhbz#1960087
|
||||||
|
- -o rhv-upload: Keep connections alive
|
||||||
|
resolves: rhbz#2032324
|
||||||
|
- -o rhv-upload: Improve conversion performance
|
||||||
|
resolves: rhbz#2039255
|
||||||
|
- -o rhv-upload: Replace -oo rhv-direct with -oo rhv-proxy
|
||||||
|
resolves: rhbz#2033096
|
||||||
|
- Fix log line wrapping making log parsing difficult (1820221)
|
||||||
|
|
||||||
|
* Wed Feb 2 2022 Laszlo Ersek <lersek@redhat.com> - 1:1.45.97-4
|
||||||
|
- v2v import from vCenter fails when using interactive password because
|
||||||
|
cookie-script tries to be interactive
|
||||||
|
(pick commit 8abc07a8589a)
|
||||||
|
resolves: rhbz#1960087
|
||||||
|
- model='virtio-transitional' is wrongly added when converting windows
|
||||||
|
guest to local by rhel9 v2v
|
||||||
|
(pick commit range commit range 8abc07a8589a..cacedec64072)
|
||||||
|
resolves: rhbz#2043333
|
||||||
|
|
||||||
|
* Wed Jan 26 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.97-3
|
||||||
|
- Rebase to upstream 1.45.97.
|
||||||
resolves: rhbz#2011713
|
resolves: rhbz#2011713
|
||||||
- Add virtio-transitional for older guests when converting to q35
|
- Add virtio-transitional for older guests when converting to q35
|
||||||
resolves: rhbz#1942325
|
resolves: rhbz#1942325
|
||||||
|
- Fix -o rhv mode
|
||||||
|
resolves: rhbz#2027598
|
||||||
|
- input: xen: Fix assertion error when importing from remote block device
|
||||||
|
resolves: rhbz#2041852
|
||||||
|
- output: -o json: Allow -oo (output options) to work
|
||||||
|
resolves: rhbz#2041850
|
||||||
|
- Fix virt-v2v hang when given incorrect vpx:// URL
|
||||||
|
resolves: rhbz#2041886
|
||||||
|
- Fix hang when converting with virt-p2v
|
||||||
|
resolves: rhbz#2044911
|
||||||
|
- Send nbdinfo debugging information to stderr
|
||||||
|
resolves: rhbz#2044922
|
||||||
|
- Explicitly require platform-python
|
||||||
|
resolves: rhbz#2046178
|
||||||
|
|
||||||
* Thu Dec 23 2021 Laszlo Ersek <lersek@redhat.com> - 1:1.45.95-3
|
* Thu Dec 23 2021 Laszlo Ersek <lersek@redhat.com> - 1:1.45.95-3
|
||||||
- output_rhv: restrict block status collection to the old RHV output
|
- output_rhv: restrict block status collection to the old RHV output
|
||||||
|
Loading…
Reference in New Issue
Block a user