8190ec8540
These two patches fix potential issues. Best to get them tested over Christmas and New Year. v2v: Swap over the output and conversion stages In old virt-v2v, we did (approximately, since the steps were not as clear): Input -> Convert -> Output -> Copy -> Finalize After modularizing virt-v2v we changed this to: Input -> Output -> Convert -> Copy -> Finalize However this has a (sort of) problem. For -o rhv-upload when we start the nbdkit rhv-upload-plugin machinery, it obtains a time-limited ticket from imageio. This ticket could expire if the conversion step takes longer than a certain time (60 seconds by default, may be increased in a future version of oVirt). I believe this is really a problem in imageio or that the rhv-upload-plugin should really renew this ticket automatically, but it does not, instead failing. (The ticket *is* renewed automatically whenever a request is sent to imageio, but in this case no requests are being sent). Anyway the easiest thing is to switch the ordering back to how it was in old virt-v2v (at top). It doesn't make a difference for any other output modes. Reported-by: Nir Soffer and: v2v: Remove nbdcopy --request-size=4M flag This was added when we were setting the cow-block-size to 1M. However since commit 351d61f768 ("input: -it vddk: Reduce cow-block-size to 4K") we stopped doing that so this is no longer needed. Reverts: commit 08e764959ec9dadd71a95d22d3d88d647a18d165 Related: rhbz#2011713
113 lines
3.7 KiB
Diff
113 lines
3.7 KiB
Diff
From 0888b1586f975aa7e1eb3c99f44b2016a4fb01f0 Mon Sep 17 00:00:00 2001
|
||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||
Date: Tue, 30 Sep 2014 10:50:27 +0100
|
||
Subject: [PATCH] RHEL: v2v: Disable the --qemu-boot / -oo qemu-boot option
|
||
(RHBZ#1147313).
|
||
|
||
This cannot work because there is no Gtk or SDL output mode
|
||
in RHEL's qemu-kvm.
|
||
|
||
In addition you will have to edit the -display option in the
|
||
qemu script.
|
||
---
|
||
docs/virt-v2v-output-local.pod | 6 ++----
|
||
docs/virt-v2v.pod | 12 ------------
|
||
output/output_qemu.ml | 3 +++
|
||
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
|
||
index a5f155cb..3a2e6238 100644
|
||
--- a/docs/virt-v2v-output-local.pod
|
||
+++ b/docs/virt-v2v-output-local.pod
|
||
@@ -9,7 +9,7 @@ or libvirt
|
||
|
||
virt-v2v [-i* options] -o local -os DIRECTORY
|
||
|
||
- virt-v2v [-i* options] -o qemu -os DIRECTORY [--qemu-boot]
|
||
+ virt-v2v [-i* options] -o qemu -os DIRECTORY
|
||
|
||
virt-v2v [-i* options] -o json -os DIRECTORY
|
||
[-oo json-disks-pattern=PATTERN]
|
||
@@ -50,12 +50,10 @@ where C<NAME> is the guest name.
|
||
|
||
=item B<-o qemu -os> C<DIRECTORY>
|
||
|
||
-=item B<-o qemu -os> C<DIRECTORY> B<--qemu-boot>
|
||
-
|
||
This converts the guest to files in C<DIRECTORY>. Unlike I<-o local>
|
||
above, a shell script is created which contains the raw qemu command
|
||
you would need to boot the guest. However the shell script is not
|
||
-run, I<unless> you also add the I<--qemu-boot> option.
|
||
+run.
|
||
|
||
=item B<-o json -os> C<DIRECTORY>
|
||
|
||
diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
|
||
index 3d0e00a3..04f3efd2 100644
|
||
--- a/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
|
||
image(s) you do not need to specify the name of the disk image on the
|
||
command line.
|
||
|
||
-To convert a local disk image and immediately boot it in local
|
||
-qemu, do:
|
||
-
|
||
- virt-v2v -i disk disk.img -o qemu -os /var/tmp -oo qemu-boot
|
||
-
|
||
=head1 OPTIONS
|
||
|
||
=over 4
|
||
@@ -510,9 +505,6 @@ This is similar to I<-o local>, except that a shell script is written
|
||
which you can use to boot the guest in qemu. The converted disks and
|
||
shell script are written to the directory specified by I<-os>.
|
||
|
||
-When using this output mode, you can also specify the I<-oo qemu-boot>
|
||
-option which boots the guest under qemu immediately.
|
||
-
|
||
=item B<-o> B<rhev>
|
||
|
||
This is the same as I<-o rhv>.
|
||
@@ -768,10 +760,6 @@ Print information about the source guest and stop. This option is
|
||
useful when you are setting up network and bridge maps.
|
||
See L</Networks and bridges>.
|
||
|
||
-=item B<--qemu-boot>
|
||
-
|
||
-This is the same as I<-oo qemu-boot>.
|
||
-
|
||
=item B<-q>
|
||
|
||
=item B<--quiet>
|
||
diff --git a/output/output_qemu.ml b/output/output_qemu.ml
|
||
index c4265703..822e4c72 100644
|
||
--- a/output/output_qemu.ml
|
||
+++ b/output/output_qemu.ml
|
||
@@ -52,6 +52,9 @@ and qemu_parse_options options =
|
||
) options.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 options.output_storage with
|
||
diff --git a/v2v/v2v.ml b/v2v/v2v.ml
|
||
index 47e6e937..503dfb55 100644
|
||
--- a/v2v/v2v.ml
|
||
+++ b/v2v/v2v.ml
|
||
@@ -277,8 +277,6 @@ let rec main () =
|
||
s_"Same as ‘-ip filename’";
|
||
[ L"print-source" ], Getopt.Set print_source,
|
||
s_"Print source and stop";
|
||
- [ L"qemu-boot" ], Getopt.Unit (fun () -> set_output_option_compat "qemu-boot" ""),
|
||
- s_"Boot in qemu (-o qemu only)";
|
||
[ L"root" ], Getopt.String ("ask|... ", set_root_choice),
|
||
s_"How to choose root filesystem";
|
||
[ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"),
|
||
--
|
||
2.31.1
|
||
|