New upstream development version 1.45.90 (preview of 2.0)
This commit is contained in:
parent
c8d08693ef
commit
4e3368f10c
@ -0,0 +1,33 @@
|
|||||||
|
From f417ca536219b151284a5a0e28698bfa19a5c160 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
|
Date: Sun, 28 Sep 2014 19:14:43 +0100
|
||||||
|
Subject: [PATCH 1/8] RHEL: v2v: Select correct qemu binary for -o qemu mode
|
||||||
|
(RHBZ#1147313).
|
||||||
|
|
||||||
|
RHEL does not have qemu-system-x86_64 (etc), and in addition the
|
||||||
|
qemu binary is located in /usr/libexec. Encode the path to this
|
||||||
|
binary directly in the script.
|
||||||
|
|
||||||
|
Note that we don't support people running qemu directly like this.
|
||||||
|
It's just for quick testing of converted VMs, and to help us with
|
||||||
|
support cases.
|
||||||
|
---
|
||||||
|
output/output.ml | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/output/output.ml b/output/output.ml
|
||||||
|
index 9c2d8853..92b03525 100644
|
||||||
|
--- a/output/output.ml
|
||||||
|
+++ b/output/output.ml
|
||||||
|
@@ -1413,7 +1413,7 @@ and qemu_finalize dir source inspect target_meta
|
||||||
|
* module deals with shell and qemu comma quoting.
|
||||||
|
*)
|
||||||
|
let cmd = Qemuopts.create () in
|
||||||
|
- Qemuopts.set_binary_by_arch cmd (Some guestcaps.gcaps_arch);
|
||||||
|
+ Qemuopts.set_binary cmd "/usr/libexec/qemu-kvm";
|
||||||
|
|
||||||
|
let flag = Qemuopts.flag cmd
|
||||||
|
and arg = Qemuopts.arg cmd
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -1,123 +0,0 @@
|
|||||||
From 4d5509a98823cc0b8930678716b862adbd2c0b81 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
||||||
Date: Fri, 6 Aug 2021 13:01:28 +0100
|
|
||||||
Subject: [PATCH 01/11] Revert "v2v: Remove -o rhv-upload -oa preallocated"
|
|
||||||
|
|
||||||
This reverts commit 18084f90d9dd9092831cb3487039328981796291.
|
|
||||||
---
|
|
||||||
v2v/cmdline.ml | 2 +-
|
|
||||||
v2v/output_rhv_upload.ml | 22 ++++++++++++++++++++--
|
|
||||||
v2v/output_rhv_upload.mli | 7 ++++---
|
|
||||||
v2v/rhv-upload-transfer.py | 1 +
|
|
||||||
4 files changed, 26 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml
|
|
||||||
index 79d943df..5e7c01f8 100644
|
|
||||||
--- a/v2v/cmdline.ml
|
|
||||||
+++ b/v2v/cmdline.ml
|
|
||||||
@@ -699,7 +699,7 @@ read the man page virt-v2v(1).
|
|
||||||
| Some os -> os in
|
|
||||||
if qemu_boot then
|
|
||||||
error_option_cannot_be_used_in_output_mode "rhv-upload" "--qemu-boot";
|
|
||||||
- Output_rhv_upload.output_rhv_upload output_conn
|
|
||||||
+ Output_rhv_upload.output_rhv_upload output_alloc output_conn
|
|
||||||
output_password os
|
|
||||||
rhv_options,
|
|
||||||
output_format, output_alloc
|
|
||||||
diff --git a/v2v/output_rhv_upload.ml b/v2v/output_rhv_upload.ml
|
|
||||||
index 6a632eaa..50baa595 100644
|
|
||||||
--- a/v2v/output_rhv_upload.ml
|
|
||||||
+++ b/v2v/output_rhv_upload.ml
|
|
||||||
@@ -146,11 +146,22 @@ let error_unless_nbdkit_compiled_with_selinux config =
|
|
||||||
error (f_"nbdkit was compiled without SELinux support. You will have to recompile nbdkit with libselinux-devel installed, or else set SELinux to Permissive mode while doing the conversion.")
|
|
||||||
)
|
|
||||||
|
|
||||||
+(* Output sparse must be sparse. We may be able to
|
|
||||||
+ * lift this limitation in future, but it requires changes on the
|
|
||||||
+ * RHV side. See TODO file for details. XXX
|
|
||||||
+ *)
|
|
||||||
+let error_current_limitation required_param =
|
|
||||||
+ error (f_"rhv-upload: currently you must use ‘%s’. This restriction will be loosened in a future version.") required_param
|
|
||||||
+
|
|
||||||
+let error_unless_output_alloc_sparse output_alloc =
|
|
||||||
+ if output_alloc <> Sparse then
|
|
||||||
+ error_current_limitation "-oa sparse"
|
|
||||||
+
|
|
||||||
let json_optstring = function
|
|
||||||
| Some s -> JSON.String s
|
|
||||||
| None -> JSON.Null
|
|
||||||
|
|
||||||
-class output_rhv_upload output_conn
|
|
||||||
+class output_rhv_upload output_alloc output_conn
|
|
||||||
output_password output_storage
|
|
||||||
rhv_options =
|
|
||||||
(* Create a temporary directory which will be deleted on exit. *)
|
|
||||||
@@ -189,6 +200,9 @@ class output_rhv_upload output_conn
|
|
||||||
"output_conn", JSON.String output_conn;
|
|
||||||
"output_password", JSON.String output_password;
|
|
||||||
"output_storage", JSON.String output_storage;
|
|
||||||
+ "output_sparse", JSON.Bool (match output_alloc with
|
|
||||||
+ | Sparse -> true
|
|
||||||
+ | Preallocated -> false);
|
|
||||||
"rhv_cafile", json_optstring rhv_options.rhv_cafile;
|
|
||||||
"rhv_cluster",
|
|
||||||
JSON.String (Option.default "Default" rhv_options.rhv_cluster);
|
|
||||||
@@ -257,6 +271,7 @@ object
|
|
||||||
error_unless_nbdkit_min_version config;
|
|
||||||
error_unless_nbdkit_python_plugin_working plugin_script;
|
|
||||||
error_unless_nbdkit_compiled_with_selinux config;
|
|
||||||
+ error_unless_output_alloc_sparse output_alloc;
|
|
||||||
|
|
||||||
(* Python code prechecks. *)
|
|
||||||
let json_params = match rhv_options.rhv_disk_uuids with
|
|
||||||
@@ -282,6 +297,9 @@ object
|
|
||||||
|
|
||||||
method as_options =
|
|
||||||
"-o rhv-upload" ^
|
|
||||||
+ (match output_alloc with
|
|
||||||
+ | Sparse -> "" (* default, don't need to print it *)
|
|
||||||
+ | Preallocated -> " -oa preallocated") ^
|
|
||||||
sprintf " -oc %s -op %s -os %s"
|
|
||||||
output_conn output_password output_storage
|
|
||||||
|
|
||||||
@@ -449,7 +467,7 @@ object
|
|
||||||
(* Create the metadata. *)
|
|
||||||
let ovf =
|
|
||||||
Create_ovf.create_ovf source inspect target_meta targets
|
|
||||||
- Sparse sd_uuid disk_uuids vol_uuids vm_uuid
|
|
||||||
+ output_alloc sd_uuid disk_uuids vol_uuids vm_uuid
|
|
||||||
OVirt in
|
|
||||||
let ovf = DOM.doc_to_string ovf in
|
|
||||||
|
|
||||||
diff --git a/v2v/output_rhv_upload.mli b/v2v/output_rhv_upload.mli
|
|
||||||
index 01507dff..eb85a57d 100644
|
|
||||||
--- a/v2v/output_rhv_upload.mli
|
|
||||||
+++ b/v2v/output_rhv_upload.mli
|
|
||||||
@@ -25,8 +25,9 @@ val print_output_options : unit -> unit
|
|
||||||
val parse_output_options : (string * string) list -> rhv_options
|
|
||||||
(** Print and parse rhv-upload -oo options. *)
|
|
||||||
|
|
||||||
-val output_rhv_upload : string -> string -> string -> rhv_options ->
|
|
||||||
- Types.output
|
|
||||||
-(** [output_rhv_upload output_conn output_password output_storage rhv_options]
|
|
||||||
+val output_rhv_upload : Types.output_allocation -> string -> string ->
|
|
||||||
+ string -> rhv_options -> Types.output
|
|
||||||
+(** [output_rhv_upload output_alloc output_conn output_password output_storage
|
|
||||||
+ rhv_options]
|
|
||||||
creates and returns a new {!Types.output} object specialized for writing
|
|
||||||
output to oVirt or RHV directly via RHV APIs. *)
|
|
||||||
diff --git a/v2v/rhv-upload-transfer.py b/v2v/rhv-upload-transfer.py
|
|
||||||
index cf4f8807..5aebcd1d 100644
|
|
||||||
--- a/v2v/rhv-upload-transfer.py
|
|
||||||
+++ b/v2v/rhv-upload-transfer.py
|
|
||||||
@@ -111,6 +111,7 @@ def create_disk(connection):
|
|
||||||
# size, based on qemu-img measure of the overlay.
|
|
||||||
initial_size=params['disk_size'],
|
|
||||||
provisioned_size=params['disk_size'],
|
|
||||||
+ # XXX Ignores params['output_sparse'].
|
|
||||||
# Handling this properly will be complex, see:
|
|
||||||
# https://www.redhat.com/archives/libguestfs/2018-March/msg00177.html
|
|
||||||
sparse=True,
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From bb55b78b68e6e8039734eb1d7af22b455f8fbdc2 Mon Sep 17 00:00:00 2001
|
From 00490feb06496ad4bf22dbc5493a7cf186476e9f 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 04/11] RHEL: v2v: Disable the --qemu-boot option
|
Subject: [PATCH 2/8] RHEL: v2v: Disable the --qemu-boot / -oo qemu-boot option
|
||||||
(RHBZ#1147313).
|
(RHBZ#1147313).
|
||||||
|
|
||||||
This cannot work because there is no Gtk or SDL output mode
|
This cannot work because there is no Gtk or SDL output mode
|
||||||
@ -11,9 +11,10 @@ In addition you will have to edit the -display option in the
|
|||||||
qemu script.
|
qemu script.
|
||||||
---
|
---
|
||||||
docs/virt-v2v-output-local.pod | 6 ++----
|
docs/virt-v2v-output-local.pod | 6 ++----
|
||||||
docs/virt-v2v.pod | 13 -------------
|
docs/virt-v2v.pod | 12 ------------
|
||||||
v2v/cmdline.ml | 3 ++-
|
output/output.ml | 3 +++
|
||||||
3 files changed, 4 insertions(+), 18 deletions(-)
|
v2v/v2v.ml | 2 --
|
||||||
|
4 files changed, 5 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
diff --git a/docs/virt-v2v-output-local.pod b/docs/virt-v2v-output-local.pod
|
diff --git a/docs/virt-v2v-output-local.pod b/docs/virt-v2v-output-local.pod
|
||||||
index a5f155cb..3a2e6238 100644
|
index a5f155cb..3a2e6238 100644
|
||||||
@ -43,7 +44,7 @@ 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 bdf4d716..83f6fd4d 100644
|
index b25d678d..0a47b611 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
|
@@ -141,11 +141,6 @@ Since F<guest-domain.xml> contains the path(s) to the guest disk
|
||||||
@ -53,54 +54,59 @@ index bdf4d716..83f6fd4d 100644
|
|||||||
-To convert a local disk image and immediately boot it in local
|
-To convert a local disk image and immediately boot it in local
|
||||||
-qemu, do:
|
-qemu, do:
|
||||||
-
|
-
|
||||||
- virt-v2v -i disk disk.img -o qemu -os /var/tmp --qemu-boot
|
- virt-v2v -i disk disk.img -o qemu -os /var/tmp -oo qemu-boot
|
||||||
-
|
-
|
||||||
=head1 OPTIONS
|
=head1 OPTIONS
|
||||||
|
|
||||||
=over 4
|
=over 4
|
||||||
@@ -528,9 +523,6 @@ This is similar to I<-o local>, except that a shell script is written
|
@@ -511,9 +506,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>.
|
||||||
|
|
||||||
-When using this output mode, you can also specify the I<--qemu-boot>
|
-When using this output mode, you can also specify the I<-oo qemu-boot>
|
||||||
-option which boots the guest under qemu immediately.
|
-option which boots the guest under qemu immediately.
|
||||||
-
|
-
|
||||||
=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>.
|
||||||
@@ -775,11 +767,6 @@ Print information about the source guest and stop. This option is
|
@@ -769,10 +761,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>.
|
||||||
|
|
||||||
-=item B<--qemu-boot>
|
-=item B<--qemu-boot>
|
||||||
-
|
-
|
||||||
-When using I<-o qemu> only, this boots the guest immediately after
|
-This is the same as I<-oo qemu-boot>.
|
||||||
-virt-v2v finishes.
|
|
||||||
-
|
-
|
||||||
=item B<-q>
|
=item B<-q>
|
||||||
|
|
||||||
=item B<--quiet>
|
=item B<--quiet>
|
||||||
diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml
|
diff --git a/output/output.ml b/output/output.ml
|
||||||
index 5e7c01f8..ac10ec31 100644
|
index 92b03525..1414a521 100644
|
||||||
--- a/v2v/cmdline.ml
|
--- a/output/output.ml
|
||||||
+++ b/v2v/cmdline.ml
|
+++ b/output/output.ml
|
||||||
@@ -276,7 +276,6 @@ let parse_cmdline () =
|
@@ -1346,6 +1346,9 @@ and qemu_parse_options cmdline =
|
||||||
|
) cmdline.output_options;
|
||||||
|
let qemu_boot = !qemu_boot in
|
||||||
|
|
||||||
|
+ if qemu_boot then
|
||||||
|
+ error (f_"-o qemu: the -oo qemu-boot option cannot be used in RHEL");
|
||||||
|
+
|
||||||
|
(* -os must be set to a directory. *)
|
||||||
|
let output_storage =
|
||||||
|
match cmdline.output_storage with
|
||||||
|
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||||||
|
index a88e0509..1104295c 100644
|
||||||
|
--- a/v2v/v2v.ml
|
||||||
|
+++ b/v2v/v2v.ml
|
||||||
|
@@ -218,8 +218,6 @@ let rec main () =
|
||||||
s_"Same as ‘-ip filename’";
|
s_"Same as ‘-ip filename’";
|
||||||
[ L"print-source" ], Getopt.Set print_source,
|
[ L"print-source" ], Getopt.Set print_source,
|
||||||
s_"Print source and stop";
|
s_"Print source and stop";
|
||||||
- [ L"qemu-boot" ], Getopt.Set qemu_boot, s_"Boot in qemu (-o qemu only)";
|
- [ L"qemu-boot" ], Getopt.Unit (fun () -> add_o_option "-oo" "qemu-boot"),
|
||||||
[ L"root" ], Getopt.String ("ask|... ", set_root_choice),
|
- s_"Boot in qemu (-o qemu only)";
|
||||||
|
[ L"root" ], Getopt.String ("ask|... ", add_conv_option "--root"),
|
||||||
s_"How to choose root filesystem";
|
s_"How to choose root filesystem";
|
||||||
[ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"),
|
[ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"),
|
||||||
@@ -652,6 +651,8 @@ read the man page virt-v2v(1).
|
|
||||||
| Some d when not (is_directory d) ->
|
|
||||||
error (f_"-os %s: output directory does not exist or is not a directory") d
|
|
||||||
| Some d -> d in
|
|
||||||
+ if qemu_boot then
|
|
||||||
+ error (f_"-o qemu: the --qemu-boot option cannot be used in RHEL");
|
|
||||||
Output_qemu.output_qemu os qemu_boot,
|
|
||||||
output_format, output_alloc
|
|
||||||
|
|
||||||
--
|
--
|
||||||
2.31.1
|
2.31.1
|
||||||
|
|
@ -1,90 +0,0 @@
|
|||||||
From abe3c7539b6221e8ab3cc35ee3d58b1aa06bbef4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
||||||
Date: Mon, 14 May 2018 10:16:58 +0100
|
|
||||||
Subject: [PATCH 02/11] RHEL: v2v: rhv-upload: Remove restriction on -oa
|
|
||||||
sparse.
|
|
||||||
|
|
||||||
See: https://bugzilla.redhat.com/show_bug.cgi?id=1565681
|
|
||||||
and the v2v-devel private thread "Do we already support migration using FC?"
|
|
||||||
---
|
|
||||||
docs/virt-v2v-output-rhv.pod | 8 +-------
|
|
||||||
v2v/output_rhv_upload.ml | 10 +---------
|
|
||||||
v2v/rhv-upload-transfer.py | 4 +---
|
|
||||||
3 files changed, 3 insertions(+), 19 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/docs/virt-v2v-output-rhv.pod b/docs/virt-v2v-output-rhv.pod
|
|
||||||
index dc6b2c0a..7b8fdc0f 100644
|
|
||||||
--- a/docs/virt-v2v-output-rhv.pod
|
|
||||||
+++ b/docs/virt-v2v-output-rhv.pod
|
|
||||||
@@ -5,7 +5,7 @@ virt-v2v-output-rhv - Using virt-v2v to convert guests to oVirt or RHV
|
|
||||||
=head1 SYNOPSIS
|
|
||||||
|
|
||||||
virt-v2v [-i* options] -o rhv-upload [-oc ENGINE_URL] -os STORAGE
|
|
||||||
- [-op PASSWORD] [-of raw]
|
|
||||||
+ [-op PASSWORD]
|
|
||||||
[-oo rhv-cafile=FILE]
|
|
||||||
[-oo rhv-cluster=CLUSTER]
|
|
||||||
[-oo rhv-direct]
|
|
||||||
@@ -79,12 +79,6 @@ username is not specified then virt-v2v defaults to using
|
|
||||||
C<admin@internal> which is the typical superuser account for oVirt
|
|
||||||
instances.
|
|
||||||
|
|
||||||
-=item I<-of raw>
|
|
||||||
-
|
|
||||||
-Currently you must use I<-of raw> and you cannot use I<-oa preallocated>.
|
|
||||||
-
|
|
||||||
-These restrictions will be loosened in a future version.
|
|
||||||
-
|
|
||||||
=item I<-op> F<password-file>
|
|
||||||
|
|
||||||
A file containing a password to be used when connecting to the oVirt
|
|
||||||
diff --git a/v2v/output_rhv_upload.ml b/v2v/output_rhv_upload.ml
|
|
||||||
index 50baa595..be5e9851 100644
|
|
||||||
--- a/v2v/output_rhv_upload.ml
|
|
||||||
+++ b/v2v/output_rhv_upload.ml
|
|
||||||
@@ -146,17 +146,10 @@ let error_unless_nbdkit_compiled_with_selinux config =
|
|
||||||
error (f_"nbdkit was compiled without SELinux support. You will have to recompile nbdkit with libselinux-devel installed, or else set SELinux to Permissive mode while doing the conversion.")
|
|
||||||
)
|
|
||||||
|
|
||||||
-(* Output sparse must be sparse. We may be able to
|
|
||||||
- * lift this limitation in future, but it requires changes on the
|
|
||||||
- * RHV side. See TODO file for details. XXX
|
|
||||||
- *)
|
|
||||||
+(* Output format must be raw. *)
|
|
||||||
let error_current_limitation required_param =
|
|
||||||
error (f_"rhv-upload: currently you must use ‘%s’. This restriction will be loosened in a future version.") required_param
|
|
||||||
|
|
||||||
-let error_unless_output_alloc_sparse output_alloc =
|
|
||||||
- if output_alloc <> Sparse then
|
|
||||||
- error_current_limitation "-oa sparse"
|
|
||||||
-
|
|
||||||
let json_optstring = function
|
|
||||||
| Some s -> JSON.String s
|
|
||||||
| None -> JSON.Null
|
|
||||||
@@ -271,7 +264,6 @@ object
|
|
||||||
error_unless_nbdkit_min_version config;
|
|
||||||
error_unless_nbdkit_python_plugin_working plugin_script;
|
|
||||||
error_unless_nbdkit_compiled_with_selinux config;
|
|
||||||
- error_unless_output_alloc_sparse output_alloc;
|
|
||||||
|
|
||||||
(* Python code prechecks. *)
|
|
||||||
let json_params = match rhv_options.rhv_disk_uuids with
|
|
||||||
diff --git a/v2v/rhv-upload-transfer.py b/v2v/rhv-upload-transfer.py
|
|
||||||
index 5aebcd1d..f38cd9c0 100644
|
|
||||||
--- a/v2v/rhv-upload-transfer.py
|
|
||||||
+++ b/v2v/rhv-upload-transfer.py
|
|
||||||
@@ -111,10 +111,8 @@ def create_disk(connection):
|
|
||||||
# size, based on qemu-img measure of the overlay.
|
|
||||||
initial_size=params['disk_size'],
|
|
||||||
provisioned_size=params['disk_size'],
|
|
||||||
- # XXX Ignores params['output_sparse'].
|
|
||||||
- # Handling this properly will be complex, see:
|
|
||||||
# https://www.redhat.com/archives/libguestfs/2018-March/msg00177.html
|
|
||||||
- sparse=True,
|
|
||||||
+ sparse=params['output_sparse'],
|
|
||||||
storage_domains=[
|
|
||||||
types.StorageDomain(
|
|
||||||
name=params['output_storage'],
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
|||||||
From 49385571ce5967f8d9a102e935f201ee9c22326d Mon Sep 17 00:00:00 2001
|
From 539e158e5dffdb0324a89b2a059b44ae51d2cc29 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 05/11] RHEL: Fix list of supported sound cards to match RHEL
|
Subject: [PATCH 3/8] RHEL: Fix list of supported sound cards to match RHEL
|
||||||
qemu (RHBZ#1176493).
|
qemu (RHBZ#1176493).
|
||||||
|
|
||||||
---
|
---
|
||||||
v2v/utils.ml | 5 +++--
|
lib/utils.ml | 5 +++--
|
||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/v2v/utils.ml b/v2v/utils.ml
|
diff --git a/lib/utils.ml b/lib/utils.ml
|
||||||
index 7136e4be..a6c359f0 100644
|
index 1eac3f3f..a478fc33 100644
|
||||||
--- a/v2v/utils.ml
|
--- a/lib/utils.ml
|
||||||
+++ b/v2v/utils.ml
|
+++ b/lib/utils.ml
|
||||||
@@ -59,13 +59,14 @@ let kvm_arch = function
|
@@ -59,13 +59,14 @@ let kvm_arch = function
|
||||||
(* Does qemu support the given sound card? *)
|
(* Does qemu support the given sound card? *)
|
||||||
let qemu_supports_sound_card = function
|
let qemu_supports_sound_card = function
|
@ -1,33 +0,0 @@
|
|||||||
From 0839ba57487b73cfb684ea495280db5d946f667a Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
||||||
Date: Sun, 28 Sep 2014 19:14:43 +0100
|
|
||||||
Subject: [PATCH 03/11] RHEL: v2v: Select correct qemu binary for -o qemu mode
|
|
||||||
(RHBZ#1147313).
|
|
||||||
|
|
||||||
RHEL does not have qemu-system-x86_64 (etc), and in addition the
|
|
||||||
qemu binary is located in /usr/libexec. Encode the path to this
|
|
||||||
binary directly in the script.
|
|
||||||
|
|
||||||
Note that we don't support people running qemu directly like this.
|
|
||||||
It's just for quick testing of converted VMs, and to help us with
|
|
||||||
support cases.
|
|
||||||
---
|
|
||||||
v2v/output_qemu.ml | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/v2v/output_qemu.ml b/v2v/output_qemu.ml
|
|
||||||
index 12c56836..7391eda0 100644
|
|
||||||
--- a/v2v/output_qemu.ml
|
|
||||||
+++ b/v2v/output_qemu.ml
|
|
||||||
@@ -79,7 +79,7 @@ object
|
|
||||||
* module deals with shell and qemu comma quoting.
|
|
||||||
*)
|
|
||||||
let cmd = Qemuopts.create () in
|
|
||||||
- Qemuopts.set_binary_by_arch cmd (Some guestcaps.gcaps_arch);
|
|
||||||
+ Qemuopts.set_binary cmd "/usr/libexec/qemu-kvm";
|
|
||||||
|
|
||||||
let flag = Qemuopts.flag cmd
|
|
||||||
and arg = Qemuopts.arg cmd
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,15 +1,42 @@
|
|||||||
From db2150a5d790c35fb23c6d9d6b29e602482ce555 Mon Sep 17 00:00:00 2001
|
From b4bab3eda2afabadcbf2e07501eab2049d1a3133 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 06/11] RHEL: Fix tests for libguestfs-winsupport.
|
Subject: [PATCH 4/8] RHEL: Fixes for libguestfs-winsupport.
|
||||||
|
|
||||||
It doesn't let us use guestfish for arbitrary Windows edits.
|
In tests we cannot use guestfish for arbitrary Windows edits.
|
||||||
|
In virt-v2v helpers we must set the program name to virt-v2v.
|
||||||
---
|
---
|
||||||
|
convert/convert.ml | 1 +
|
||||||
|
convert/windows_virtio.ml | 1 +
|
||||||
test-data/phony-guests/make-windows-img.sh | 1 +
|
test-data/phony-guests/make-windows-img.sh | 1 +
|
||||||
tests/test-v2v-virtio-win-iso.sh | 8 +++++++-
|
tests/test-v2v-virtio-win-iso.sh | 8 +++++++-
|
||||||
tests/test-v2v-windows-conversion.sh | 8 +++++++-
|
tests/test-v2v-windows-conversion.sh | 8 +++++++-
|
||||||
3 files changed, 15 insertions(+), 2 deletions(-)
|
5 files changed, 17 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/convert/convert.ml b/convert/convert.ml
|
||||||
|
index 07c7aee9..a4b0c60e 100644
|
||||||
|
--- a/convert/convert.ml
|
||||||
|
+++ b/convert/convert.ml
|
||||||
|
@@ -190,6 +190,7 @@ helper-v2v-convert V2VDIR
|
||||||
|
|
||||||
|
message (f_"Opening the source");
|
||||||
|
let g = open_guestfs ~identifier:"v2v" () in
|
||||||
|
+ g#set_program "virt-v2v";
|
||||||
|
g#set_memsize (g#get_memsize () * 2);
|
||||||
|
(* Setting the number of vCPUs allows parallel mkinitrd, but make
|
||||||
|
* sure this is not too large because each vCPU consumes guest RAM.
|
||||||
|
diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml
|
||||||
|
index f843dae2..6623d03d 100644
|
||||||
|
--- a/convert/windows_virtio.ml
|
||||||
|
+++ b/convert/windows_virtio.ml
|
||||||
|
@@ -356,6 +356,7 @@ and copy_from_virtio_win g inspect srcdir destdir filter missing =
|
||||||
|
let g2 =
|
||||||
|
try
|
||||||
|
let g2 = open_guestfs ~identifier:"virtio_win" () in
|
||||||
|
+ g#set_program "virt-v2v";
|
||||||
|
g2#add_drive_opts virtio_win ~readonly:true;
|
||||||
|
g2#launch ();
|
||||||
|
g2
|
||||||
diff --git a/test-data/phony-guests/make-windows-img.sh b/test-data/phony-guests/make-windows-img.sh
|
diff --git a/test-data/phony-guests/make-windows-img.sh b/test-data/phony-guests/make-windows-img.sh
|
||||||
index 30908a91..73cf5144 100755
|
index 30908a91..73cf5144 100755
|
||||||
--- a/test-data/phony-guests/make-windows-img.sh
|
--- a/test-data/phony-guests/make-windows-img.sh
|
26
0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
Normal file
26
0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From 4022a90a8974147000fb5053d7596066db1b82b9 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 5/8] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671)
|
||||||
|
|
||||||
|
The SDL output mode is not supported in RHEL's qemu-kvm.
|
||||||
|
---
|
||||||
|
input/input.ml | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/input/input.ml b/input/input.ml
|
||||||
|
index a8416eaf..9175a531 100644
|
||||||
|
--- a/input/input.ml
|
||||||
|
+++ b/input/input.ml
|
||||||
|
@@ -270,7 +270,7 @@ and disk_source cmdline 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_video = None;
|
||||||
|
s_sound = None;
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From aa5cf3ba5d10400ee6d6c63dd77c711b6fdec116 Mon Sep 17 00:00:00 2001
|
From 7f77cb4a56eb8dcd26db9e81e0fb2f41777129c3 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 09/11] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203)
|
Subject: [PATCH 6/8] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203)
|
||||||
|
|
||||||
They are not supported in RHEL.
|
They are not supported in RHEL.
|
||||||
---
|
---
|
@ -1,7 +1,7 @@
|
|||||||
From ccaae02ef3f081b544eca82f3652ca50ac5566a9 Mon Sep 17 00:00:00 2001
|
From a4db166d7a5c480c765ee74340463db800533c73 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 10/11] RHEL: point to KB for supported v2v hypervisors/guests
|
Subject: [PATCH 7/8] RHEL: point to KB for supported v2v hypervisors/guests
|
||||||
|
|
||||||
---
|
---
|
||||||
docs/virt-v2v-support.pod | 104 ++------------------------------------
|
docs/virt-v2v-support.pod | 104 ++------------------------------------
|
@ -1,288 +0,0 @@
|
|||||||
From 3b69cfa365c7b014ca81b09e857ab294cff04914 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
||||||
Date: Thu, 14 Jan 2016 11:53:42 -0500
|
|
||||||
Subject: [PATCH 07/11] RHEL: v2v: Disable the virt-v2v --in-place option.
|
|
||||||
|
|
||||||
This disables the virt-v2v --in-place option which we do not
|
|
||||||
wish to support in RHEL.
|
|
||||||
(See commit d0069559a939e47e5f29973ed9a69a13f0b58301).
|
|
||||||
---
|
|
||||||
docs/test-v2v-docs.sh | 1 +
|
|
||||||
docs/virt-v2v.pod | 50 +----------------
|
|
||||||
tests/Makefile.am | 2 -
|
|
||||||
tests/test-v2v-in-place.sh | 108 -------------------------------------
|
|
||||||
v2v/cmdline.ml | 8 +--
|
|
||||||
5 files changed, 8 insertions(+), 161 deletions(-)
|
|
||||||
delete mode 100755 tests/test-v2v-in-place.sh
|
|
||||||
|
|
||||||
diff --git a/docs/test-v2v-docs.sh b/docs/test-v2v-docs.sh
|
|
||||||
index 465df26f..ae1a6c68 100755
|
|
||||||
--- a/docs/test-v2v-docs.sh
|
|
||||||
+++ b/docs/test-v2v-docs.sh
|
|
||||||
@@ -30,6 +30,7 @@ $srcdir/../podcheck.pl virt-v2v.pod virt-v2v \
|
|
||||||
--debug-overlay,\
|
|
||||||
--ic,\
|
|
||||||
--if,\
|
|
||||||
+--in-place,\
|
|
||||||
--io,\
|
|
||||||
--ip,\
|
|
||||||
--it,\
|
|
||||||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
|
||||||
index 83f6fd4d..719a95b5 100644
|
|
||||||
--- a/docs/virt-v2v.pod
|
|
||||||
+++ b/docs/virt-v2v.pod
|
|
||||||
@@ -8,10 +8,6 @@ virt-v2v - Convert a guest to use KVM
|
|
||||||
[-o mode] [other -o* options]
|
|
||||||
[guest|filename]
|
|
||||||
|
|
||||||
- virt-v2v --in-place
|
|
||||||
- [-i mode] [other -i* options]
|
|
||||||
- [guest|filename]
|
|
||||||
-
|
|
||||||
=head1 DESCRIPTION
|
|
||||||
|
|
||||||
Virt-v2v converts a single guest from a foreign hypervisor to run on
|
|
||||||
@@ -39,9 +35,6 @@ these sides of virt-v2v are documented separately in this manual.
|
|
||||||
|
|
||||||
Virt-v2v normally copies from the input to the output, called "copying
|
|
||||||
mode". In this case the source guest is always left unchanged.
|
|
||||||
-In-place conversion (I<--in-place>) only uses the I<-i*> options and
|
|
||||||
-modifies the source guest in-place. (See L</In-place conversion>
|
|
||||||
-below.)
|
|
||||||
|
|
||||||
=head2 Other virt-v2v topics
|
|
||||||
|
|
||||||
@@ -292,20 +285,6 @@ For I<-i disk> only, this specifies the format of the input disk
|
|
||||||
image. For other input methods you should specify the input
|
|
||||||
format in the metadata.
|
|
||||||
|
|
||||||
-=item B<--in-place>
|
|
||||||
-
|
|
||||||
-Do not create an output virtual machine in the target hypervisor.
|
|
||||||
-Instead, adjust the guest OS in the source VM to run in the input
|
|
||||||
-hypervisor.
|
|
||||||
-
|
|
||||||
-This mode is meant for integration with other toolsets, which take the
|
|
||||||
-responsibility of converting the VM configuration, providing for
|
|
||||||
-rollback in case of errors, transforming the storage, etc.
|
|
||||||
-
|
|
||||||
-See L</In-place conversion> below.
|
|
||||||
-
|
|
||||||
-Conflicts with all I<-o *> options.
|
|
||||||
-
|
|
||||||
=item B<-io> OPTION=VALUE
|
|
||||||
|
|
||||||
Set input option(s) related to the current input mode or transport.
|
|
||||||
@@ -1298,8 +1277,8 @@ have at least 100 available inodes.
|
|
||||||
=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
|
|
||||||
-find out which directory this is, use:
|
|
||||||
+store large temporary overlays. To find out
|
|
||||||
+which directory this is, use:
|
|
||||||
|
|
||||||
$ df -h "`guestfish get-cachedir`"
|
|
||||||
Filesystem Size Used Avail Use% Mounted on
|
|
||||||
@@ -1437,31 +1416,6 @@ that instead.
|
|
||||||
</devices>
|
|
||||||
</domain>
|
|
||||||
|
|
||||||
-=head2 In-place conversion
|
|
||||||
-
|
|
||||||
-It is also possible to use virt-v2v in scenarios where a foreign VM
|
|
||||||
-has already been imported into a KVM-based hypervisor, but still needs
|
|
||||||
-adjustments in the guest to make it run in the new virtual hardware.
|
|
||||||
-
|
|
||||||
-In that case it is assumed that a third-party tool has created the
|
|
||||||
-target VM in the supported KVM-based hypervisor based on the source VM
|
|
||||||
-configuration and contents, but using virtual devices more appropriate
|
|
||||||
-for KVM (e.g. virtio storage and network, etc.).
|
|
||||||
-
|
|
||||||
-Then, to make the guest OS boot and run in the changed environment,
|
|
||||||
-one can use:
|
|
||||||
-
|
|
||||||
- virt-v2v -ic qemu:///system converted_vm --in-place
|
|
||||||
-
|
|
||||||
-Virt-v2v will analyze the configuration of C<converted_vm> in the
|
|
||||||
-C<qemu:///system> libvirt instance, and apply various fixups to the
|
|
||||||
-guest OS configuration to make it match the VM configuration. This
|
|
||||||
-may include installing virtio drivers, configuring the bootloader, the
|
|
||||||
-mountpoints, the network interfaces, and so on.
|
|
||||||
-
|
|
||||||
-Should an error occur during the operation, virt-v2v exits with an
|
|
||||||
-error code leaving the VM in an undefined state.
|
|
||||||
-
|
|
||||||
=head2 Machine readable output
|
|
||||||
|
|
||||||
The I<--machine-readable> option can be used to make the output more
|
|
||||||
diff --git a/tests/Makefile.am b/tests/Makefile.am
|
|
||||||
index 41d38d30..9bbd86d6 100644
|
|
||||||
--- a/tests/Makefile.am
|
|
||||||
+++ b/tests/Makefile.am
|
|
||||||
@@ -77,7 +77,6 @@ TESTS = \
|
|
||||||
test-v2v-floppy.sh \
|
|
||||||
test-v2v-i-disk.sh \
|
|
||||||
test-v2v-i-ova.sh \
|
|
||||||
- test-v2v-in-place.sh \
|
|
||||||
test-v2v-mac.sh \
|
|
||||||
test-v2v-machine-readable.sh \
|
|
||||||
test-v2v-networks-and-bridges.sh \
|
|
||||||
@@ -226,7 +225,6 @@ EXTRA_DIST += \
|
|
||||||
test-v2v-i-vmx-3.vmx \
|
|
||||||
test-v2v-i-vmx-4.vmx \
|
|
||||||
test-v2v-i-vmx-5.vmx \
|
|
||||||
- test-v2v-in-place.sh \
|
|
||||||
test-v2v-it-vddk-io-query.sh \
|
|
||||||
test-v2v-machine-readable.sh \
|
|
||||||
test-v2v-mac-expected.xml \
|
|
||||||
diff --git a/tests/test-v2v-in-place.sh b/tests/test-v2v-in-place.sh
|
|
||||||
deleted file mode 100755
|
|
||||||
index 9da8fa63..00000000
|
|
||||||
--- a/tests/test-v2v-in-place.sh
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,108 +0,0 @@
|
|
||||||
-#!/bin/bash -
|
|
||||||
-# libguestfs virt-v2v test script
|
|
||||||
-# Copyright (C) 2014 Red Hat Inc.
|
|
||||||
-# Copyright (C) 2015 Parallels IP Holdings GmbH.
|
|
||||||
-#
|
|
||||||
-# 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 --in-place.
|
|
||||||
-
|
|
||||||
-unset CDPATH
|
|
||||||
-export LANG=C
|
|
||||||
-set -e
|
|
||||||
-
|
|
||||||
-source ./functions.sh
|
|
||||||
-set -e
|
|
||||||
-set -x
|
|
||||||
-
|
|
||||||
-skip_if_skipped
|
|
||||||
-requires test -f ../test-data/phony-guests/windows.img
|
|
||||||
-
|
|
||||||
-img_base="$abs_top_builddir/test-data/phony-guests/windows.img"
|
|
||||||
-
|
|
||||||
-export VIRT_TOOLS_DATA_DIR="$srcdir/../test-data/fake-virt-tools"
|
|
||||||
-export VIRTIO_WIN="$srcdir/../test-data/fake-virtio-win"
|
|
||||||
-
|
|
||||||
-d=$PWD/test-v2v-in-place.d
|
|
||||||
-rm -rf $d
|
|
||||||
-cleanup_fn rm -r $d
|
|
||||||
-mkdir $d
|
|
||||||
-
|
|
||||||
-img="$d/test.qcow2"
|
|
||||||
-rm -f $img
|
|
||||||
-qemu-img create -f qcow2 -b $img_base -o compat=1.1,backing_fmt=raw $img
|
|
||||||
-md5="$(do_md5 $img_base)"
|
|
||||||
-
|
|
||||||
-libvirt_xml="$d/test.xml"
|
|
||||||
-rm -f $libvirt_xml
|
|
||||||
-n=windows-overlay
|
|
||||||
-cat > $libvirt_xml <<EOF
|
|
||||||
-<node>
|
|
||||||
- <domain type='test'>
|
|
||||||
- <name>$n</name>
|
|
||||||
- <memory>1048576</memory>
|
|
||||||
- <os>
|
|
||||||
- <type>hvm</type>
|
|
||||||
- <boot dev='hd'/>
|
|
||||||
- </os>
|
|
||||||
- <devices>
|
|
||||||
- <disk type='file' device='disk'>
|
|
||||||
- <driver name='qemu' type='qcow2'/>
|
|
||||||
- <source file='$img'/>
|
|
||||||
- <target dev='vda' bus='virtio'/>
|
|
||||||
- </disk>
|
|
||||||
- </devices>
|
|
||||||
- </domain>
|
|
||||||
-</node>
|
|
||||||
-EOF
|
|
||||||
-
|
|
||||||
-$VG virt-v2v --debug-gc -i libvirt -ic "test://$libvirt_xml" $n --in-place
|
|
||||||
-
|
|
||||||
-# Test that the drivers have been copied over into the guest
|
|
||||||
-script="$d/test.fish"
|
|
||||||
-expected="$d/expected"
|
|
||||||
-response="$d/response"
|
|
||||||
-
|
|
||||||
-mktest ()
|
|
||||||
-{
|
|
||||||
- local cmd="$1" exp="$2"
|
|
||||||
-
|
|
||||||
- echo "echo '$cmd'" >> "$script"
|
|
||||||
- echo "$cmd" >> "$expected"
|
|
||||||
-
|
|
||||||
- echo "$cmd" >> "$script"
|
|
||||||
- echo "$exp" >> "$expected"
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
-:> "$script"
|
|
||||||
-:> "$expected"
|
|
||||||
-
|
|
||||||
-firstboot_dir="/Program Files/Guestfs/Firstboot"
|
|
||||||
-mktest "is-dir \"$firstboot_dir\"" true
|
|
||||||
-mktest "is-file \"$firstboot_dir/firstboot.bat\"" true
|
|
||||||
-mktest "is-dir \"$firstboot_dir/scripts\"" true
|
|
||||||
-virtio_dir="/Windows/Drivers/VirtIO"
|
|
||||||
-mktest "is-dir \"$virtio_dir\"" true
|
|
||||||
-for drv in netkvm qxl vioscsi viostor; do
|
|
||||||
- for sfx in cat inf sys; do
|
|
||||||
- mktest "is-file \"$virtio_dir/$drv.$sfx\"" true
|
|
||||||
- done
|
|
||||||
-done
|
|
||||||
-
|
|
||||||
-guestfish --ro -a "$img" -i < "$script" > "$response"
|
|
||||||
-diff -u "$expected" "$response"
|
|
||||||
-
|
|
||||||
-# Test the base image remained untouched
|
|
||||||
-test "$md5" = "$(do_md5 $img_base)"
|
|
||||||
diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml
|
|
||||||
index ac10ec31..01314580 100644
|
|
||||||
--- a/v2v/cmdline.ml
|
|
||||||
+++ b/v2v/cmdline.ml
|
|
||||||
@@ -246,8 +246,7 @@ let parse_cmdline () =
|
|
||||||
s_"Use password from file to connect to input hypervisor";
|
|
||||||
[ M"it" ], Getopt.String ("transport", set_string_option_once "-it" input_transport),
|
|
||||||
s_"Input transport";
|
|
||||||
- [ L"in-place" ], Getopt.Set in_place,
|
|
||||||
- s_"Only tune the guest in the input VM";
|
|
||||||
+ [ L"in-place" ], Getopt.Set in_place, Getopt.hidden_option_description;
|
|
||||||
[ L"mac" ], Getopt.String ("mac:network|bridge|ip:out", add_mac),
|
|
||||||
s_"Map NIC to network or bridge or assign static IP";
|
|
||||||
[ S 'n'; L"network" ], Getopt.String ("in:out", add_network),
|
|
||||||
@@ -386,7 +385,6 @@ read the man page virt-v2v(1).
|
|
||||||
pr "vddk\n";
|
|
||||||
pr "colours-option\n";
|
|
||||||
pr "vdsm-compat-option\n";
|
|
||||||
- pr "in-place\n";
|
|
||||||
pr "io/oo\n";
|
|
||||||
pr "mac-option\n";
|
|
||||||
pr "bandwidth-option\n";
|
|
||||||
@@ -556,6 +554,10 @@ read the man page virt-v2v(1).
|
|
||||||
error (f_"only ‘-it ssh’ can be used here") in
|
|
||||||
Input_vmx.input_vmx input_password input_transport arg in
|
|
||||||
|
|
||||||
+ (* Prevent use of --in-place option in RHEL. *)
|
|
||||||
+ if in_place then
|
|
||||||
+ error (f_"--in-place cannot be used in RHEL");
|
|
||||||
+
|
|
||||||
(* Common error message. *)
|
|
||||||
let error_option_cannot_be_used_in_output_mode mode opt =
|
|
||||||
error (f_"-o %s: %s option cannot be used in this output mode") mode opt
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
@ -1,16 +1,15 @@
|
|||||||
From 7edb403ee54153c64205915c0bd1d177c0094ee0 Mon Sep 17 00:00:00 2001
|
From f801f4a34f9b136e2cb5af3b936948f1ecb88154 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 11/11] RHEL 9: Disable -o glance
|
Subject: [PATCH 8/8] RHEL 9: Disable -o glance
|
||||||
|
|
||||||
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1977539
|
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1977539
|
||||||
---
|
---
|
||||||
docs/virt-v2v-output-openstack.pod | 56 ++----------------------------
|
docs/virt-v2v-output-openstack.pod | 56 ++----------------------------
|
||||||
docs/virt-v2v.pod | 22 ------------
|
docs/virt-v2v.pod | 20 -----------
|
||||||
|
output/output.ml | 3 +-
|
||||||
tests/test-v2v-o-glance.sh | 3 ++
|
tests/test-v2v-o-glance.sh | 3 ++
|
||||||
v2v/cmdline.ml | 3 --
|
4 files changed, 7 insertions(+), 75 deletions(-)
|
||||||
v2v/output_glance.ml | 2 +-
|
|
||||||
5 files changed, 6 insertions(+), 80 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/docs/virt-v2v-output-openstack.pod b/docs/virt-v2v-output-openstack.pod
|
diff --git a/docs/virt-v2v-output-openstack.pod b/docs/virt-v2v-output-openstack.pod
|
||||||
index f5a3abad..1ab356e8 100644
|
index f5a3abad..1ab356e8 100644
|
||||||
@ -100,16 +99,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 719a95b5..2f4fe86c 100644
|
index 0a47b611..c70bfef5 100644
|
||||||
--- a/docs/virt-v2v.pod
|
--- a/docs/virt-v2v.pod
|
||||||
+++ b/docs/virt-v2v.pod
|
+++ b/docs/virt-v2v.pod
|
||||||
@@ -422,20 +422,10 @@ interested in looking at the metadata.
|
@@ -432,14 +432,6 @@ See L</Networks and bridges> below.
|
||||||
This option is not compatible with I<-o libvirt> since it would create
|
|
||||||
a faulty guest (one with no disks).
|
|
||||||
|
|
||||||
-This option is not compatible with I<-o glance> for technical reasons.
|
|
||||||
-
|
|
||||||
=item B<-o> B<disk>
|
|
||||||
|
|
||||||
This is the same as I<-o local>.
|
This is the same as I<-o local>.
|
||||||
|
|
||||||
@ -124,7 +117,7 @@ index 719a95b5..2f4fe86c 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>.
|
||||||
@@ -1148,11 +1138,6 @@ and output methods may use disk space, as outlined in the table below.
|
@@ -1163,11 +1155,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>).
|
||||||
|
|
||||||
@ -136,7 +129,7 @@ index 719a95b5..2f4fe86c 100644
|
|||||||
=item I<-o local>
|
=item I<-o local>
|
||||||
|
|
||||||
=item I<-o qemu>
|
=item I<-o qemu>
|
||||||
@@ -1337,13 +1322,6 @@ instance.
|
@@ -1352,13 +1339,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.
|
||||||
|
|
||||||
@ -150,6 +143,20 @@ index 719a95b5..2f4fe86c 100644
|
|||||||
=item Writing to block devices
|
=item Writing to block devices
|
||||||
|
|
||||||
This normally requires root. See the next section.
|
This normally requires root. See the next section.
|
||||||
|
diff --git a/output/output.ml b/output/output.ml
|
||||||
|
index 1414a521..69768ff1 100644
|
||||||
|
--- a/output/output.ml
|
||||||
|
+++ b/output/output.ml
|
||||||
|
@@ -75,7 +75,8 @@ let rec main () =
|
||||||
|
error (f_"%s option used more than once on the command line") "-om";
|
||||||
|
match mode with
|
||||||
|
| "disk" -> output_mode := Some `Disk
|
||||||
|
- | "glance" -> output_mode := Some `Glance
|
||||||
|
+ | "glance" ->
|
||||||
|
+ error(f_"-o glance option has been removed from RHEL 9")
|
||||||
|
| "json" -> output_mode := Some `Json
|
||||||
|
| "libvirt" -> output_mode := Some `Libvirt
|
||||||
|
| "null" -> output_mode := Some `Null
|
||||||
diff --git a/tests/test-v2v-o-glance.sh b/tests/test-v2v-o-glance.sh
|
diff --git a/tests/test-v2v-o-glance.sh b/tests/test-v2v-o-glance.sh
|
||||||
index c0db9115..074b5e16 100755
|
index c0db9115..074b5e16 100755
|
||||||
--- a/tests/test-v2v-o-glance.sh
|
--- a/tests/test-v2v-o-glance.sh
|
||||||
@ -164,37 +171,6 @@ index c0db9115..074b5e16 100755
|
|||||||
source ./functions.sh
|
source ./functions.sh
|
||||||
set -e
|
set -e
|
||||||
set -x
|
set -x
|
||||||
diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml
|
|
||||||
index 01314580..e6c86b6f 100644
|
|
||||||
--- a/v2v/cmdline.ml
|
|
||||||
+++ b/v2v/cmdline.ml
|
|
||||||
@@ -170,7 +170,6 @@ let parse_cmdline () =
|
|
||||||
if !output_mode <> `Not_set then
|
|
||||||
error (f_"%s option used more than once on the command line") "-o";
|
|
||||||
match mode with
|
|
||||||
- | "glance" -> output_mode := `Glance
|
|
||||||
| "libvirt" -> output_mode := `Libvirt
|
|
||||||
| "disk" | "local" -> output_mode := `Local
|
|
||||||
| "json" -> output_mode := `JSON
|
|
||||||
@@ -323,8 +322,6 @@ let parse_cmdline () =
|
|
||||||
|
|
||||||
virt-v2v -i disk disk.img -o local -os /var/tmp
|
|
||||||
|
|
||||||
- virt-v2v -i disk disk.img -o glance
|
|
||||||
-
|
|
||||||
There is a companion front-end called \"virt-p2v\" which comes as an
|
|
||||||
ISO or CD image that can be booted on physical machines.
|
|
||||||
|
|
||||||
diff --git a/v2v/output_glance.ml b/v2v/output_glance.ml
|
|
||||||
index 8c5426b9..3fce4e7a 100644
|
|
||||||
--- a/v2v/output_glance.ml
|
|
||||||
+++ b/v2v/output_glance.ml
|
|
||||||
@@ -100,4 +100,4 @@ object
|
|
||||||
end
|
|
||||||
|
|
||||||
let output_glance = new output_glance
|
|
||||||
-let () = Modules_list.register_output_module "glance"
|
|
||||||
+(* let () = Modules_list.register_output_module "glance" *)
|
|
||||||
--
|
--
|
||||||
2.31.1
|
2.31.1
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From e57a5dafc00b3b5737824977aad0feb0ec497a1f 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 08/11] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671)
|
|
||||||
|
|
||||||
The SDL output mode is not supported in RHEL's qemu-kvm.
|
|
||||||
---
|
|
||||||
v2v/input_disk.ml | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/v2v/input_disk.ml b/v2v/input_disk.ml
|
|
||||||
index b3acb5f6..5b39dbe2 100644
|
|
||||||
--- a/v2v/input_disk.ml
|
|
||||||
+++ b/v2v/input_disk.ml
|
|
||||||
@@ -88,7 +88,7 @@ class input_disk input_format disk = object
|
|
||||||
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_video = None;
|
|
||||||
s_sound = None;
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
4
sources
4
sources
@ -1,2 +1,2 @@
|
|||||||
SHA512 (virt-v2v-1.45.3.tar.gz) = 24606acb039e630d8cbe4befe232bf9f3e8a2064e931d9064adc59704d34b67269933e2b24cb9f996c31b8c16b4e4f2ebdd7f40c9d29bb0f4a9f3df98d8edf34
|
SHA512 (virt-v2v-1.45.90.tar.gz) = bbe5a6cbe949609c93bdbca0853aae6b9ca87882e49420a763440aab986bdd90a000181e9ec9b1271a42d052749e579f810a4c0122a5dbfa37ff81681147aacd
|
||||||
SHA512 (virt-v2v-1.45.3.tar.gz.sig) = efbeb0b925b403e6973936a89125b169c7522fc5073a0b8978326de861819a3b8756e219a381e3eac3ee40d97cc16919286a797557e6391e301a0871b38628e7
|
SHA512 (virt-v2v-1.45.90.tar.gz.sig) = 445b0a1f1db0abc86f3be31e39e9430536f5d62d73f56d88abf27c58ef554db7b0844f92ef1ae267dd27d5be9f5b80aadf1f7e6b1267c732f99a219639f7db9a
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
Name: virt-v2v
|
Name: virt-v2v
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 1.45.3
|
Version: 1.45.90
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Convert a virtual machine to run on KVM
|
Summary: Convert a virtual machine to run on KVM
|
||||||
|
|
||||||
@ -50,17 +50,14 @@ ExclusiveArch: x86_64
|
|||||||
|
|
||||||
# Downstream (RHEL-only) patches.
|
# Downstream (RHEL-only) patches.
|
||||||
%if 0%{?rhel}
|
%if 0%{?rhel}
|
||||||
Patch9001: 0001-Revert-v2v-Remove-o-rhv-upload-oa-preallocated.patch
|
Patch9001: 0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
|
||||||
Patch9002: 0002-RHEL-v2v-rhv-upload-Remove-restriction-on-oa-sparse.patch
|
Patch9002: 0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch
|
||||||
Patch9003: 0003-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch
|
Patch9003: 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
|
||||||
Patch9004: 0004-RHEL-v2v-Disable-the-qemu-boot-option-RHBZ-1147313.patch
|
Patch9004: 0004-RHEL-Fixes-for-libguestfs-winsupport.patch
|
||||||
Patch9005: 0005-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch
|
Patch9005: 0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
|
||||||
Patch9006: 0006-RHEL-Fix-tests-for-libguestfs-winsupport.patch
|
Patch9006: 0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch
|
||||||
Patch9007: 0007-RHEL-v2v-Disable-the-virt-v2v-in-place-option.patch
|
Patch9007: 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
|
||||||
Patch9008: 0008-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch
|
Patch9008: 0008-RHEL-9-Disable-o-glance.patch
|
||||||
Patch9009: 0009-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch
|
|
||||||
Patch9010: 0010-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch
|
|
||||||
Patch9011: 0011-RHEL-9-Disable-o-glance.patch
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{patches_touch_autotools}
|
%if 0%{patches_touch_autotools}
|
||||||
@ -71,16 +68,17 @@ BuildRequires: make
|
|||||||
BuildRequires: /usr/bin/pod2man
|
BuildRequires: /usr/bin/pod2man
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: ocaml >= 4.01
|
BuildRequires: ocaml >= 4.01
|
||||||
BuildRequires: libguestfs-devel >= 1:1.42
|
|
||||||
|
|
||||||
|
BuildRequires: libguestfs-devel >= 1:1.42
|
||||||
BuildRequires: augeas-devel
|
BuildRequires: augeas-devel
|
||||||
BuildRequires: bash-completion
|
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: libosinfo-devel
|
BuildRequires: libosinfo-devel
|
||||||
BuildRequires: libvirt-devel
|
|
||||||
BuildRequires: libvirt-daemon-kvm
|
BuildRequires: libvirt-daemon-kvm
|
||||||
|
BuildRequires: libvirt-devel
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: pcre-devel
|
BuildRequires: pcre-devel
|
||||||
BuildRequires: perl(Sys::Guestfs)
|
BuildRequires: perl(Sys::Guestfs)
|
||||||
@ -90,6 +88,7 @@ BuildRequires: xorriso
|
|||||||
|
|
||||||
BuildRequires: ocaml-findlib-devel
|
BuildRequires: ocaml-findlib-devel
|
||||||
BuildRequires: ocaml-libguestfs-devel
|
BuildRequires: ocaml-libguestfs-devel
|
||||||
|
BuildRequires: ocaml-libnbd-devel
|
||||||
BuildRequires: ocaml-fileutils-devel
|
BuildRequires: ocaml-fileutils-devel
|
||||||
BuildRequires: ocaml-gettext-devel
|
BuildRequires: ocaml-gettext-devel
|
||||||
%if !0%{?rhel}
|
%if !0%{?rhel}
|
||||||
@ -117,7 +116,7 @@ Requires: gawk
|
|||||||
Requires: gzip
|
Requires: gzip
|
||||||
Requires: unzip
|
Requires: unzip
|
||||||
Requires: curl
|
Requires: curl
|
||||||
Requires: /usr/bin/virsh
|
Requires: %{_bindir}/virsh
|
||||||
|
|
||||||
# Ensure the UEFI firmware is available, to properly convert
|
# Ensure the UEFI firmware is available, to properly convert
|
||||||
# EFI guests (RHBZ#1429643).
|
# EFI guests (RHBZ#1429643).
|
||||||
@ -128,14 +127,25 @@ Requires: edk2-ovmf
|
|||||||
Requires: edk2-aarch64
|
Requires: edk2-aarch64
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Needed for -it vddk, and -o rhv-upload.
|
Requires: libnbd >= 1.8.2-2.el9
|
||||||
Requires: nbdkit
|
Requires: %{_bindir}/qemu-nbd
|
||||||
|
Requires: %{_bindir}/nbdcopy
|
||||||
|
Requires: %{_bindir}/nbdinfo
|
||||||
|
Requires: nbdkit-server >= 1.26.5-1.el9
|
||||||
Requires: nbdkit-curl-plugin
|
Requires: nbdkit-curl-plugin
|
||||||
|
Requires: nbdkit-file-plugin
|
||||||
|
Requires: nbdkit-nbd-plugin
|
||||||
|
Requires: nbdkit-null-plugin
|
||||||
Requires: nbdkit-python-plugin
|
Requires: nbdkit-python-plugin
|
||||||
Requires: nbdkit-ssh-plugin
|
Requires: nbdkit-ssh-plugin
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
Requires: nbdkit-vddk-plugin
|
Requires: nbdkit-vddk-plugin
|
||||||
%endif
|
%endif
|
||||||
|
Requires: nbdkit-cacheextents-filter
|
||||||
|
Requires: nbdkit-cow-filter >= 1.26.5-1.el9
|
||||||
|
Requires: nbdkit-rate-filter
|
||||||
|
Requires: nbdkit-readahead-filter
|
||||||
|
Requires: nbdkit-retry-filter
|
||||||
|
|
||||||
# For rhsrvany.exe, used to install firstboot scripts in Windows guests.
|
# For rhsrvany.exe, used to install firstboot scripts in Windows guests.
|
||||||
Requires: mingw32-srvany >= 1.0-13
|
Requires: mingw32-srvany >= 1.0-13
|
||||||
@ -258,6 +268,9 @@ popd
|
|||||||
%files -f %{name}.lang
|
%files -f %{name}.lang
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%doc README
|
%doc README
|
||||||
|
%{_bindir}/helper-v2v-convert
|
||||||
|
%{_bindir}/helper-v2v-input
|
||||||
|
%{_bindir}/helper-v2v-output
|
||||||
%{_bindir}/virt-v2v
|
%{_bindir}/virt-v2v
|
||||||
%{_mandir}/man1/virt-v2v.1*
|
%{_mandir}/man1/virt-v2v.1*
|
||||||
%{_mandir}/man1/virt-v2v-hacking.1*
|
%{_mandir}/man1/virt-v2v-hacking.1*
|
||||||
@ -287,6 +300,9 @@ popd
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Sep 21 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.90-1
|
||||||
|
- New upstream development version 1.45.90 (preview of 2.0)
|
||||||
|
|
||||||
* Fri Aug 06 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.3-1
|
* Fri Aug 06 2021 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.3-1
|
||||||
- New upstream development version 1.45.3.
|
- New upstream development version 1.45.3.
|
||||||
- Rebase RHEL patches.
|
- Rebase RHEL patches.
|
||||||
|
Loading…
Reference in New Issue
Block a user