From 991b284375fcb97a6f9bff26357047a4ac039629 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 10 Feb 2022 19:50:35 +0000 Subject: [PATCH] Rebase to upstream 1.45.98. 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 (2032324) -o rhv-upload: Improve conversion performance (2039255) --- ...correct-qemu-binary-for-o-qemu-mode-.patch | 4 +- ...json-Allow-oo-output-options-to-work.patch | 31 - ...-the-qemu-boot-oo-qemu-boot-option-R.patch | 8 +- ...n-importing-from-remote-block-device.patch | 100 ---- ...-supported-sound-cards-to-match-RHEL.patch | 4 +- ...bout-setting-up-the-input-and-output.patch | 549 ------------------ ...RHEL-Fixes-for-libguestfs-winsupport.patch | 6 +- ...t-Fix-graphics-element-port-autoport.patch | 78 --- ...sk-force-VNC-as-display-RHBZ-1372671.patch | 4 +- ...mu-Use-correct-device-name-for-vsock.patch | 69 --- ...-mention-SUSE-Xen-hosts-RHBZ-1430203.patch | 4 +- ...te-Fedora-versions-start-testing-F35.patch | 41 -- ...-for-supported-v2v-hypervisors-guest.patch | 4 +- 0007-tests-Drop-test-of-centos-6.patch | 37 -- ....patch => 0008-RHEL-Disable-o-glance.patch | 12 +- ...Ubuntu-versions-add-Ubuntu-20.04-LTS.patch | 33 -- ...0009-RHEL-Remove-the-in-place-option.patch | 23 +- ...add-newer-RHEL-versions-to-the-tests.patch | 37 -- ...ate-when-testing-Windows-conversions.patch | 52 -- ...e-of-qcow2-to-preserve-output-format.patch | 32 - ...0-flag-to-allow-multiple-connections.patch | 41 -- ...emuNBD.ml-Use-qemu-nbd-discard-unmap.patch | 33 -- ...-connection-to-the-source-NBD-server.patch | 45 -- ...bug-information-to-stderr-not-stdout.patch | 52 -- ...e-ip-password-for-vCenter-over-HTTPS.patch | 112 ---- ...y_from_libosinfo-VIRTIO_WIN-priority.patch | 131 ----- ...-arch-name-from-libguestfs-to-osinfo.patch | 60 -- ...v2v_osinfo_device_list_to_value_list.patch | 176 ------ ...e-device-list-for-OsinfoDeviceDriver.patch | 130 ----- ...og-the-devices-supported-by-a-driver.patch | 96 --- ...t-best_driver-from-windows_virtio.ml.patch | 154 ----- ...est-driver-s-dev-list-for-virtio-1.0.patch | 152 ----- sources | 4 +- virt-v2v.spec | 54 +- 34 files changed, 52 insertions(+), 2316 deletions(-) rename 0014-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-RHBZ-1147313.patch => 0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch (92%) delete mode 100644 0001-output-o-json-Allow-oo-output-options-to-work.patch rename 0015-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-RHBZ-1147313.patch => 0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch (96%) delete mode 100644 0002-input-xen-Fix-assertion-error-when-importing-from-remote-block-device.patch rename 0016-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL-qemu-RHBZ-1176493.patch => 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch (89%) delete mode 100644 0003-Restore-message-about-setting-up-the-input-and-output.patch rename 0017-RHEL-Fixes-for-libguestfs-winsupport.patch => 0004-RHEL-Fixes-for-libguestfs-winsupport.patch (96%) delete mode 100644 0004-output-o-libvirt-Fix-graphics-element-port-autoport.patch rename 0018-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch => 0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch (91%) delete mode 100644 0005-output-o-libvirt-qemu-Use-correct-device-name-for-vsock.patch rename 0019-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch => 0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch (89%) delete mode 100644 0006-tests-Drop-some-obsolete-Fedora-versions-start-testing-F35.patch rename 0020-RHEL-point-to-KB-for-supported-v2v-hypervisors-guests.patch => 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch (96%) delete mode 100644 0007-tests-Drop-test-of-centos-6.patch rename 0021-RHEL-Disable-o-glance.patch => 0008-RHEL-Disable-o-glance.patch (96%) delete mode 100644 0008-tests-Drop-ancient-Ubuntu-versions-add-Ubuntu-20.04-LTS.patch rename 0022-RHEL-Remove-the-in-place-option.patch => 0009-RHEL-Remove-the-in-place-option.patch (88%) delete mode 100644 0009-tests-Drop-old-and-add-newer-RHEL-versions-to-the-tests.patch delete mode 100644 0010-tests-Don-t-use-virt-builder-update-when-testing-Windows-conversions.patch delete mode 100644 0011-tests-test-v2v-trim.sh-Use-of-qcow2-to-preserve-output-format.patch delete mode 100644 0012-lib-qemuNBD.ml-Use-qemu-nbd-shared-0-flag-to-allow-multiple-connections.patch delete mode 100644 0013-lib-qemuNBD.ml-Use-qemu-nbd-discard-unmap.patch delete mode 100644 0023-input-libvirt-Share-a-single-connection-to-the-source-NBD-server.patch delete mode 100644 0024-v2v-Send-nbdinfo-debug-information-to-stderr-not-stdout.patch delete mode 100644 0025-input-Require-ip-password-for-vCenter-over-HTTPS.patch delete mode 100644 0026-convert-windows_virtio-fix-copy_from_libosinfo-VIRTIO_WIN-priority.patch delete mode 100644 0027-convert-windows_virtio-map-32-bit-arch-name-from-libguestfs-to-osinfo.patch delete mode 100644 0028-convert-libosinfo-factor-out-v2v_osinfo_device_list_to_value_list.patch delete mode 100644 0029-convert-libosinfo-retrieve-the-device-list-for-OsinfoDeviceDriver.patch delete mode 100644 0030-convert-libosinfo_utils-debug-log-the-devices-supported-by-a-driver.patch delete mode 100644 0031-convert-libosinfo_utils-extract-best_driver-from-windows_virtio.ml.patch delete mode 100644 0032-convert-convert_windows-consult-best-driver-s-dev-list-for-virtio-1.0.patch diff --git a/0014-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-RHBZ-1147313.patch b/0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch similarity index 92% rename from 0014-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-RHBZ-1147313.patch rename to 0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch index 6d0a4af..c53ad1c 100644 --- a/0014-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-RHBZ-1147313.patch +++ b/0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch @@ -1,4 +1,4 @@ -From 98136e9ac3544011a42c9f37b8b0903a99d8e2b3 Mon Sep 17 00:00:00 2001 +From c35ce051106e727244e006647a5a0285fda822ae Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 28 Sep 2014 19:14:43 +0100 Subject: [PATCH] RHEL: v2v: Select correct qemu binary for -o qemu mode @@ -29,5 +29,5 @@ index 10ec8904..67f7cbcf 100644 let flag = Qemuopts.flag cmd and arg = Qemuopts.arg cmd -- -2.19.1.3.g30247aa5d201 +2.31.1 diff --git a/0001-output-o-json-Allow-oo-output-options-to-work.patch b/0001-output-o-json-Allow-oo-output-options-to-work.patch deleted file mode 100644 index 0c1e428..0000000 --- a/0001-output-o-json-Allow-oo-output-options-to-work.patch +++ /dev/null @@ -1,31 +0,0 @@ -From cdde7864f65c7c3cf3400b978a52ade727402e17 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 18 Jan 2022 12:21:05 +0000 -Subject: [PATCH] output: -o json: Allow -oo (output options) to work - -Because of an incorrect error message added during modularisation it -was not possible to use the -o json -oo output options. Remove the -bogus error message. - -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2041850 -Reported-by: Xiaodai Wang ---- - output/output_json.ml | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/output/output_json.ml b/output/output_json.ml -index 770eb8ca..bb0cdfeb 100644 ---- a/output/output_json.ml -+++ b/output/output_json.ml -@@ -135,8 +135,6 @@ module Json = struct - type t = unit - - let setup dir options source = -- if options.output_options <> [] then -- error (f_"no -oo (output options) are allowed here"); - let data = json_parse_options options in - let output_name = get_output_name options source in - let disks = get_disks dir in --- -2.19.1.3.g30247aa5d201 - diff --git a/0015-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-RHBZ-1147313.patch b/0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch similarity index 96% rename from 0015-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-RHBZ-1147313.patch rename to 0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch index f9e35b2..0ad314c 100644 --- a/0015-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-RHBZ-1147313.patch +++ b/0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch @@ -1,4 +1,4 @@ -From 6054ba787194dd2f80711181680fa5825006274d Mon Sep 17 00:00:00 2001 +From 635fe323354faf2d3eb790c4fe8caddfd7422e7b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 30 Sep 2014 10:50:27 +0100 Subject: [PATCH] RHEL: v2v: Disable the --qemu-boot / -oo qemu-boot option @@ -44,7 +44,7 @@ index a5f155cb..3a2e6238 100644 =item B<-o json -os> C diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index 3d0e00a3..04f3efd2 100644 +index 615c6eff..41417856 100644 --- a/docs/virt-v2v.pod +++ b/docs/virt-v2v.pod @@ -141,11 +141,6 @@ Since F contains the path(s) to the guest disk @@ -95,7 +95,7 @@ index 67f7cbcf..376de27d 100644 let output_storage = match options.output_storage with diff --git a/v2v/v2v.ml b/v2v/v2v.ml -index d74cc21f..a384bc05 100644 +index f18f5680..fea69545 100644 --- a/v2v/v2v.ml +++ b/v2v/v2v.ml @@ -277,8 +277,6 @@ let rec main () = @@ -108,5 +108,5 @@ index d74cc21f..a384bc05 100644 s_"How to choose root filesystem"; [ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"), -- -2.19.1.3.g30247aa5d201 +2.31.1 diff --git a/0002-input-xen-Fix-assertion-error-when-importing-from-remote-block-device.patch b/0002-input-xen-Fix-assertion-error-when-importing-from-remote-block-device.patch deleted file mode 100644 index bafe3fe..0000000 --- a/0002-input-xen-Fix-assertion-error-when-importing-from-remote-block-device.patch +++ /dev/null @@ -1,100 +0,0 @@ -From f3180e3c0ef59ab52983903ff806014a4a3171a5 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 18 Jan 2022 12:37:51 +0000 -Subject: [PATCH] input: xen: Fix assertion error when importing from remote - block device - -We never supported this because OpenSSH sftp server does not know how -to open and get the size of a block device. Before modular virt-v2v, -we would detect this situation and print an error: - - virt-v2v: error: guest disk sda appears to be zero bytes in size. - - There could be several reasons for this: - - Check that the guest doesn't really have a zero-sized disk. virt-v2v - cannot convert such a guest. - - If you are converting a guest from an ssh source and the guest has a disk - on a block device (eg. on a host partition or host LVM LV), then - conversions of this type are not supported. See the virt-v2v-input-xen(1) - manual for a workaround. - -This error was lost in the conversion to modularity, but in any case -the proper way to detect this is in the input_xen driver itself. - -In addition to this, when we removed the old virt-v2v-copy-to-local -tool, the text referring to the workaround in the manual became -meaningless, so I added the (ugly, manual) workaround that you have to -do back into the manual, minus the bit about the tool that we removed. - -In future we could consider other ways to convert a remote block -device over SSH transparently. (Sending a "dd" command, maybe?) - -I also checked what happens when we try to convert an empty disk, and -it fails during inspection with a reasonable error message, so we -don't need to do anything to restore the above error: - - $ virt-v2v -i disk /var/tmp/empty -o null - [ 1.1] Opening the source - [ 7.0] Inspecting the source - virt-v2v: error: inspection could not detect the source guest (or physical - machine). - - Assuming that you are running virt-v2v/virt-p2v on a source which is - supported (and not, for example, a blank disk), then this should not - happen. - - No root device found in this operating system image. - -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2041852 -Reported-by: Xiaodai Wang ---- - docs/virt-v2v-input-xen.pod | 5 +++++ - input/input_xen_ssh.ml | 12 +++++++++++- - 2 files changed, 16 insertions(+), 1 deletion(-) - -diff --git a/docs/virt-v2v-input-xen.pod b/docs/virt-v2v-input-xen.pod -index 857a7095..c4948e5e 100644 ---- a/docs/virt-v2v-input-xen.pod -+++ b/docs/virt-v2v-input-xen.pod -@@ -99,6 +99,11 @@ This happens because the qemu ssh block driver that we use to access - remote disks uses the ssh sftp protocol, and this protocol cannot - correctly detect the size of host block devices. - -+The workaround is to copy the block device from the remote Xen -+server to a regular local file, copy the libvirt guest XML, -+adjust the C element to point to the local file, and use -+C<-i libvirtxml> mode instead. -+ - =head1 SEE ALSO - - L. -diff --git a/input/input_xen_ssh.ml b/input/input_xen_ssh.ml -index 5bb46bde..cb8b1f91 100644 ---- a/input/input_xen_ssh.ml -+++ b/input/input_xen_ssh.ml -@@ -87,9 +87,19 @@ let rec xen_ssh_source dir options args = - On_exit.unlink socket; - - match d_type with -- | BlockDev _ | NBD _ | HTTP _ -> (* These should never happen? *) -+ | NBD _ | HTTP _ -> (* These should never happen? *) - assert false - -+ | BlockDev _ -> -+ (* Conversion from a remote block device over SSH isn't -+ * supported because OpenSSH sftp server doesn't know how -+ * to get the size of a block device. Therefore we disallow -+ * this and refer users to the manual. -+ *) -+ error (f_"input from xen over ssh does not support disks stored on \ -+ remote block devices. See virt-v2v-input-xen(1) \ -+ section \"Xen or ssh conversions from block devices\".") -+ - | LocalFile path -> - let cor = dir // "convert" in - let bandwidth = options.bandwidth in --- -2.19.1.3.g30247aa5d201 - diff --git a/0016-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL-qemu-RHBZ-1176493.patch b/0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch similarity index 89% rename from 0016-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL-qemu-RHBZ-1176493.patch rename to 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch index 7f0f5ee..479257d 100644 --- a/0016-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL-qemu-RHBZ-1176493.patch +++ b/0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch @@ -1,4 +1,4 @@ -From 9c7dfbd938c877d73a31d3c929615f5d084b69b1 Mon Sep 17 00:00:00 2001 +From f066cbf7f6ad2f7e3c48b079a062d90e5d699567 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 24 Apr 2015 09:45:41 -0400 Subject: [PATCH] RHEL: Fix list of supported sound cards to match RHEL qemu @@ -30,5 +30,5 @@ index 4c8998c2..7b16dd8b 100644 (* Find the UEFI firmware. *) let find_uefi_firmware guest_arch = -- -2.19.1.3.g30247aa5d201 +2.31.1 diff --git a/0003-Restore-message-about-setting-up-the-input-and-output.patch b/0003-Restore-message-about-setting-up-the-input-and-output.patch deleted file mode 100644 index 58a8d05..0000000 --- a/0003-Restore-message-about-setting-up-the-input-and-output.patch +++ /dev/null @@ -1,549 +0,0 @@ -From 924aa8b70a64e9b076f8f56328a2b49650ab713c Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 19 Jan 2022 13:10:45 +0000 -Subject: [PATCH] Restore message about setting up the input and output -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Old virt-v2v would print a summary of the input and output options -before connecting to the input/output, looking something like this: - - [ 0.2] Opening the source -i libvirt -ic [etc] - -This gave reassurance that virt-v2v was doing something in the case -where the source was slow or unreachable. In particular if you use --i libvirt with a vCenter URL, and the URL is wrong, libvirt hangs for -a few minutes without printing anything. - -Modular virt-v2v rearranged things so the connecting phase was silent, -which meant that in the case above virt-v2v appeared to hang for a few -minutes printing nothing at all. - -This change adds to_string functions to all the input and output -methods and uses them to print a message like: - - [ 0.0] Setting up the source: -i libvirt -ic [etc] - -The hang still happens, but at least it's now clear where it's hanging. - -Note the old "Opening the source" message now refers to libguestfs -connecting to the NBD source disk pipeline. - -Typical full output looks like this: - - $ virt-v2v -i disk /var/tmp/fedora-35.img -o disk -os /var/tmp/out - [ 0.0] Setting up the source: -i disk /var/tmp/fedora-35.img - [ 1.1] Opening the source - [ 5.9] Inspecting the source - [ 11.5] Checking for sufficient free disk space in the guest - [ 11.5] Converting Fedora Linux 35 (Thirty Five) to run on KVM - virt-v2v: warning: /files/boot/grub2/device.map/hd0 references unknown - device "vda". You may have to fix this entry manually after conversion. - virt-v2v: This guest has virtio drivers installed. - [ 57.4] Mapping filesystem data to avoid copying unused and blank areas - [ 61.0] Closing the overlay - [ 61.7] Assigning disks to buses - [ 61.7] Checking if the guest needs BIOS or UEFI to boot - [ 61.7] Setting up the destination: -o disk -os /var/tmp/out - [ 62.8] Copying disk 1/1 - █ 100% [****************************************] - [ 81.7] Creating output metadata - [ 81.7] Finishing off - -Reported-by: Xiaodai Wang -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2041886 -Fixes: commit 255722cbf39afc0b012e2ac00d16fa6ba2f8c21f -Reviewed-by: Laszlo Ersek ---- - input/input.ml | 1 + - input/input.mli | 4 ++++ - input/input_disk.ml | 2 ++ - input/input_libvirt.ml | 10 ++++++++++ - input/input_ova.ml | 2 ++ - input/input_vcenter_https.ml | 9 +++++++++ - input/input_vddk.ml | 9 +++++++++ - input/input_vmx.ml | 2 ++ - input/input_xen_ssh.ml | 9 +++++++++ - output/output.ml | 1 + - output/output.mli | 4 ++++ - output/output_disk.ml | 6 ++++++ - output/output_glance.ml | 2 ++ - output/output_json.ml | 6 ++++++ - output/output_libvirt.ml | 6 ++++++ - output/output_null.ml | 2 ++ - output/output_openstack.ml | 16 ++++++++++++++++ - output/output_qemu.ml | 6 ++++++ - output/output_rhv.ml | 2 ++ - output/output_rhv_upload.ml | 9 +++++++++ - output/output_vdsm.ml | 2 ++ - tests/test-v2v-i-vmx-1.expected | 1 + - tests/test-v2v-i-vmx-2.expected | 1 + - tests/test-v2v-i-vmx-3.expected | 1 + - tests/test-v2v-i-vmx-4.expected | 1 + - tests/test-v2v-i-vmx-5.expected | 1 + - tests/test-v2v-i-vmx.sh | 3 +++ - tests/test-v2v-print-source.sh | 3 +++ - v2v/v2v.ml | 4 ++++ - 29 files changed, 125 insertions(+) - -diff --git a/input/input.ml b/input/input.ml -index 00474bec..b1175fa3 100644 ---- a/input/input.ml -+++ b/input/input.ml -@@ -26,6 +26,7 @@ type options = { - } - - module type INPUT = sig -+ val to_string : options -> string list -> string - val setup : string -> options -> string list -> Types.source - val query_input_options : unit -> unit - end -diff --git a/input/input.mli b/input/input.mli -index 4f899b1d..b61df3e9 100644 ---- a/input/input.mli -+++ b/input/input.mli -@@ -26,6 +26,10 @@ type options = { - } - - module type INPUT = sig -+ val to_string : options -> string list -> string -+ (** [to_string options args] converts the source to a printable -+ string (for messages). *) -+ - val setup : string -> options -> string list -> Types.source - (** [setup dir options args] - -diff --git a/input/input_disk.ml b/input/input_disk.ml -index bcdaf78c..2b21950a 100644 ---- a/input/input_disk.ml -+++ b/input/input_disk.ml -@@ -142,6 +142,8 @@ and detect_local_input_format { input_format } filenames = - get_format formats - - module Disk = struct -+ let to_string options args = String.concat " " ("-i disk" :: args) -+ - let setup dir options args = - disk_source dir options args - -diff --git a/input/input_libvirt.ml b/input/input_libvirt.ml -index f20082c2..33f61086 100644 ---- a/input/input_libvirt.ml -+++ b/input/input_libvirt.ml -@@ -129,6 +129,14 @@ and libvirt_xml_source _ args = - source, disks - - module Libvirt_ = struct -+ let to_string options args = -+ let xs = "-i libvirt" :: args in -+ let xs = -+ match options.input_conn with -+ | Some ic -> ("-ic " ^ ic) :: xs -+ | None -> xs in -+ String.concat " " xs -+ - let setup dir options args = - let source, data = libvirt_source options args in - libvirt_servers dir data; -@@ -139,6 +147,8 @@ module Libvirt_ = struct - end - - module LibvirtXML = struct -+ let to_string options args = String.concat " " ("-i libvirtxml" :: args) -+ - let setup dir options args = - let source, data = libvirt_xml_source options args in - libvirt_servers dir data; -diff --git a/input/input_ova.ml b/input/input_ova.ml -index 0115f771..19c22d55 100644 ---- a/input/input_ova.ml -+++ b/input/input_ova.ml -@@ -229,6 +229,8 @@ and error_missing_href href = - error (f_"-i ova: OVF references file ‘%s’ which was not found in the OVA archive") href - - module OVA = struct -+ let to_string options args = String.concat " " ("-i ova" :: args) -+ - let setup dir options args = - ova_source dir options args - -diff --git a/input/input_vcenter_https.ml b/input/input_vcenter_https.ml -index 24ac927d..bcefed16 100644 ---- a/input/input_vcenter_https.ml -+++ b/input/input_vcenter_https.ml -@@ -117,6 +117,15 @@ let rec vcenter_https_source dir options args = - source - - module VCenterHTTPS = struct -+ let to_string options args = -+ let xs = args in -+ let xs = -+ match options.input_conn with -+ | Some ic -> ("-ic " ^ ic) :: xs -+ | None -> xs in -+ let xs = "-i libvirt" :: xs in -+ String.concat " " xs -+ - let setup dir options args = - vcenter_https_source dir options args - -diff --git a/input/input_vddk.ml b/input/input_vddk.ml -index 1cfb7f5e..b9a0b8bf 100644 ---- a/input/input_vddk.ml -+++ b/input/input_vddk.ml -@@ -193,6 +193,15 @@ and vddk_source dir options args = - source - - module VDDK = struct -+ let to_string options args = -+ let xs = "-it vddk" :: args in -+ let xs = -+ match options.input_conn with -+ | Some ic -> ("-ic " ^ ic) :: xs -+ | None -> xs in -+ let xs = "-i libvirt" :: xs in -+ String.concat " " xs -+ - let setup dir options args = - vddk_source dir options args - -diff --git a/input/input_vmx.ml b/input/input_vmx.ml -index 9065e857..6e8948f9 100644 ---- a/input/input_vmx.ml -+++ b/input/input_vmx.ml -@@ -118,6 +118,8 @@ and absolute_path_from_other_file other_filename filename = - else (Filename.dirname (absolute_path other_filename)) // filename - - module VMX = struct -+ let to_string options args = String.concat " " ("-i vmx" :: args) -+ - let setup dir options args = - vmx_source dir options args - -diff --git a/input/input_xen_ssh.ml b/input/input_xen_ssh.ml -index cb8b1f91..f18ac5cf 100644 ---- a/input/input_xen_ssh.ml -+++ b/input/input_xen_ssh.ml -@@ -112,6 +112,15 @@ let rec xen_ssh_source dir options args = - source - - module XenSSH = struct -+ let to_string options args = -+ let xs = args in -+ let xs = -+ match options.input_conn with -+ | Some ic -> ("-ic " ^ ic) :: xs -+ | None -> xs in -+ let xs = "-i libvirt" :: xs in -+ String.concat " " xs -+ - let setup dir options args = - xen_ssh_source dir options args - -diff --git a/output/output.ml b/output/output.ml -index 101da82a..659d20ac 100644 ---- a/output/output.ml -+++ b/output/output.ml -@@ -38,6 +38,7 @@ type options = { - - module type OUTPUT = sig - type t -+ val to_string : options -> string - val setup : string -> options -> Types.source -> t - val finalize : string -> options -> - Types.source -> Types.inspect -> Types.target_meta -> -diff --git a/output/output.mli b/output/output.mli -index 03d71daf..ced22161 100644 ---- a/output/output.mli -+++ b/output/output.mli -@@ -30,6 +30,10 @@ module type OUTPUT = sig - type t - (** Opaque data used by the output mode. *) - -+ val to_string : options -> string -+ (** [to_string options] converts the destination to a printable -+ string (for messages). *) -+ - val setup : string -> options -> Types.source -> t - (** [setup dir options source] - -diff --git a/output/output_disk.ml b/output/output_disk.ml -index eca3c727..386d031b 100644 ---- a/output/output_disk.ml -+++ b/output/output_disk.ml -@@ -96,6 +96,12 @@ and disk_finalize dir source inspect target_meta - module Disk = struct - type t = unit - -+ let to_string options = -+ "-o disk" ^ -+ match options.output_storage with -+ | Some os -> " -os " ^ os -+ | None -> "" -+ - let setup dir options source = - if options.output_options <> [] then - error (f_"no -oo (output options) are allowed here"); -diff --git a/output/output_glance.ml b/output/output_glance.ml -index 0d7838dd..85cbe58e 100644 ---- a/output/output_glance.ml -+++ b/output/output_glance.ml -@@ -122,6 +122,8 @@ and glance_finalize dir source inspect target_meta output_format tmpdir = - module Glance = struct - type t = string - -+ let to_string options = "-o glance" -+ - let setup dir options source = - if options.output_options <> [] then - error (f_"no -oo (output options) are allowed here"); -diff --git a/output/output_json.ml b/output/output_json.ml -index bb0cdfeb..88fb4778 100644 ---- a/output/output_json.ml -+++ b/output/output_json.ml -@@ -134,6 +134,12 @@ and json_path os output_name json_disks_pattern i = - module Json = struct - type t = unit - -+ let to_string options = -+ "-o json" ^ -+ match options.output_storage with -+ | Some os -> " -os " ^ os -+ | None -> "" -+ - let setup dir options source = - let data = json_parse_options options in - let output_name = get_output_name options source in -diff --git a/output/output_libvirt.ml b/output/output_libvirt.ml -index 52c45401..20333363 100644 ---- a/output/output_libvirt.ml -+++ b/output/output_libvirt.ml -@@ -198,6 +198,12 @@ and target_features_of_capabilities_doc doc arch = - module Libvirt_ = struct - type t = string * string - -+ let to_string options = -+ "-o libvirt" ^ -+ match options.output_storage with -+ | Some os -> " -os " ^ os -+ | None -> "" -+ - let setup dir options source = - if options.output_options <> [] then - error (f_"no -oo (output options) are allowed here"); -diff --git a/output/output_null.ml b/output/output_null.ml -index 34fbd6e1..56fb7ec6 100644 ---- a/output/output_null.ml -+++ b/output/output_null.ml -@@ -76,6 +76,8 @@ and null_servers dir disks output_name = - module Null = struct - type t = unit - -+ let to_string options = "-o null" -+ - let setup dir options source = - if options.output_options <> [] then - error (f_"no -oo (output options) are allowed here"); -diff --git a/output/output_openstack.ml b/output/output_openstack.ml -index 334a1fc2..6e52ddb3 100644 ---- a/output/output_openstack.ml -+++ b/output/output_openstack.ml -@@ -462,6 +462,22 @@ and iso_time = - module Openstack = struct - type t = string list - -+ let to_string options = -+ (* Try to get the server-id since it seems useful to display -+ * that for diagnostics. -+ *) -+ let server_id = ref None in -+ List.iter ( -+ function -+ | "server-id", v -> server_id := Some v -+ | _ -> () -+ ) options.output_options; -+ -+ "-o openstack" ^ -+ (match !server_id with -+ | None -> "" -+ | Some id -> sprintf " -oo server-id=%s" id) -+ - let setup dir options source = - let data = openstack_parse_options options in - let output_name = get_output_name options source in -diff --git a/output/output_qemu.ml b/output/output_qemu.ml -index 0aac1eba..3d5d6782 100644 ---- a/output/output_qemu.ml -+++ b/output/output_qemu.ml -@@ -315,6 +315,12 @@ and qemu_finalize dir source inspect target_meta - module QEMU = struct - type t = unit - -+ let to_string options = -+ "-o qemu" ^ -+ match options.output_storage with -+ | Some os -> " -os " ^ os -+ | None -> "" -+ - let setup dir options source = - let data = qemu_parse_options options in - let output_name = get_output_name options source in -diff --git a/output/output_rhv.ml b/output/output_rhv.ml -index 6a67b7aa..a386b9a5 100644 ---- a/output/output_rhv.ml -+++ b/output/output_rhv.ml -@@ -266,6 +266,8 @@ and check_storage_domain domain_class os mp = - module RHV = struct - type t = string * string * string * string list * string list * int64 list - -+ let to_string options = "-o rhv" -+ - let setup dir options source = - if options.output_options <> [] then - error (f_"no -oo (output options) are allowed here"); -diff --git a/output/output_rhv_upload.ml b/output/output_rhv_upload.ml -index 91e7be45..4d8dc1c1 100644 ---- a/output/output_rhv_upload.ml -+++ b/output/output_rhv_upload.ml -@@ -444,6 +444,15 @@ module RHVUpload = struct - JSON.field list * string option * string option * - string option * string - -+ let to_string options = -+ "-o rhv-upload" ^ -+ (match options.output_conn with -+ | Some oc -> " -oc " ^ oc -+ | None -> "") ^ -+ (match options.output_storage with -+ | Some os -> " -os " ^ os -+ | None -> "") -+ - let setup dir options source = - let data = rhv_upload_parse_options options in - let output_name = get_output_name options source in -diff --git a/output/output_vdsm.ml b/output/output_vdsm.ml -index ce0d5b5e..676ecf00 100644 ---- a/output/output_vdsm.ml -+++ b/output/output_vdsm.ml -@@ -212,6 +212,8 @@ and vdsm_finalize dir source inspect target_meta - module VDSM = struct - type t = string * string * int64 list - -+ let to_string options = "-o vdsm" -+ - let setup dir options source = - let data = vdsm_parse_options options in - let output_name = get_output_name options source in -diff --git a/tests/test-v2v-i-vmx-1.expected b/tests/test-v2v-i-vmx-1.expected -index bca99c48..59e2c5d3 100644 ---- a/tests/test-v2v-i-vmx-1.expected -+++ b/tests/test-v2v-i-vmx-1.expected -@@ -1,3 +1,4 @@ -+ - Source guest information (--print-source option): - - source name: BZ1308535_21disks -diff --git a/tests/test-v2v-i-vmx-2.expected b/tests/test-v2v-i-vmx-2.expected -index e56777c8..576d347b 100644 ---- a/tests/test-v2v-i-vmx-2.expected -+++ b/tests/test-v2v-i-vmx-2.expected -@@ -1,3 +1,4 @@ -+ - Source guest information (--print-source option): - - source name: Fedora 20 -diff --git a/tests/test-v2v-i-vmx-3.expected b/tests/test-v2v-i-vmx-3.expected -index 47e4d25e..102e82eb 100644 ---- a/tests/test-v2v-i-vmx-3.expected -+++ b/tests/test-v2v-i-vmx-3.expected -@@ -1,3 +1,4 @@ -+ - Source guest information (--print-source option): - - source name: RHEL 7.1 UEFI -diff --git a/tests/test-v2v-i-vmx-4.expected b/tests/test-v2v-i-vmx-4.expected -index dd731294..0d772855 100644 ---- a/tests/test-v2v-i-vmx-4.expected -+++ b/tests/test-v2v-i-vmx-4.expected -@@ -1,3 +1,4 @@ -+ - Source guest information (--print-source option): - - source name: Windows 7 x64 -diff --git a/tests/test-v2v-i-vmx-5.expected b/tests/test-v2v-i-vmx-5.expected -index cfddcda7..1b8e15bf 100644 ---- a/tests/test-v2v-i-vmx-5.expected -+++ b/tests/test-v2v-i-vmx-5.expected -@@ -1,3 +1,4 @@ -+ - Source guest information (--print-source option): - - source name: MSEdge - Win10_preview -diff --git a/tests/test-v2v-i-vmx.sh b/tests/test-v2v-i-vmx.sh -index f2fda66d..db870bea 100755 ---- a/tests/test-v2v-i-vmx.sh -+++ b/tests/test-v2v-i-vmx.sh -@@ -29,6 +29,8 @@ set -x - - skip_if_skipped - -+export LANG=C -+ - export VIRT_TOOLS_DATA_DIR="$srcdir/../test-data/fake-virt-tools" - export VIRTIO_WIN="$srcdir/../test-data/fake-virtio-win" - -@@ -52,6 +54,7 @@ for i in 1 2 3 4 5; do - # Normalize the print-source output. - mv test-v2v-i-vmx-$i.actual test-v2v-i-vmx-$i.actual.old - sed \ -+ -e "s,.*Setting up the source.*,," \ - -e "s,.*Opening the source.*,," \ - -e "s,$(pwd),," \ - < test-v2v-i-vmx-$i.actual.old > test-v2v-i-vmx-$i.actual -diff --git a/tests/test-v2v-print-source.sh b/tests/test-v2v-print-source.sh -index c4717361..e46fd126 100755 ---- a/tests/test-v2v-print-source.sh -+++ b/tests/test-v2v-print-source.sh -@@ -27,6 +27,8 @@ set -x - skip_if_skipped - requires test -f ../test-data/phony-guests/windows.img - -+export LANG=C -+ - d=test-v2v-print-source.d - rm -rf $d - cleanup_fn rm -r $d -@@ -39,6 +41,7 @@ $VG virt-v2v --debug-gc \ - - mv $d/output $d/output.orig - < $d/output.orig \ -+grep -v 'Setting up the source' | - grep -v 'Opening the source' | - grep -v 'Source guest information' | - sed -e 's,/.*/windows.img,windows.img,' | -diff --git a/v2v/v2v.ml b/v2v/v2v.ml -index 47e6e937..d74cc21f 100644 ---- a/v2v/v2v.ml -+++ b/v2v/v2v.ml -@@ -532,6 +532,8 @@ read the man page virt-v2v(1). - } in - - (* Start the input module (runs an NBD server in the background). *) -+ message (f_"Setting up the source: %s") -+ (Input_module.to_string input_options args); - let source = Input_module.setup tmpdir input_options args in - - (* If --print-source then print the source metadata and exit. *) -@@ -548,6 +550,8 @@ read the man page virt-v2v(1). - unlink (tmpdir // "convert"); - - (* Start the output module (runs an NBD server in the background). *) -+ message (f_"Setting up the destination: %s") -+ (Output_module.to_string output_options); - let output_t = Output_module.setup tmpdir output_options source in - - (* Debug the v2vdir. *) --- -2.19.1.3.g30247aa5d201 - diff --git a/0017-RHEL-Fixes-for-libguestfs-winsupport.patch b/0004-RHEL-Fixes-for-libguestfs-winsupport.patch similarity index 96% rename from 0017-RHEL-Fixes-for-libguestfs-winsupport.patch rename to 0004-RHEL-Fixes-for-libguestfs-winsupport.patch index eaa6295..dbcacdd 100644 --- a/0017-RHEL-Fixes-for-libguestfs-winsupport.patch +++ b/0004-RHEL-Fixes-for-libguestfs-winsupport.patch @@ -1,4 +1,4 @@ -From ca4a2bf5162b7a1f10c9648727e48cd5f5a054fb Mon Sep 17 00:00:00 2001 +From f92a657fe3889af3ab1f1abaa62de9ed3ee9d5aa Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sun, 30 Aug 2015 03:21:57 -0400 Subject: [PATCH] RHEL: Fixes for libguestfs-winsupport. @@ -26,7 +26,7 @@ index f78e87ef..d61d7fb4 100644 (* 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 1c5c148e..b3a35a0a 100644 +index 5254322c..301f7544 100644 --- a/convert/windows_virtio.ml +++ b/convert/windows_virtio.ml @@ -283,6 +283,7 @@ and copy_from_virtio_win g inspect srcdir destdir filter missing = @@ -100,5 +100,5 @@ index a4cf191d..1ff41f6a 100755 # We also update the Registry several times, for firstboot, and (ONLY -- -2.19.1.3.g30247aa5d201 +2.31.1 diff --git a/0004-output-o-libvirt-Fix-graphics-element-port-autoport.patch b/0004-output-o-libvirt-Fix-graphics-element-port-autoport.patch deleted file mode 100644 index b493464..0000000 --- a/0004-output-o-libvirt-Fix-graphics-element-port-autoport.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 4c3d0b8b3b4b99ac613b612f05e0810d64381999 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 19 Jan 2022 16:16:55 +0000 -Subject: [PATCH] output: -o libvirt: Fix element port/autoport - -According to https://libvirt.org/formatdomain.html only vnc and sdl -graphics types support port/autoport. - -In addition, autoport='yes' is the non-deprecated replacement for -port='-1'. Since we don't need to support ancient libvirt, we don't -need to keep adding port='-1' in the autoport case. virt-xml-validate -rejects our XML if it has both attributes. - -Thanks: Martin Kletzander -Reviewed-by: Laszlo Ersek ---- - output/create_libvirt_xml.ml | 22 ++++++++++------------ - tests/test-v2v-i-ova.xml | 2 +- - 2 files changed, 11 insertions(+), 13 deletions(-) - -diff --git a/output/create_libvirt_xml.ml b/output/create_libvirt_xml.ml -index 87bfab17..93ceb803 100644 ---- a/output/create_libvirt_xml.ml -+++ b/output/create_libvirt_xml.ml -@@ -435,13 +435,18 @@ let create_libvirt_xml ?pool source inspect - - let graphics = - match source.s_display with -- | None -> e "graphics" [ "type", "vnc" ] [] -+ | None -> -+ e "graphics" [ "type", "vnc"; "autoport", "yes" ] [] - | Some { s_display_type = Window } -> - e "graphics" [ "type", "sdl" ] [] -- | Some { s_display_type = VNC } -> -- e "graphics" [ "type", "vnc" ] [] -- | Some { s_display_type = Spice } -> -- e "graphics" [ "type", "spice" ] [] in -+ | Some { s_display_type = VNC; s_port = Some p } -> -+ e "graphics" [ "type", "vnc"; "port", string_of_int p ] [] -+ | Some { s_display_type = VNC; s_port = None } -> -+ e "graphics" [ "type", "vnc"; "autoport", "yes" ] [] -+ | Some { s_display_type = Spice; s_port = Some p } -> -+ e "graphics" [ "type", "spice"; "port", string_of_int p ] [] -+ | Some { s_display_type = Spice; s_port = None } -> -+ e "graphics" [ "type", "spice"; "autoport", "yes" ] [] in - - (match source.s_display with - | Some { s_keymap = Some km } -> append_attr ("keymap", km) graphics -@@ -469,13 +474,6 @@ let create_libvirt_xml ?pool source inspect - append_child sub graphics - ) - | None -> ()); -- (match source.s_display with -- | Some { s_port = Some p } -> -- append_attr ("autoport", "no") graphics; -- append_attr ("port", string_of_int p) graphics -- | Some { s_port = None } | None -> -- append_attr ("autoport", "yes") graphics; -- append_attr ("port", "-1") graphics); - List.push_back devices graphics; - - let sound = -diff --git a/tests/test-v2v-i-ova.xml b/tests/test-v2v-i-ova.xml -index 2b6a8de0..e72c1db3 100644 ---- a/tests/test-v2v-i-ova.xml -+++ b/tests/test-v2v-i-ova.xml -@@ -41,7 +41,7 @@ - -- -+ - - /dev/urandom - --- -2.19.1.3.g30247aa5d201 - diff --git a/0018-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch b/0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch similarity index 91% rename from 0018-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch rename to 0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch index 4351237..ec29493 100644 --- a/0018-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +++ b/0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch @@ -1,4 +1,4 @@ -From 84f507669b3bdbe45f07a780126bfe9618fd46b9 Mon Sep 17 00:00:00 2001 +From 8711440e202048a9d7dfc471e33966ca98cd426e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 2 Mar 2017 14:21:37 +0100 Subject: [PATCH] RHEL: v2v: -i disk: force VNC as display (RHBZ#1372671) @@ -22,5 +22,5 @@ index 2b21950a..524a44bc 100644 s_sound = None; s_disks = s_disks; -- -2.19.1.3.g30247aa5d201 +2.31.1 diff --git a/0005-output-o-libvirt-qemu-Use-correct-device-name-for-vsock.patch b/0005-output-o-libvirt-qemu-Use-correct-device-name-for-vsock.patch deleted file mode 100644 index ca71deb..0000000 --- a/0005-output-o-libvirt-qemu-Use-correct-device-name-for-vsock.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 4f6b143c1cb32a29cbd3ff04635ba220e5db82ed Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 19 Jan 2022 16:21:50 +0000 -Subject: [PATCH] output: -o libvirt, qemu: Use correct device name for vsock - -According to https://libvirt.org/formatdomain.html#vsock it's -not . There is also no model="none", we just omit it if not -present. - -According to https://wiki.qemu.org/Features/VirtioVsock the qemu -parameter is -device vhost-vsock-pci. - -Fixes: 05f780c16f0135c657615520c2245b42de1efc3e -Reviewed-by: Laszlo Ersek ---- - output/create_libvirt_xml.ml | 8 ++------ - output/output_qemu.ml | 4 +--- - tests/test-v2v-i-ova.xml | 1 - - 3 files changed, 3 insertions(+), 10 deletions(-) - -diff --git a/output/create_libvirt_xml.ml b/output/create_libvirt_xml.ml -index 93ceb803..30c23973 100644 ---- a/output/create_libvirt_xml.ml -+++ b/output/create_libvirt_xml.ml -@@ -511,12 +511,8 @@ let create_libvirt_xml ?pool source inspect - e "address" ["type", "isa"; "iobase", "0x505"] [] - ] - ); -- List.push_back devices ( -- e "viosock" -- ["model", -- if guestcaps.gcaps_virtio_socket then virtio_model else "none"] -- [] -- ); -+ if guestcaps.gcaps_virtio_socket then -+ List.push_back devices (e "vsock" ["model", virtio_model] []); - - (* Standard devices added to every guest. *) - List.push_back_list devices [ -diff --git a/output/output_qemu.ml b/output/output_qemu.ml -index 3d5d6782..10ec8904 100644 ---- a/output/output_qemu.ml -+++ b/output/output_qemu.ml -@@ -277,9 +277,7 @@ and qemu_finalize dir source inspect target_meta - if guestcaps.gcaps_isa_pvpanic then - arg_list "-device" ["pvpanic"; "ioport=0x505"]; - if guestcaps.gcaps_virtio_socket then -- arg "-viosock" "virtio" -- else -- arg "-viosock" "none"; -+ arg "-device" "vhost-vsock-pci"; - - (* Add a serial console to Linux guests. *) - if inspect.i_type = "linux" then -diff --git a/tests/test-v2v-i-ova.xml b/tests/test-v2v-i-ova.xml -index e72c1db3..1915dd40 100644 ---- a/tests/test-v2v-i-ova.xml -+++ b/tests/test-v2v-i-ova.xml -@@ -46,7 +46,6 @@ - /dev/urandom - - -- - - - --- -2.19.1.3.g30247aa5d201 - diff --git a/0019-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch b/0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch similarity index 89% rename from 0019-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch rename to 0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch index 623fc2c..8558fdc 100644 --- a/0019-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch +++ b/0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch @@ -1,4 +1,4 @@ -From 6492261edc9d238f18232f5a446741233a11a88d Mon Sep 17 00:00:00 2001 +From 9144b6272f14e149efb2fe2d8792ef91f94d3d14 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Wed, 8 Mar 2017 11:03:40 +0100 Subject: [PATCH] RHEL: v2v: do not mention SUSE Xen hosts (RHBZ#1430203) @@ -22,5 +22,5 @@ index c4948e5e..97727b8f 100644 =head1 INPUT FROM XEN -- -2.19.1.3.g30247aa5d201 +2.31.1 diff --git a/0006-tests-Drop-some-obsolete-Fedora-versions-start-testing-F35.patch b/0006-tests-Drop-some-obsolete-Fedora-versions-start-testing-F35.patch deleted file mode 100644 index c9bfa9d..0000000 --- a/0006-tests-Drop-some-obsolete-Fedora-versions-start-testing-F35.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 5b82ed259868c0a40733858606a2b6dd793b8504 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 19 Jan 2022 16:10:34 +0000 -Subject: [PATCH] tests: Drop some obsolete Fedora versions, start testing F35 - -For very old Fedora versions, it's no longer possible to download the -packages (required by virt-builder --update). We get this error: - -Error: Cannot retrieve metalink for repository: fedora/20/x86_64. Please verify its path and try again - -I also dropped Fedora 23 and 29. Although those can be updated, it's -not really worth testing long-obsolete versions of Fedora. More -useful is testing the long-term stable equivalents (ie. CentOS and -RHEL). - -I did however add the current version of Fedora (35) because it's -worth testing that current Fedora conversions work. - -Reviewed-by: Laszlo Ersek ---- - tests/Makefile.am | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 222b5872..b4d3a5b5 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -142,9 +142,7 @@ real_guests_scripts = \ - test-v2v-conversion-of-debian-7.sh \ - test-v2v-conversion-of-debian-8.sh \ - test-v2v-conversion-of-debian-9.sh \ -- test-v2v-conversion-of-fedora-20.sh \ -- test-v2v-conversion-of-fedora-23.sh \ -- test-v2v-conversion-of-fedora-29.sh \ -+ test-v2v-conversion-of-fedora-35.sh \ - test-v2v-conversion-of-opensuse-13.1.sh \ - test-v2v-conversion-of-opensuse-13.2.sh \ - test-v2v-conversion-of-opensuse-42.1.sh \ --- -2.19.1.3.g30247aa5d201 - diff --git a/0020-RHEL-point-to-KB-for-supported-v2v-hypervisors-guests.patch b/0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch similarity index 96% rename from 0020-RHEL-point-to-KB-for-supported-v2v-hypervisors-guests.patch rename to 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch index b64bf7d..6a27ebf 100644 --- a/0020-RHEL-point-to-KB-for-supported-v2v-hypervisors-guests.patch +++ b/0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch @@ -1,4 +1,4 @@ -From d7c1e5f4c842e3a32b62a8368cdf701c3586d1a4 Mon Sep 17 00:00:00 2001 +From b14e17c2cfbf5bcb8880cf5972612bcac46e52f7 Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Tue, 26 Mar 2019 09:42:25 +0100 Subject: [PATCH] RHEL: point to KB for supported v2v hypervisors/guests @@ -123,5 +123,5 @@ index 9815f51f..1ffc0f9d 100644 =head2 Guest firmware -- -2.19.1.3.g30247aa5d201 +2.31.1 diff --git a/0007-tests-Drop-test-of-centos-6.patch b/0007-tests-Drop-test-of-centos-6.patch deleted file mode 100644 index 47c8e4c..0000000 --- a/0007-tests-Drop-test-of-centos-6.patch +++ /dev/null @@ -1,37 +0,0 @@ -From ea6a9a814ec737d543cca3920402a9fb69ba932d Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 19 Jan 2022 17:07:25 +0000 -Subject: [PATCH] tests: Drop test of centos-6 - -The image cannot be updated, see error below. In any case we are -testing a RHEL 6 image so it is not really necessary to continue to -test CentOS 6. - -Loaded plugins: fastestmirror, security -Setting up Update Process -Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again -YumRepo Error: All mirror URLs are not using ftp, http[s] or file. - Eg. Invalid release/repo/arch combination/ -removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt -virt-builder: error: yum -y update: command exited with an error - -Reviewed-by: Laszlo Ersek ---- - tests/Makefile.am | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index b4d3a5b5..11c29676 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -136,7 +136,6 @@ check-root: - # try to convert. This is only used by 'make check-slow'. - - real_guests_scripts = \ -- test-v2v-conversion-of-centos-6.sh \ - test-v2v-conversion-of-centos-7.0.sh \ - test-v2v-conversion-of-debian-6.sh \ - test-v2v-conversion-of-debian-7.sh \ --- -2.19.1.3.g30247aa5d201 - diff --git a/0021-RHEL-Disable-o-glance.patch b/0008-RHEL-Disable-o-glance.patch similarity index 96% rename from 0021-RHEL-Disable-o-glance.patch rename to 0008-RHEL-Disable-o-glance.patch index 7b595e2..35a727a 100644 --- a/0021-RHEL-Disable-o-glance.patch +++ b/0008-RHEL-Disable-o-glance.patch @@ -1,4 +1,4 @@ -From 5c74b51e6f7c731e38bad465ece91cc292363f9f Mon Sep 17 00:00:00 2001 +From 415b9b0bff55a349145027349ab7c9b421696154 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 30 Jun 2021 11:15:52 +0100 Subject: [PATCH] RHEL: Disable -o glance @@ -100,7 +100,7 @@ index f5a3abad..1ab356e8 100644 =head1 AUTHOR diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index 04f3efd2..7c101513 100644 +index 41417856..c7def4f7 100644 --- a/docs/virt-v2v.pod +++ b/docs/virt-v2v.pod @@ -432,14 +432,6 @@ See L below. @@ -118,7 +118,7 @@ index 04f3efd2..7c101513 100644 =item B<-o> B Set the output method to I. -@@ -1162,11 +1154,6 @@ and output methods may use disk space, as outlined in the table below. +@@ -1167,11 +1159,6 @@ and output methods may use disk space, as outlined in the table below. This temporarily places a full copy of the uncompressed source disks in C<$VIRT_V2V_TMPDIR> (or F). @@ -130,7 +130,7 @@ index 04f3efd2..7c101513 100644 =item I<-o local> =item I<-o qemu> -@@ -1351,13 +1338,6 @@ instance. +@@ -1355,13 +1342,6 @@ instance. Because of how Cinder volumes are presented as F block devices, using I<-o openstack> normally requires that virt-v2v is run as root. @@ -169,7 +169,7 @@ index c0db9115..074b5e16 100755 set -e set -x diff --git a/v2v/v2v.ml b/v2v/v2v.ml -index a384bc05..0a69c8e5 100644 +index fea69545..a1c7a7c7 100644 --- a/v2v/v2v.ml +++ b/v2v/v2v.ml @@ -205,7 +205,6 @@ let rec main () = @@ -215,5 +215,5 @@ index a384bc05..0a69c8e5 100644 | `RHV_Upload -> (module Output_rhv_upload.RHVUpload) | `RHV -> (module Output_rhv.RHV) -- -2.19.1.3.g30247aa5d201 +2.31.1 diff --git a/0008-tests-Drop-ancient-Ubuntu-versions-add-Ubuntu-20.04-LTS.patch b/0008-tests-Drop-ancient-Ubuntu-versions-add-Ubuntu-20.04-LTS.patch deleted file mode 100644 index 4681310..0000000 --- a/0008-tests-Drop-ancient-Ubuntu-versions-add-Ubuntu-20.04-LTS.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0b76aca004792263f31bcab38e4de19f645d3def Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 19 Jan 2022 17:12:25 +0000 -Subject: [PATCH] tests: Drop ancient Ubuntu versions, add Ubuntu 20.04 LTS - -Ubuntu 14.04 failed in the --update command. These versions are out -of standard support (5 years) so drop them from testing. Add Ubuntu 20.04. - -Reviewed-by: Laszlo Ersek ---- - tests/Makefile.am | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 11c29676..3e828558 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -149,11 +149,9 @@ real_guests_scripts = \ - test-v2v-conversion-of-rhel-6.8.sh \ - test-v2v-conversion-of-rhel-7.0.sh \ - test-v2v-conversion-of-rhel-7.2.sh \ -- test-v2v-conversion-of-ubuntu-10.04.sh \ -- test-v2v-conversion-of-ubuntu-12.04.sh \ -- test-v2v-conversion-of-ubuntu-14.04.sh \ - test-v2v-conversion-of-ubuntu-16.04.sh \ - test-v2v-conversion-of-ubuntu-18.04.sh \ -+ test-v2v-conversion-of-ubuntu-20.04.sh \ - test-v2v-conversion-of-windows-6.2-server.sh \ - test-v2v-conversion-of-windows-6.3-server.sh \ - test-v2v-conversion-of-windows-10.0-server.sh --- -2.19.1.3.g30247aa5d201 - diff --git a/0022-RHEL-Remove-the-in-place-option.patch b/0009-RHEL-Remove-the-in-place-option.patch similarity index 88% rename from 0022-RHEL-Remove-the-in-place-option.patch rename to 0009-RHEL-Remove-the-in-place-option.patch index 166dd93..0271b0f 100644 --- a/0022-RHEL-Remove-the-in-place-option.patch +++ b/0009-RHEL-Remove-the-in-place-option.patch @@ -1,4 +1,4 @@ -From fbdb4d5c9700a77cedaa2c015e7608b2f7dd113d Mon Sep 17 00:00:00 2001 +From 3eb3474d4f2b94cffd593995cdadc8d4e559b54f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 2 Dec 2021 11:56:05 +0000 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 wish to support in RHEL. --- - docs/virt-v2v.pod | 51 +---------------------------------------------- + docs/virt-v2v.pod | 49 ----------------------------------------------- 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 -index 7c101513..4f89d2b2 100644 +index c7def4f7..942e5991 100644 --- a/docs/virt-v2v.pod +++ b/docs/virt-v2v.pod @@ -8,10 +8,6 @@ virt-v2v - Convert a guest to use KVM @@ -59,16 +59,7 @@ index 7c101513..4f89d2b2 100644 =item B<-io> OPTION=VALUE Set input option(s) related to the current input mode or transport. -@@ -1278,7 +1254,7 @@ 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 -+store large temporary overlays. To - find out which directory this is, use: - - $ df -h "`guestfish get-cachedir`" -@@ -1410,31 +1386,6 @@ that instead. +@@ -1414,31 +1390,6 @@ that instead. @@ -101,7 +92,7 @@ index 7c101513..4f89d2b2 100644 The I<--machine-readable> option can be used to make the output more diff --git a/v2v/v2v.ml b/v2v/v2v.ml -index 0a69c8e5..1c74f01f 100644 +index a1c7a7c7..44ba6fae 100644 --- a/v2v/v2v.ml +++ b/v2v/v2v.ml @@ -183,7 +183,6 @@ let rec main () = @@ -148,5 +139,5 @@ index 0a69c8e5..1c74f01f 100644 pr "mac-option\n"; pr "bandwidth-option\n"; -- -2.19.1.3.g30247aa5d201 +2.31.1 diff --git a/0009-tests-Drop-old-and-add-newer-RHEL-versions-to-the-tests.patch b/0009-tests-Drop-old-and-add-newer-RHEL-versions-to-the-tests.patch deleted file mode 100644 index b2717e4..0000000 --- a/0009-tests-Drop-old-and-add-newer-RHEL-versions-to-the-tests.patch +++ /dev/null @@ -1,37 +0,0 @@ -From c2702313af33be1c140c31a63213a5deaceccd3f Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 19 Jan 2022 18:00:04 +0000 -Subject: [PATCH] tests: Drop old and add newer RHEL versions to the tests - -Let's try to test only the latest versions of RHEL that we have in the -internal (to Red Hat) virt-builder repository. - -Reviewed-by: Laszlo Ersek -[Laszlo reviewed an earlier version of this patch. I updated it with -a more consistent rationale and list of RHEL versions] ---- - tests/Makefile.am | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/tests/Makefile.am b/tests/Makefile.am -index 3e828558..4b66cb0d 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -145,10 +145,10 @@ real_guests_scripts = \ - test-v2v-conversion-of-opensuse-13.1.sh \ - test-v2v-conversion-of-opensuse-13.2.sh \ - test-v2v-conversion-of-opensuse-42.1.sh \ -- test-v2v-conversion-of-rhel-5.10.sh \ -- test-v2v-conversion-of-rhel-6.8.sh \ -- test-v2v-conversion-of-rhel-7.0.sh \ -- test-v2v-conversion-of-rhel-7.2.sh \ -+ test-v2v-conversion-of-rhel-5.11.sh \ -+ test-v2v-conversion-of-rhel-6.10.sh \ -+ test-v2v-conversion-of-rhel-7.9.sh \ -+ test-v2v-conversion-of-rhel-8.4.sh \ - test-v2v-conversion-of-ubuntu-16.04.sh \ - test-v2v-conversion-of-ubuntu-18.04.sh \ - test-v2v-conversion-of-ubuntu-20.04.sh \ --- -2.19.1.3.g30247aa5d201 - diff --git a/0010-tests-Don-t-use-virt-builder-update-when-testing-Windows-conversions.patch b/0010-tests-Don-t-use-virt-builder-update-when-testing-Windows-conversions.patch deleted file mode 100644 index 5bf9425..0000000 --- a/0010-tests-Don-t-use-virt-builder-update-when-testing-Windows-conversions.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 0ec1a0ef2ec62fb97952d48cdddbdbd3bf8394a7 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 19 Jan 2022 17:10:56 +0000 -Subject: [PATCH] tests: Don't use virt-builder --update when testing Windows - conversions -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The error was: - -virt-builder: error: cannot use ‘--update’ because no package manager -has been detected for this guest OS. - -If this guest OS is a common one with ordinary package management then this -may have been caused by a failure of libguestfs inspection. - -For OSes such as Windows that lack package management, this is not -possible. Try using one of the ‘--firstboot*’ flags instead (described -in the manual). - -Reviewed-by: Laszlo Ersek ---- - tests/test-v2v-conversion-of.sh | 11 ++++++++++- - 1 file changed, 10 insertions(+), 1 deletion(-) - -diff --git a/tests/test-v2v-conversion-of.sh b/tests/test-v2v-conversion-of.sh -index 232c6300..5a974d1b 100755 ---- a/tests/test-v2v-conversion-of.sh -+++ b/tests/test-v2v-conversion-of.sh -@@ -61,8 +61,17 @@ case "$guestname" in - ;; - esac - -+# Don't try to update Windows versions. -+case "$guestname" in -+ windows*) -+ ;; -+ *) -+ extra[${#extra[*]}]='--update' -+ ;; -+esac -+ - # Build a guest (using virt-builder). --virt-builder "$guestname" --quiet -o "$disk" "${extra[@]}" --update -+virt-builder "$guestname" --quiet -o "$disk" "${extra[@]}" - - # Create some minimal test metadata. - cat > "$xml" < -Date: Wed, 19 Jan 2022 18:21:47 +0000 -Subject: [PATCH] tests/test-v2v-trim.sh: Use -of qcow2 to preserve output - format - -Old virt-v2v used the same output format as input format when doing -disk to disk copies. Modular virt-v2v doesn't do this, it requires -using -of to set the output format to the same as the input format if -that is desired. - -Reviewed-by: Laszlo Ersek ---- - tests/test-v2v-trim.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test-v2v-trim.sh b/tests/test-v2v-trim.sh -index 8eab4792..ed6c031d 100755 ---- a/tests/test-v2v-trim.sh -+++ b/tests/test-v2v-trim.sh -@@ -66,7 +66,7 @@ fi - - virt-v2v --debug-gc \ - -i disk $d/fedora.qcow2 \ -- -o local -os $d -+ -o local -of qcow2 -os $d - - # Test the libvirt XML metadata and a disk was created. - test -f $d/fedora.xml --- -2.19.1.3.g30247aa5d201 - diff --git a/0012-lib-qemuNBD.ml-Use-qemu-nbd-shared-0-flag-to-allow-multiple-connections.patch b/0012-lib-qemuNBD.ml-Use-qemu-nbd-shared-0-flag-to-allow-multiple-connections.patch deleted file mode 100644 index facebe2..0000000 --- a/0012-lib-qemuNBD.ml-Use-qemu-nbd-shared-0-flag-to-allow-multiple-connections.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a6aa06d4999129f44ae84310e950b8c3a4620fe5 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 19 Jan 2022 18:35:40 +0000 -Subject: [PATCH] lib/qemuNBD.ml: Use qemu-nbd --shared=0 flag to allow - multiple connections - -qemu-nbd --shared (-e) flag controls how many clients can connect -concurrently. 0 means unlimited. - -We want to allow the sockets to be queried by other processes while -virt-v2v is running and it should be safe to do this. The default -configuration of qemu-nbd doesn't allow this so add --shared=0. - -Note this does not (in current qemu) enable multi-conn because we -aren't using the -r (read-only) flag. - -Reviewed-by: Laszlo Ersek ---- - lib/qemuNBD.ml | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/lib/qemuNBD.ml b/lib/qemuNBD.ml -index 12d083ae..89c93d70 100644 ---- a/lib/qemuNBD.ml -+++ b/lib/qemuNBD.ml -@@ -90,7 +90,11 @@ let run_unix ?socket { disk; snapshot; format } = - (* Construct the qemu-nbd command line. *) - let args = ref [] in - List.push_back_list args -- ["qemu-nbd"; "-t"; "--pid-file"; pidfile; "--socket"; socket]; -+ ["qemu-nbd"; -+ "-t"; -+ "--shared=0"; -+ "--pid-file"; pidfile; -+ "--socket"; socket]; - - (* -s adds a protective overlay. *) - if snapshot then List.push_back args "-s"; --- -2.19.1.3.g30247aa5d201 - diff --git a/0013-lib-qemuNBD.ml-Use-qemu-nbd-discard-unmap.patch b/0013-lib-qemuNBD.ml-Use-qemu-nbd-discard-unmap.patch deleted file mode 100644 index ab72128..0000000 --- a/0013-lib-qemuNBD.ml-Use-qemu-nbd-discard-unmap.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0d880dc288a10f29f6e52066514435c73af97be3 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Wed, 19 Jan 2022 18:54:11 +0000 -Subject: [PATCH] lib/qemuNBD.ml: Use qemu-nbd --discard=unmap - -The default for qemu-nbd is to ignore discard requests. This meant -that for input files in qcow2 format the "Mapping ..." (ie. fstrim) -step did nothing, all the work was ignored and we copied deleted data -over to the destination. - -This was detected by the test-v2v-trim.sh test. - -Fixes: commit 255722cbf39afc0b012e2ac00d16fa6ba2f8c21f -Reviewed-by: Laszlo Ersek ---- - lib/qemuNBD.ml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/qemuNBD.ml b/lib/qemuNBD.ml -index 89c93d70..54139ce0 100644 ---- a/lib/qemuNBD.ml -+++ b/lib/qemuNBD.ml -@@ -93,6 +93,7 @@ let run_unix ?socket { disk; snapshot; format } = - ["qemu-nbd"; - "-t"; - "--shared=0"; -+ "--discard=unmap"; - "--pid-file"; pidfile; - "--socket"; socket]; - --- -2.19.1.3.g30247aa5d201 - diff --git a/0023-input-libvirt-Share-a-single-connection-to-the-source-NBD-server.patch b/0023-input-libvirt-Share-a-single-connection-to-the-source-NBD-server.patch deleted file mode 100644 index 9b4a7c2..0000000 --- a/0023-input-libvirt-Share-a-single-connection-to-the-source-NBD-server.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 2a3b0da09e3a89eb9a6c84fd6015367ba3022e24 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 25 Jan 2022 10:06:37 +0000 -Subject: [PATCH] input: libvirt: Share a single connection to the source NBD - server - -When using virt-p2v from RHEL 7, it starts a very old qemu-nbd server -(probably 1.5.3) which required the --shared parameter to enable -sharing even in read-only mode. Since it doesn't pass this parameter -only a single connection at a time is allowed, and further connections -will deadlock. Note that later versions of qemu-nbd changed this so -that read-only connections permit sharing automatically. - -In modular virt-v2v we now use nbdkit-nbd-plugin to proxy the -connection to virt-p2v / qemu-nbd. When you connect to this multiple -times, as virt-v2v does, it will make multiple connections to the -backend qemu-nbd. This will cause a deadlock. - -We can use the nbdkit-nbd-plugin shared=true flag to enable the plugin -to share a single connection to the backend between multiple nbdkit -clients. - -Reported-by: Tingting Zheng -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2044911 -Reviewed-by: Laszlo Ersek -(cherry picked from commit 20019b5cadc1434ac09842e2045a7d5635561835) ---- - input/input_libvirt.ml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/input/input_libvirt.ml b/input/input_libvirt.ml -index 33f61086..42050c15 100644 ---- a/input/input_libvirt.ml -+++ b/input/input_libvirt.ml -@@ -76,6 +76,7 @@ and libvirt_servers dir disks = - Nbdkit.add_filter cmd "cow"; - Nbdkit.add_arg cmd "hostname" hostname; - Nbdkit.add_arg cmd "port" (string_of_int port); -+ Nbdkit.add_arg cmd "shared" "true"; - let _, pid = Nbdkit.run_unix ~socket cmd in - - (* --exit-with-parent should ensure nbdkit is cleaned --- -2.19.1.3.g30247aa5d201 - diff --git a/0024-v2v-Send-nbdinfo-debug-information-to-stderr-not-stdout.patch b/0024-v2v-Send-nbdinfo-debug-information-to-stderr-not-stdout.patch deleted file mode 100644 index 0d778be..0000000 --- a/0024-v2v-Send-nbdinfo-debug-information-to-stderr-not-stdout.patch +++ /dev/null @@ -1,52 +0,0 @@ -From aef0dcabe2257c234e1acb745f016b61824af014 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 25 Jan 2022 10:39:49 +0000 -Subject: [PATCH] v2v: Send nbdinfo debug information to stderr not stdout - -When running in verbose mode (virt-v2v -vx) debug messages are -supposed to only be written to stderr. This allows virt-p2v and other -wrappers to separate ordinary progress messages and warnings, from -debugging information. - -However when we added nbdinfo output (only printed in verbose mode), -the output was wrongly sent to stdout instead of stderr. You can show -this as follows: - -$ virt-v2v -vx -i disk /var/tmp/fedora-35.qcow2 -o null 2>/dev/null -[ 0.0] Setting up the source: -i disk /var/tmp/fedora-35.qcow2 -[ 1.0] Opening the source -... some messages elided ... -protocol: newstyle-fixed without TLS <-- debug output to stdout -export="": - export-size: 6442450944 (6G) - content: DOS/MBR boot sector - uri: nbd+unix:///?socket=/tmp/v2v.Xqvaml/in0 -... etc ... - -This patch sends the nbdinfo debugging output to stderr instead. - -Reported-by: Tingting Zheng -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2044922 -Fixes: commit 255722cbf39afc0b012e2ac00d16fa6ba2f8c21f -Reviewed-by: Laszlo Ersek -(cherry picked from commit 68af35d48ca845133ede948d36ee351d171e3de8) ---- - v2v/v2v.ml | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/v2v/v2v.ml b/v2v/v2v.ml -index 1c74f01f..92546940 100644 ---- a/v2v/v2v.ml -+++ b/v2v/v2v.ml -@@ -616,7 +616,7 @@ and nbdcopy output_alloc input_uri output_uri = - *) - and nbdinfo ?(content = false) uri = - let cmd = -- sprintf "nbdinfo%s %s" -+ sprintf "nbdinfo%s %s >&2" - (if content then " --content" else " --no-content") (quote uri) in - ignore (Sys.command cmd) - --- -2.19.1.3.g30247aa5d201 - diff --git a/0025-input-Require-ip-password-for-vCenter-over-HTTPS.patch b/0025-input-Require-ip-password-for-vCenter-over-HTTPS.patch deleted file mode 100644 index 3d662a4..0000000 --- a/0025-input-Require-ip-password-for-vCenter-over-HTTPS.patch +++ /dev/null @@ -1,112 +0,0 @@ -From 0210e940c9bd7bbfda9654feea13cb3baccb1a00 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Tue, 1 Feb 2022 09:54:06 +0000 -Subject: [PATCH] input: Require -ip password for vCenter over HTTPS - -As far as I've ever seen, you always need a password to access the -/folder directory of a VMware server. If the password isn't specified -to virt-v2v using the -ip option then it used to try to ask for it -interactively when virt-v2v started. Actually it asked for the -password several times -- at least twice. - -After we added the cookie-script feature (commit 2b9a11743b "v2v: -vcenter: Implement cookie scripts.") it tries to ask interactively at -random points during the conversion, which is obviously bad from a UI -point of view but also because the password is requested without a -prompt looks like a hang. - -We could solve this by prompting for a password. But virt-v2v is not -primarily an interactive tool and it's an easier fix is to require the -caller to use the -ip passwordfile option (in this particular mode). - -Reported-by: Xinyu Li -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1960087 -(cherry picked from commit 8abc07a8589a48c79cc65159640e0d8ab3c9b261) -Signed-off-by: Laszlo Ersek ---- - docs/virt-v2v-input-vmware.pod | 12 ++++++++++++ - input/input_vcenter_https.ml | 12 +++++++++--- - 2 files changed, 21 insertions(+), 3 deletions(-) - -diff --git a/docs/virt-v2v-input-vmware.pod b/docs/virt-v2v-input-vmware.pod -index d0a3f742..584eba38 100644 ---- a/docs/virt-v2v-input-vmware.pod -+++ b/docs/virt-v2v-input-vmware.pod -@@ -24,6 +24,7 @@ virt-v2v-input-vmware - Using virt-v2v to convert guests from VMware - - virt-v2v - -ic 'vpx://root@vcenter.example.com/Datacenter/esxi?no_verify=1' -+ -ip passwordfile - "GUEST NAME" [-o* options] - - =head1 DESCRIPTION -@@ -389,6 +390,9 @@ will need to URI-escape that character using C<%5c>: C - (5c is the hexadecimal ASCII code for backslash.) Other punctuation - may also have to be escaped. - -+The user's password must be supplied in a local file using the -+separate I<-ip> parameter. -+ - =item C - - is the vCenter Server (I hypervisor). -@@ -472,11 +476,19 @@ B. Fix your libvirt configuration and/or your VMware - vCenter Server before continuing. - -+=head2 vCenter: Supplying the password -+ -+The vCenter password (usually for the root account, or the account -+specified by C in the vpx URL) has to be written to a local -+file, and the name of that file specified on the virt-v2v command line -+using I<-ip passwordfile>. -+ - =head2 vCenter: Importing a guest - - To import a particular guest from vCenter Server, do: - - $ virt-v2v -ic 'vpx://root@vcenter.example.com/Datacenter/esxi?no_verify=1' \ -+ -ip passwordfile \ - "Windows 2003" \ - -o local -os /var/tmp - -diff --git a/input/input_vcenter_https.ml b/input/input_vcenter_https.ml -index bcefed16..fd5b4017 100644 ---- a/input/input_vcenter_https.ml -+++ b/input/input_vcenter_https.ml -@@ -53,6 +53,13 @@ let rec vcenter_https_source dir options args = - | _ -> - error (f_"-i libvirt: expecting a libvirt guest name on the command line") in - -+ (* -ip is required in this mode, see RHBZ#1960087 *) -+ let password_file = -+ match options.input_password with -+ | Some file -> file -+ | None -> -+ error (f_"-i libvirt: expecting -ip passwordfile parameter for vCenter connection") in -+ - (* -ic must be set and it must contain a server. This is - * enforced by virt-v2v. - *) -@@ -76,8 +83,7 @@ let rec vcenter_https_source dir options args = - - (* Connect to the hypervisor. *) - let conn = -- let auth = Libvirt_utils.auth_for_password_file -- ?password_file:options.input_password () in -+ let auth = Libvirt_utils.auth_for_password_file ~password_file () in - Libvirt.Connect.connect_auth ~name:input_conn auth in - - (* Parse the libvirt XML. *) -@@ -109,7 +115,7 @@ let rec vcenter_https_source dir options args = - let cor = dir // "convert" in - let pid = VCenter.start_nbdkit_for_path - ?bandwidth:options.bandwidth -- ~cor ?password_file:options.input_password -+ ~cor ~password_file - dcPath uri server path socket in - On_exit.kill pid - ) disks; --- -2.19.1.3.g30247aa5d201 - diff --git a/0026-convert-windows_virtio-fix-copy_from_libosinfo-VIRTIO_WIN-priority.patch b/0026-convert-windows_virtio-fix-copy_from_libosinfo-VIRTIO_WIN-priority.patch deleted file mode 100644 index 448b12f..0000000 --- a/0026-convert-windows_virtio-fix-copy_from_libosinfo-VIRTIO_WIN-priority.patch +++ /dev/null @@ -1,131 +0,0 @@ -From 887d374cc3a910db9794e12f2b13bd6c2a43d036 Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Tue, 1 Feb 2022 13:32:13 +0100 -Subject: [PATCH] convert/windows_virtio: fix copy_from_libosinfo <-> - VIRTIO_WIN priority - -Commit 258e4b718d5d introduced the "copy_from_libosinfo" branch in -"copy_drivers" with higher priority than the existent -"copy_from_virtio_win". - -This introduced a conflict with the documentation ("docs/virt-v2v.pod"). -The documentation stated (and still states) that the VIRTIO_WIN env var, -when set, dictates where virt-v2v look for the virtio-win drivers. The -conflict is that, even in case we set VIRTIO_WIN, virt-v2v still consults -libosinfo first. - -Skip the "copy_from_libosinfo" branch in case VIRTIO_WIN is set, plus -explain in the documentation that VIRTIO_WIN, when set, overrides -libosinfo. - -NOTE: the necessity of this fix is made apparent by the next patch in the -series. Namely, "copy_from_libosinfo" has a bug in the architecture -filter. Once we fix that bug in the next patch, *and* install (e.g.) -"virtio-win-1.9.24-4.el8.noarch" on the conversion host, the "i-ova" test -case will suddenly prefer the virtio drivers exposed via libosinfo, in -spite of the "tests/test-v2v-i-ova.sh" script explicitly setting -VIRTIO_WIN to "test-data/fake-virtio-win". The symptom is that the pvpanic -device will be enabled in the domain XML, due to it being supported by the -actual (not fake) virtio-win drivers. - -Fixes: 258e4b718d5d80c79634fe864c8c52b12e41777c -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2043333 -Signed-off-by: Laszlo Ersek -Message-Id: <20220201123219.9317-2-lersek@redhat.com> -Acked-by: Richard W.M. Jones -(cherry picked from commit be39049582fbd167c92062a4e63d10f13474aea0) -Signed-off-by: Laszlo Ersek ---- - convert/windows_virtio.ml | 12 ++++++------ - docs/virt-v2v.pod | 24 +++++++++++++++++------- - 2 files changed, 23 insertions(+), 13 deletions(-) - -diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml -index b3a35a0a..46e6350a 100644 ---- a/convert/windows_virtio.ml -+++ b/convert/windows_virtio.ml -@@ -29,14 +29,14 @@ open Utils - - module G = Guestfs - --let virtio_win = -- try Sys.getenv "VIRTIO_WIN" -+let virtio_win, virtio_win_from_env = -+ try Sys.getenv "VIRTIO_WIN", true - with Not_found -> -- try Sys.getenv "VIRTIO_WIN_DIR" (* old name for VIRTIO_WIN *) -+ try Sys.getenv "VIRTIO_WIN_DIR" (* old name for VIRTIO_WIN *), true - with Not_found -> - let iso = Config.datadir // "virtio-win" // "virtio-win.iso" in -- if Sys.file_exists iso then iso -- else Config.datadir // "virtio-win" -+ (if Sys.file_exists iso then iso -+ else Config.datadir // "virtio-win"), false - - let scsi_class_guid = "{4D36E97B-E325-11CE-BFC1-08002BE10318}" - let viostor_legacy_pciid = "VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00" -@@ -228,7 +228,7 @@ and ddb_regedits inspect drv_name drv_pciid = - * been copied. - *) - and copy_drivers g inspect driverdir = -- [] <> copy_from_libosinfo g inspect driverdir || -+ (not virtio_win_from_env && [] <> copy_from_libosinfo g inspect driverdir) || - [] <> copy_from_virtio_win g inspect "/" driverdir - virtio_iso_path_matches_guest_os - (fun () -> -diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod -index 4f89d2b2..2836b509 100644 ---- a/docs/virt-v2v.pod -+++ b/docs/virt-v2v.pod -@@ -875,7 +875,12 @@ below. - Ubuntu 10.04+ All versions support virtio - - Windows Drivers are installed from the ISO or directory pointed -- to by "VIRTIO_WIN" environment variable if present -+ to by the "VIRTIO_WIN" environment variable if present. -+ If the "VIRTIO_WIN" environment variable is absent -+ (which is the recommended setting), then libosinfo is -+ consulted first, for driver files that are locally -+ available on the conversion host. -+ - - =head2 RHEL 4: SELinux relabel appears to hang forever - -@@ -1514,15 +1519,20 @@ I<--firstboot> or I<--firstboot-command> options with Windows guests. - - =item C - --This is where virtio drivers for Windows are searched for. It can be --a directory I point to F (CD ROM image containing --drivers). -+This is an override for where virtio drivers for Windows are searched -+for. It can be a directory I point to F (CD ROM -+image containing drivers). - --If unset, then we look for drivers in whichever of these paths --is found first: -+If unset, then we look for drivers via whichever of these methods -+succeeds first: - - =over 4 - -+=item C -+ -+Load osinfo data from the default paths, and attempt to find drivers via -+libosinfo lookup. This is the preferred method. -+ - =item F - - The ISO containing virtio drivers for Windows. -@@ -1530,7 +1540,7 @@ The ISO containing virtio drivers for Windows. - =item F - - The exploded tree of virtio drivers for Windows. This is --usually incomplete, hence the ISO is preferred. -+usually incomplete, hence the least preferred method. - - =back - --- -2.19.1.3.g30247aa5d201 - diff --git a/0027-convert-windows_virtio-map-32-bit-arch-name-from-libguestfs-to-osinfo.patch b/0027-convert-windows_virtio-map-32-bit-arch-name-from-libguestfs-to-osinfo.patch deleted file mode 100644 index 86ad3df..0000000 --- a/0027-convert-windows_virtio-map-32-bit-arch-name-from-libguestfs-to-osinfo.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 5f32e9ac9f501ce9bcae3ddcc8fa8ea8a1e873e0 Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Tue, 1 Feb 2022 13:32:14 +0100 -Subject: [PATCH] convert/windows_virtio: map 32-bit arch name from libguestfs - to osinfo - -For Windows guests, the "inspect.i_arch" field is ultimately determined in -libguestfs, on the following call path: - - inspect_os [daemon/inspect.ml] - check_for_filesystem_on [daemon/inspect_fs.ml] - check_filesystem [daemon/inspect_fs.ml] - check_windows_root [daemon/inspect_fs_windows.ml] - check_windows_arch [daemon/inspect_fs_windows.ml] - file_architecture [daemon/filearch.ml] - file_architecture_of_magic [daemon/filearch.ml] - -where the last function maps "PE32 executable" to "i386". - -(As of libguestfs commit 5858c2cf6c24.) - -However, in osinfo-db (as of commit 72c69622e6db), the -"data/schema/osinfo.rng.in" schema calls the same architecture "i686". - -Perform this mapping in the "copy_from_libosinfo" function explicitly: the -filter currently throws away all "i686" drivers from libosinfo because -they don't match "i386" from libguestfs. - -(There is no such problem with "x86_64".) - -Fixes: 258e4b718d5d80c79634fe864c8c52b12e41777c -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2043333 -Signed-off-by: Laszlo Ersek -Acked-by: Richard W.M. Jones -Message-Id: <20220201123219.9317-3-lersek@redhat.com> -(cherry picked from commit 70d77100eee2c341359bcd76962478419d1f0548) -Signed-off-by: Laszlo Ersek ---- - convert/windows_virtio.ml | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml -index 46e6350a..1d8b0cb0 100644 ---- a/convert/windows_virtio.ml -+++ b/convert/windows_virtio.ml -@@ -416,6 +416,11 @@ and copy_from_libosinfo g inspect destdir = - ) - in - let { i_osinfo = osinfo; i_arch = arch } = inspect in -+ (* The architecture that "inspect.i_arch" from libguestfs -+ * ("daemon/filearch.ml") calls "i386", the osinfo-db schema -+ * ("data/schema/osinfo.rng.in") calls "i686". -+ *) -+ let arch = if arch = "i386" then "i686" else arch in - try - let os = Libosinfo_utils.get_os_by_short_id osinfo in - let drivers = os#get_device_drivers () in --- -2.19.1.3.g30247aa5d201 - diff --git a/0028-convert-libosinfo-factor-out-v2v_osinfo_device_list_to_value_list.patch b/0028-convert-libosinfo-factor-out-v2v_osinfo_device_list_to_value_list.patch deleted file mode 100644 index 2667bca..0000000 --- a/0028-convert-libosinfo-factor-out-v2v_osinfo_device_list_to_value_list.patch +++ /dev/null @@ -1,176 +0,0 @@ -From b6bfcce0340b2c602b42df8fceff68be83db3fe9 Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Tue, 1 Feb 2022 13:32:15 +0100 -Subject: [PATCH] convert/libosinfo: factor out - v2v_osinfo_device_list_to_value_list() - -Move the guts of v2v_osinfo_os_get_all_devices() to a new static function -called v2v_osinfo_device_list_to_value_list(). - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2043333 -Signed-off-by: Laszlo Ersek -Acked-by: Richard W.M. Jones -Message-Id: <20220201123219.9317-4-lersek@redhat.com> -(cherry picked from commit 9045c87d3a6f43a4063f6b52d05c6dcf7e051319) -Signed-off-by: Laszlo Ersek ---- - convert/libosinfo-c.c | 126 +++++++++++++++++++++++------------------- - 1 file changed, 68 insertions(+), 58 deletions(-) - -diff --git a/convert/libosinfo-c.c b/convert/libosinfo-c.c -index ec7c06d3..bc5816f6 100644 ---- a/convert/libosinfo-c.c -+++ b/convert/libosinfo-c.c -@@ -210,59 +210,6 @@ glist_to_value_list (GList *list) - CAMLreturn (rv); - } - --value --v2v_osinfo_os_get_device_drivers (value osv) --{ -- CAMLparam1 (osv); -- CAMLlocal4 (rv, v, vi, copyv); -- OsinfoDeviceDriverList *list; -- gint i, len; -- -- list = osinfo_os_get_device_drivers (OsinfoOs_t_val (osv)); -- len = osinfo_list_get_length (OSINFO_LIST(list)); -- -- rv = Val_emptylist; -- for (i = len - 1; i >= 0; --i) { -- OsinfoDeviceDriver *driver; -- const gchar *str; -- gboolean b; -- GList *l; -- gint64 i64; -- -- driver = OSINFO_DEVICE_DRIVER(osinfo_list_get_nth (OSINFO_LIST(list), i)); -- -- vi = caml_alloc (6, 0); -- str = osinfo_device_driver_get_architecture (driver); -- copyv = caml_copy_string (str); -- Store_field (vi, 0, copyv); -- str = osinfo_device_driver_get_location (driver); -- copyv = caml_copy_string (str); -- Store_field (vi, 1, copyv); -- b = osinfo_device_driver_get_pre_installable (driver); -- Store_field (vi, 2, Val_bool (b)); -- b = osinfo_device_driver_get_signed (driver); -- Store_field (vi, 3, Val_bool (b)); --#if IS_LIBOSINFO_VERSION(1, 7, 0) -- i64 = osinfo_device_driver_get_priority (driver); --#else -- /* Same as OSINFO_DEVICE_DRIVER_DEFAULT_PRIORITY in libosinfo 1.7.0+. */ -- i64 = 50; --#endif -- copyv = caml_copy_int64 (i64); -- Store_field (vi, 4, copyv); -- l = osinfo_device_driver_get_files (driver); -- Store_field (vi, 5, glist_to_value_list (l)); -- g_list_free (l); -- -- v = caml_alloc (2, 0); -- Store_field (v, 0, vi); -- Store_field (v, 1, rv); -- rv = v; -- } -- -- CAMLreturn (rv); --} -- - /* Collect OsinfoDevice properties from two levels: - * - * - The OSINFO_ENTITY_PROP_ID property, originating from the OsinfoEntity base -@@ -288,17 +235,15 @@ static const char * const device_prop[] = { - }; - #define NUM_DEVICE_PROPS (sizeof device_prop / sizeof device_prop[0]) - --value --v2v_osinfo_os_get_all_devices (value osv) -+static value -+v2v_osinfo_device_list_to_value_list (OsinfoDeviceList *dev_list) - { -- CAMLparam1 (osv); -+ CAMLparam0 (); - CAMLlocal4 (retvalv, linkv, propsv, copyv); -- 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); - -@@ -328,3 +273,68 @@ v2v_osinfo_os_get_all_devices (value osv) - - CAMLreturn (retvalv); - } -+ -+value -+v2v_osinfo_os_get_device_drivers (value osv) -+{ -+ CAMLparam1 (osv); -+ CAMLlocal4 (rv, v, vi, copyv); -+ OsinfoDeviceDriverList *list; -+ gint i, len; -+ -+ list = osinfo_os_get_device_drivers (OsinfoOs_t_val (osv)); -+ len = osinfo_list_get_length (OSINFO_LIST(list)); -+ -+ rv = Val_emptylist; -+ for (i = len - 1; i >= 0; --i) { -+ OsinfoDeviceDriver *driver; -+ const gchar *str; -+ gboolean b; -+ GList *l; -+ gint64 i64; -+ -+ driver = OSINFO_DEVICE_DRIVER(osinfo_list_get_nth (OSINFO_LIST(list), i)); -+ -+ vi = caml_alloc (6, 0); -+ str = osinfo_device_driver_get_architecture (driver); -+ copyv = caml_copy_string (str); -+ Store_field (vi, 0, copyv); -+ str = osinfo_device_driver_get_location (driver); -+ copyv = caml_copy_string (str); -+ Store_field (vi, 1, copyv); -+ b = osinfo_device_driver_get_pre_installable (driver); -+ Store_field (vi, 2, Val_bool (b)); -+ b = osinfo_device_driver_get_signed (driver); -+ Store_field (vi, 3, Val_bool (b)); -+#if IS_LIBOSINFO_VERSION(1, 7, 0) -+ i64 = osinfo_device_driver_get_priority (driver); -+#else -+ /* Same as OSINFO_DEVICE_DRIVER_DEFAULT_PRIORITY in libosinfo 1.7.0+. */ -+ i64 = 50; -+#endif -+ copyv = caml_copy_int64 (i64); -+ Store_field (vi, 4, copyv); -+ l = osinfo_device_driver_get_files (driver); -+ Store_field (vi, 5, glist_to_value_list (l)); -+ g_list_free (l); -+ -+ v = caml_alloc (2, 0); -+ Store_field (v, 0, vi); -+ Store_field (v, 1, rv); -+ rv = v; -+ } -+ -+ CAMLreturn (rv); -+} -+ -+value -+v2v_osinfo_os_get_all_devices (value osv) -+{ -+ CAMLparam1 (osv); -+ CAMLlocal1 (retvalv); -+ g_autoptr (OsinfoDeviceList) dev_list = NULL; -+ -+ dev_list = osinfo_os_get_all_devices (OsinfoOs_t_val (osv), NULL); -+ retvalv = v2v_osinfo_device_list_to_value_list (dev_list); -+ CAMLreturn (retvalv); -+} --- -2.19.1.3.g30247aa5d201 - diff --git a/0029-convert-libosinfo-retrieve-the-device-list-for-OsinfoDeviceDriver.patch b/0029-convert-libosinfo-retrieve-the-device-list-for-OsinfoDeviceDriver.patch deleted file mode 100644 index 2b2c259..0000000 --- a/0029-convert-libosinfo-retrieve-the-device-list-for-OsinfoDeviceDriver.patch +++ /dev/null @@ -1,130 +0,0 @@ -From a90a23fe48225775bef65829b83c14b3c940d093 Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Tue, 1 Feb 2022 13:32:16 +0100 -Subject: [PATCH] convert/libosinfo: retrieve the device list for - OsinfoDeviceDriver - -The OsinfoDeviceDriver class supports the -osinfo_device_driver_get_devices() method, we've just had no use for that -thus far. - -Using the previously extracted v2v_osinfo_device_list_to_value_list() -function, we can now relatively easily OCaml-ify the list of devices that -a driver supports. (We'll use this functionality in a subsequent patch.) - -(Notably, osinfo_device_driver_get_devices() is marked "transfer none", -unlike osinfo_os_get_all_devices(), which is marked "transfer full".) - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2043333 -Signed-off-by: Laszlo Ersek -Acked-by: Richard W.M. Jones -Message-Id: <20220201123219.9317-5-lersek@redhat.com> -(cherry picked from commit 27816bd952b609b45e98670fe538b621f3d254e4) -Signed-off-by: Laszlo Ersek ---- - convert/libosinfo-c.c | 6 ++++++ - convert/libosinfo.ml | 19 ++++++++++--------- - convert/libosinfo.mli | 19 ++++++++++--------- - 3 files changed, 26 insertions(+), 18 deletions(-) - -diff --git a/convert/libosinfo-c.c b/convert/libosinfo-c.c -index bc5816f6..93357fd9 100644 ---- a/convert/libosinfo-c.c -+++ b/convert/libosinfo-c.c -@@ -292,6 +292,7 @@ v2v_osinfo_os_get_device_drivers (value osv) - gboolean b; - GList *l; - gint64 i64; -+ OsinfoDeviceList *dev_list; - - driver = OSINFO_DEVICE_DRIVER(osinfo_list_get_nth (OSINFO_LIST(list), i)); - -@@ -317,6 +318,11 @@ v2v_osinfo_os_get_device_drivers (value osv) - l = osinfo_device_driver_get_files (driver); - Store_field (vi, 5, glist_to_value_list (l)); - g_list_free (l); -+ dev_list = osinfo_device_driver_get_devices (driver); -+ v = (dev_list == NULL) ? -+ Val_emptylist : -+ v2v_osinfo_device_list_to_value_list (dev_list); -+ Store_field (vi, 6, v); - - v = caml_alloc (2, 0); - Store_field (v, 0, vi); -diff --git a/convert/libosinfo.ml b/convert/libosinfo.ml -index 78271be2..8ea0a279 100644 ---- a/convert/libosinfo.ml -+++ b/convert/libosinfo.ml -@@ -23,15 +23,6 @@ open Common_gettext.Gettext - type osinfo_db_t - type osinfo_os_t - --type osinfo_device_driver = { -- architecture : string; -- location : string; -- pre_installable : bool; -- signed : bool; -- priority : int64; -- files : string list; --} -- - type osinfo_device = { - id : string; - vendor : string; -@@ -44,6 +35,16 @@ type osinfo_device = { - subsystem : string; - } - -+type osinfo_device_driver = { -+ architecture : string; -+ location : string; -+ pre_installable : bool; -+ signed : bool; -+ priority : int64; -+ files : string list; -+ devices : osinfo_device list; -+} -+ - 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" -diff --git a/convert/libosinfo.mli b/convert/libosinfo.mli -index 1ece7b41..aa436370 100644 ---- a/convert/libosinfo.mli -+++ b/convert/libosinfo.mli -@@ -20,15 +20,6 @@ - - type osinfo_os_t - --type osinfo_device_driver = { -- architecture : string; -- location : string; -- pre_installable : bool; -- signed : bool; -- priority : int64; -- files : string list; --} -- - type osinfo_device = { - id : string; - vendor : string; -@@ -41,6 +32,16 @@ type osinfo_device = { - subsystem : string; - } - -+type osinfo_device_driver = { -+ architecture : string; -+ location : string; -+ pre_installable : bool; -+ signed : bool; -+ priority : int64; -+ files : string list; -+ devices : osinfo_device list; -+} -+ - class osinfo_os : osinfo_os_t -> object - method get_id : unit -> string - (** Return the ID. *) --- -2.19.1.3.g30247aa5d201 - diff --git a/0030-convert-libosinfo_utils-debug-log-the-devices-supported-by-a-driver.patch b/0030-convert-libosinfo_utils-debug-log-the-devices-supported-by-a-driver.patch deleted file mode 100644 index 993103a..0000000 --- a/0030-convert-libosinfo_utils-debug-log-the-devices-supported-by-a-driver.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 61a0a01b1f6166bb03e04ef7dcb23f0559ea08fe Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Tue, 1 Feb 2022 13:32:17 +0100 -Subject: [PATCH] convert/libosinfo_utils: debug-log the devices supported by a - driver - -While at it, put each file of a driver "pack" on a separate line, and -print "Driver:", "Files:" and "Devices:" headers as well. - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2043333 -Signed-off-by: Laszlo Ersek -Acked-by: Richard W.M. Jones -Message-Id: <20220201123219.9317-6-lersek@redhat.com> -(cherry picked from commit 32e3d19e9fe437e957591fa3b18ec981053e9196) -Signed-off-by: Laszlo Ersek ---- - convert/libosinfo_utils.ml | 21 +++++++++++---------- - convert/libosinfo_utils.mli | 6 +++--- - convert/windows_virtio.ml | 2 +- - 3 files changed, 15 insertions(+), 14 deletions(-) - -diff --git a/convert/libosinfo_utils.ml b/convert/libosinfo_utils.ml -index 77f22272..f0d70ffd 100644 ---- a/convert/libosinfo_utils.ml -+++ b/convert/libosinfo_utils.ml -@@ -33,16 +33,6 @@ let get_os_by_short_id os = - debug "libosinfo: loaded OS: %s" (os#get_id ()); - os - --let string_of_osinfo_device_driver { Libosinfo.architecture; location; -- pre_installable; signed; priority; -- files } = -- Printf.sprintf "%s: [%s, %s, %s, priority %Ld] %s" -- location architecture -- (if pre_installable then "pre-installable" else "not pre-installable") -- (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. *) -@@ -78,6 +68,17 @@ let string_of_osinfo_device_list dev_list = - String.concat "\n" - (List.map (fun dev -> columnate (listify dev) max_widths) dev_list) - -+let string_of_osinfo_device_driver { Libosinfo.architecture; location; -+ pre_installable; signed; priority; -+ files; devices } = -+ Printf.sprintf "%s: [%s, %s, %s, priority %Ld]\nFiles:\n%s\nDevices:\n%s" -+ location architecture -+ (if pre_installable then "pre-installable" else "not pre-installable") -+ (if signed then "signed" else "unsigned") -+ priority -+ (String.concat "\n" files) -+ (string_of_osinfo_device_list devices) -+ - type os_support = { - q35 : bool; - vio10 : bool; -diff --git a/convert/libosinfo_utils.mli b/convert/libosinfo_utils.mli -index ab77ec97..67be16c4 100644 ---- a/convert/libosinfo_utils.mli -+++ b/convert/libosinfo_utils.mli -@@ -25,12 +25,12 @@ val get_os_by_short_id : string -> Libosinfo.osinfo_os - Raise [Not_found] in case there is no matching 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. *) - -+val string_of_osinfo_device_driver : Libosinfo.osinfo_device_driver -> string -+(** Convert a [osinfo_device_driver] to a printable string for debugging. *) -+ - type os_support = { - q35 : bool; - vio10 : bool; -diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml -index 1d8b0cb0..3e542631 100644 ---- a/convert/windows_virtio.ml -+++ b/convert/windows_virtio.ml -@@ -412,7 +412,7 @@ and copy_from_libosinfo g inspect destdir = - let debug_drivers = - List.iter ( - fun d -> -- debug "\t%s" (Libosinfo_utils.string_of_osinfo_device_driver d) -+ debug "Driver: %s" (Libosinfo_utils.string_of_osinfo_device_driver d) - ) - in - let { i_osinfo = osinfo; i_arch = arch } = inspect in --- -2.19.1.3.g30247aa5d201 - diff --git a/0031-convert-libosinfo_utils-extract-best_driver-from-windows_virtio.ml.patch b/0031-convert-libosinfo_utils-extract-best_driver-from-windows_virtio.ml.patch deleted file mode 100644 index 9019d35..0000000 --- a/0031-convert-libosinfo_utils-extract-best_driver-from-windows_virtio.ml.patch +++ /dev/null @@ -1,154 +0,0 @@ -From 9725e53665bc64858ce3dd17aa1e365a3bb6e9da Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Tue, 1 Feb 2022 13:32:18 +0100 -Subject: [PATCH] convert/libosinfo_utils: extract "best_driver" from - "windows_virtio.ml" - -The "copy_from_libosinfo" function in "windows_virtio.ml" filters and -sorts the driver list from libosinfo in order to find the best driver. -Move this logic to a separate function (called "best_driver") in the -Libosinfo_utils module. - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2043333 -Signed-off-by: Laszlo Ersek -Acked-by: Richard W.M. Jones -Message-Id: <20220201123219.9317-7-lersek@redhat.com> -(cherry picked from commit 42c4bf8ea222d50cf562e9e49568a70fb2d05bca) -Signed-off-by: Laszlo Ersek ---- - convert/libosinfo_utils.ml | 35 +++++++++++++++++++++++++++++ - convert/libosinfo_utils.mli | 12 ++++++++++ - convert/windows_virtio.ml | 44 +------------------------------------ - 3 files changed, 48 insertions(+), 43 deletions(-) - -diff --git a/convert/libosinfo_utils.ml b/convert/libosinfo_utils.ml -index f0d70ffd..8504e2b2 100644 ---- a/convert/libosinfo_utils.ml -+++ b/convert/libosinfo_utils.ml -@@ -79,6 +79,41 @@ let string_of_osinfo_device_driver { Libosinfo.architecture; location; - (String.concat "\n" files) - (string_of_osinfo_device_list devices) - -+let best_driver drivers arch = -+ let debug_drivers = -+ List.iter (fun d -> debug "Driver: %s" (string_of_osinfo_device_driver d)) -+ (* The architecture that "inspect.i_arch" from libguestfs -+ * ("daemon/filearch.ml") calls "i386", the osinfo-db schema -+ * ("data/schema/osinfo.rng.in") calls "i686". -+ *) -+ and arch = if arch = "i386" then "i686" else arch in -+ debug "libosinfo drivers before filtering:"; -+ debug_drivers drivers; -+ let drivers = -+ List.filter ( -+ fun { Libosinfo.architecture; location; pre_installable } -> -+ if architecture <> arch || not pre_installable then -+ false -+ else -+ try -+ (match Xml.parse_uri location with -+ | { Xml.uri_scheme = Some scheme; -+ Xml.uri_path = Some _ } when scheme = "file" -> true -+ | _ -> false -+ ) -+ with Invalid_argument _ -> false -+ ) drivers in -+ debug "libosinfo drivers after filtering:"; -+ debug_drivers drivers; -+ let drivers = -+ List.sort ( -+ fun { Libosinfo.priority = prioA } { Libosinfo.priority = prioB } -> -+ compare prioB prioA -+ ) drivers in -+ if drivers = [] then -+ raise Not_found; -+ List.hd drivers -+ - type os_support = { - q35 : bool; - vio10 : bool; -diff --git a/convert/libosinfo_utils.mli b/convert/libosinfo_utils.mli -index 67be16c4..14991bc2 100644 ---- a/convert/libosinfo_utils.mli -+++ b/convert/libosinfo_utils.mli -@@ -31,6 +31,18 @@ val string_of_osinfo_device_list : Libosinfo.osinfo_device list -> string - val string_of_osinfo_device_driver : Libosinfo.osinfo_device_driver -> string - (** Convert a [osinfo_device_driver] to a printable string for debugging. *) - -+val best_driver : Libosinfo.osinfo_device_driver list -> -+ string -> -+ Libosinfo.osinfo_device_driver -+(** [best_driver drivers arch] picks the best driver from [drivers] as follows: -+ - filters out drivers that: -+ - target a different architecture, -+ - are not pre-installable, -+ - have an invalid or non-local URL; -+ - sorts the remaining drivers by priority, like libosinfo does; -+ - picks the top driver of the sorted list. -+ Raises Not_found if no driver in [drivers] survives filtering. *) -+ - type os_support = { - q35 : bool; - vio10 : bool; -diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml -index 3e542631..301f7544 100644 ---- a/convert/windows_virtio.ml -+++ b/convert/windows_virtio.ml -@@ -409,53 +409,11 @@ and virtio_iso_path_matches_qemu_ga path inspect = - * Returns list of copied files. - *) - and copy_from_libosinfo g inspect destdir = -- let debug_drivers = -- List.iter ( -- fun d -> -- debug "Driver: %s" (Libosinfo_utils.string_of_osinfo_device_driver d) -- ) -- in - let { i_osinfo = osinfo; i_arch = arch } = inspect in -- (* The architecture that "inspect.i_arch" from libguestfs -- * ("daemon/filearch.ml") calls "i386", the osinfo-db schema -- * ("data/schema/osinfo.rng.in") calls "i686". -- *) -- let arch = if arch = "i386" then "i686" else arch in - try - let os = Libosinfo_utils.get_os_by_short_id osinfo in - let drivers = os#get_device_drivers () in -- debug "libosinfo drivers before filtering:"; debug_drivers drivers; -- (* -- * Filter out drivers that we cannot use: -- * - for a different architecture -- * - non-pre-installable ones -- * - location is an invalid URL, or a non-local one -- *) -- let drivers = -- List.filter ( -- fun { Libosinfo.architecture; location; pre_installable } -> -- if architecture <> arch || not pre_installable then -- false -- else -- try -- (match Xml.parse_uri location with -- | { Xml.uri_scheme = Some scheme; -- Xml.uri_path = Some _ } when scheme = "file" -> true -- | _ -> false -- ) -- with Invalid_argument _ -> false -- ) drivers in -- debug "libosinfo drivers after filtering:"; debug_drivers drivers; -- (* Sort the drivers by priority, like libosinfo does. *) -- let drivers = -- List.sort ( -- fun { Libosinfo.priority = prioA } { Libosinfo.priority = prioB } -> -- compare prioB prioA -- ) drivers in -- (* Any driver available? *) -- if drivers = [] then -- raise Not_found; -- let driver = List.hd drivers in -+ let driver = Libosinfo_utils.best_driver drivers arch in - let uri = Xml.parse_uri driver.Libosinfo.location in - let basedir = - match uri.Xml.uri_path with --- -2.19.1.3.g30247aa5d201 - diff --git a/0032-convert-convert_windows-consult-best-driver-s-dev-list-for-virtio-1.0.patch b/0032-convert-convert_windows-consult-best-driver-s-dev-list-for-virtio-1.0.patch deleted file mode 100644 index f3f0868..0000000 --- a/0032-convert-convert_windows-consult-best-driver-s-dev-list-for-virtio-1.0.patch +++ /dev/null @@ -1,152 +0,0 @@ -From 728dab8031b59bb3fd5f8e53786b05df51d35311 Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -Date: Tue, 1 Feb 2022 13:32:19 +0100 -Subject: [PATCH] convert/convert_windows: consult "best driver"'s dev list for - virtio-1.0 - -Life would be too simple if we could just call osinfo_os_get_all_devices() -for determining virtio-1.0 support for Windows guests. Now that we've -extracted the libosinfo logic that identifies the "best" virtio driver -(for copying its files into the guest), fetch the list of devices -supported by the same "best driver" as well. Use that list, in addition to -the one from osinfo_os_get_all_devices(), for determining (Q35 and) -virtio-1.0 support. - -Thankfully this mess is not needed when converting Linux guests. - -With this, we need to revert the data for three Windows-based test cases -to their pre-f0cea012d018 status (modulo intermediary commits 4f6b143c1cb3 -("output: -o libvirt, qemu: Use correct device name for vsock", -2022-01-20) and 4c3d0b8b3b4b ("output: -o libvirt: Fix element -port/autoport", 2022-01-20)). The reason is that those tests all set the -VIRTIO_WIN environment variable, in which case we simply assume -"virtio_1_0 = true" on the fallback ("Not_found" exception) branch. - -Fixes: f0cea012d0183edf6f7b769c28d5038593f3fe6a -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2043333 -Signed-off-by: Laszlo Ersek -Message-Id: <20220201123219.9317-8-lersek@redhat.com> -Acked-by: Richard W.M. Jones -(cherry picked from commit cacedec64072609c5203437a378aea2ab9a0e659) -Signed-off-by: Laszlo Ersek ---- - convert/convert_windows.ml | 26 +++++++++++++++++++++++--- - convert/windows_virtio.mli | 6 +++++- - tests/test-v2v-cdrom.expected | 2 +- - tests/test-v2v-floppy.expected | 2 +- - tests/test-v2v-i-ova.xml | 8 ++++---- - 5 files changed, 34 insertions(+), 10 deletions(-) - -diff --git a/convert/convert_windows.ml b/convert/convert_windows.ml -index 1c2d17f2..7bdcaf52 100644 ---- a/convert/convert_windows.ml -+++ b/convert/convert_windows.ml -@@ -242,12 +242,32 @@ let convert (g : G.guestfs) _ inspect _ static_ips = - match inspect.i_arch with - | ("i386"|"x86_64") -> - (try -+ (* Fall back to the decision that's based on the year that the OS -+ * was released in under three circumstances: -+ * - the user specified the location of the Windows virtio drivers -+ * through an environment variable, or -+ * - "Libosinfo_utils.get_os_by_short_id" fails to look up the OS, -+ * or -+ * - "Libosinfo_utils.best_driver" cannot find any matching driver. -+ * In each of these cases, a "Not_found" exception is raised. This -+ * behavior exactly mirrors that of "Windows_virtio.copy_drivers". -+ *) -+ if Windows_virtio.virtio_win_from_env then -+ raise Not_found; - 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 -+ let devices = os#get_devices () -+ and drivers = os#get_device_drivers () in -+ let best_drv_devs = -+ (Libosinfo_utils.best_driver drivers inspect.i_arch).devices in -+ debug "libosinfo internal devices for OS \"%s\":\n%s" -+ inspect.i_osinfo - (Libosinfo_utils.string_of_osinfo_device_list devices); -+ debug "libosinfo \"best driver\" devices for OS \"%s\":\n%s" -+ inspect.i_osinfo -+ (Libosinfo_utils.string_of_osinfo_device_list best_drv_devs); - let { Libosinfo_utils.q35; vio10 } = -- Libosinfo_utils.os_support_of_osinfo_device_list devices in -+ Libosinfo_utils.os_support_of_osinfo_device_list -+ (devices @ best_drv_devs) in - (if q35 then Q35 else I440FX), vio10 - with - | Not_found -> -diff --git a/convert/windows_virtio.mli b/convert/windows_virtio.mli -index 53603d24..a92cc01d 100644 ---- a/convert/windows_virtio.mli -+++ b/convert/windows_virtio.mli -@@ -16,7 +16,11 @@ - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - *) - --(** Functions for installing Windows virtio drivers. *) -+(** Values and functions for installing Windows virtio drivers. *) -+ -+val virtio_win_from_env : bool -+(** [virtio_win_from_env] is true iff at least one of the VIRTIO_WIN and -+ VIRTIO_WIN_DIR variables is present in the environment. *) - - val install_drivers - : Registry.t -> Types.inspect -> -diff --git a/tests/test-v2v-cdrom.expected b/tests/test-v2v-cdrom.expected -index b9504929..17bd152d 100644 ---- a/tests/test-v2v-cdrom.expected -+++ b/tests/test-v2v-cdrom.expected -@@ -1,4 +1,4 @@ -- -+ - - - -diff --git a/tests/test-v2v-floppy.expected b/tests/test-v2v-floppy.expected -index f4b67954..a718c21f 100644 ---- a/tests/test-v2v-floppy.expected -+++ b/tests/test-v2v-floppy.expected -@@ -1,4 +1,4 @@ -- -+ - - - -diff --git a/tests/test-v2v-i-ova.xml b/tests/test-v2v-i-ova.xml -index 1915dd40..6b8cda62 100644 ---- a/tests/test-v2v-i-ova.xml -+++ b/tests/test-v2v-i-ova.xml -@@ -21,7 +21,7 @@ - restart - restart - -- -+ - - - -@@ -36,16 +36,16 @@ - - - -- -+ - - - -- -+ - /dev/urandom - -- -+ - - - --- -2.19.1.3.g30247aa5d201 - diff --git a/sources b/sources index 01f38c5..8f6e432 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (virt-v2v-1.45.97.tar.gz) = 9f3725099237e705142fe9563f73d34362771f2cb82af7fd976462f25a9301ec97cbecb5cd70a22903f6df16ab45354619a19e5369e29c86a58f19151664356a -SHA512 (virt-v2v-1.45.97.tar.gz.sig) = 6bc57719d5acbe8ccc895280bf3f585b31a1d87cc927d98f1f7a8a169634a69ca0787265d10e55616c0bcb430f63e8c39a41e65b439bc0ff2e90439c2f003ccd +SHA512 (virt-v2v-1.45.98.tar.gz) = a709ae109675064b0b96f8fa7e9d2ef37d9f557f1aa9d8f9152bb15a814e5539af4d5569b44a10229dbf7e62ff4d6f6361f71393ac6a614e3d737548ee131746 +SHA512 (virt-v2v-1.45.98.tar.gz.sig) = 1e98fb61bcdfcf2f8b9a3ab3b39d2b2dee73cdd40a43aefb97fe4671afa121373f7d8ba111e6a39a001e50901508341fed76ed0bd313df3991c81f1ead2868f2 diff --git a/virt-v2v.spec b/virt-v2v.spec index f3b506b..d0758f8 100644 --- a/virt-v2v.spec +++ b/virt-v2v.spec @@ -14,8 +14,8 @@ Name: virt-v2v Epoch: 1 -Version: 1.45.97 -Release: 4%{?dist} +Version: 1.45.98 +Release: 1%{?dist} Summary: Convert a virtual machine to run on KVM License: GPLv2+ @@ -51,38 +51,15 @@ ExclusiveArch: x86_64 # Downstream (RHEL-only) patches. %if 0%{?rhel} # Patches. -Patch0001: 0001-output-o-json-Allow-oo-output-options-to-work.patch -Patch0002: 0002-input-xen-Fix-assertion-error-when-importing-from-remote-block-device.patch -Patch0003: 0003-Restore-message-about-setting-up-the-input-and-output.patch -Patch0004: 0004-output-o-libvirt-Fix-graphics-element-port-autoport.patch -Patch0005: 0005-output-o-libvirt-qemu-Use-correct-device-name-for-vsock.patch -Patch0006: 0006-tests-Drop-some-obsolete-Fedora-versions-start-testing-F35.patch -Patch0007: 0007-tests-Drop-test-of-centos-6.patch -Patch0008: 0008-tests-Drop-ancient-Ubuntu-versions-add-Ubuntu-20.04-LTS.patch -Patch0009: 0009-tests-Drop-old-and-add-newer-RHEL-versions-to-the-tests.patch -Patch0010: 0010-tests-Don-t-use-virt-builder-update-when-testing-Windows-conversions.patch -Patch0011: 0011-tests-test-v2v-trim.sh-Use-of-qcow2-to-preserve-output-format.patch -Patch0012: 0012-lib-qemuNBD.ml-Use-qemu-nbd-shared-0-flag-to-allow-multiple-connections.patch -Patch0013: 0013-lib-qemuNBD.ml-Use-qemu-nbd-discard-unmap.patch -Patch0014: 0014-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-RHBZ-1147313.patch -Patch0015: 0015-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-RHBZ-1147313.patch -Patch0016: 0016-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL-qemu-RHBZ-1176493.patch -Patch0017: 0017-RHEL-Fixes-for-libguestfs-winsupport.patch -Patch0018: 0018-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch -Patch0019: 0019-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch -Patch0020: 0020-RHEL-point-to-KB-for-supported-v2v-hypervisors-guests.patch -Patch0021: 0021-RHEL-Disable-o-glance.patch -Patch0022: 0022-RHEL-Remove-the-in-place-option.patch -Patch0023: 0023-input-libvirt-Share-a-single-connection-to-the-source-NBD-server.patch -Patch0024: 0024-v2v-Send-nbdinfo-debug-information-to-stderr-not-stdout.patch -Patch0025: 0025-input-Require-ip-password-for-vCenter-over-HTTPS.patch -Patch0026: 0026-convert-windows_virtio-fix-copy_from_libosinfo-VIRTIO_WIN-priority.patch -Patch0027: 0027-convert-windows_virtio-map-32-bit-arch-name-from-libguestfs-to-osinfo.patch -Patch0028: 0028-convert-libosinfo-factor-out-v2v_osinfo_device_list_to_value_list.patch -Patch0029: 0029-convert-libosinfo-retrieve-the-device-list-for-OsinfoDeviceDriver.patch -Patch0030: 0030-convert-libosinfo_utils-debug-log-the-devices-supported-by-a-driver.patch -Patch0031: 0031-convert-libosinfo_utils-extract-best_driver-from-windows_virtio.ml.patch -Patch0032: 0032-convert-convert_windows-consult-best-driver-s-dev-list-for-virtio-1.0.patch +Patch0001: 0001-RHEL-v2v-Select-correct-qemu-binary-for-o-qemu-mode-.patch +Patch0002: 0002-RHEL-v2v-Disable-the-qemu-boot-oo-qemu-boot-option-R.patch +Patch0003: 0003-RHEL-Fix-list-of-supported-sound-cards-to-match-RHEL.patch +Patch0004: 0004-RHEL-Fixes-for-libguestfs-winsupport.patch +Patch0005: 0005-RHEL-v2v-i-disk-force-VNC-as-display-RHBZ-1372671.patch +Patch0006: 0006-RHEL-v2v-do-not-mention-SUSE-Xen-hosts-RHBZ-1430203.patch +Patch0007: 0007-RHEL-point-to-KB-for-supported-v2v-hypervisors-guest.patch +Patch0008: 0008-RHEL-Disable-o-glance.patch +Patch0009: 0009-RHEL-Remove-the-in-place-option.patch %endif %if 0%{patches_touch_autotools} @@ -324,6 +301,15 @@ popd %changelog +* Thu Feb 10 2022 Richard W.M. Jones - 1:1.45.98-1 +- Rebase to upstream 1.45.98. +- 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 (2032324) +- -o rhv-upload: Improve conversion performance (2039255) + * Wed Feb 2 2022 Laszlo Ersek - 1:1.45.97-4 - v2v import from vCenter fails when using interactive password because cookie-script tries to be interactive