Release Notes for Libguestfs 1.40
These release notes only cover the differences from the previous stable/dev branch split (1.38.0). For detailed changelogs, please see the git repository, or the ChangeLog file distributed in the tarball.
New features in existing tools
Virt-inspector now displays the libosinfo short ID for guests (Pino Toscano).
Guestfish -N will now generate 1G disks instead of 100M disks by default.
Virt-resize supports f2fs filesystems (Pino Toscano).
libguestfs-test-tool now supports bash tab completion (Pino Toscano).
The --machine-readable option now supports sending output to files or stdout/stderr. This works uniformly across most OCaml-based virt tools, specifically: virt-builder, virt-builder-repository, virt-dib, virt-get-kernel, virt-resize, virt-sparsify, and virt-v2v (Pino Toscano).
Virt-builder --uninstall option now works on SUSE (Sebastian Meyer).
Virt-builder now supports Windows. We are not able to ship Windows templates in the public repository for obvious licensing reasons, but if you are an MSDN subscriber you may build your own. See https://rwmj.wordpress.com/2018/09/13/creating-windows-templates-for-virt-builder/
Many tools now support a --key option allowing you to pass in decryption keys for filesystems stored in local files on the host rather than having to feed them in over stdin (Pino Toscano).
virt-v2v and virt-p2v
New -o rhv-upload mode for directly uploading images to RHV, bypassing the Export Storage Domain (Tomáš Golembiovský, Nir Soffer, Daniel Erez, Pino Toscano).
New -o openstack mode for directly uploading images to OpenStack and Cinder using OpenStack APIs.
Virt-v2v now has a general mechanism for input and output options: -io and -oo.
Virt-v2v can now install the RHV tools or QEMU GA in guests (Tomáš Golembiovský).
The huge manual has now been split into several smaller documents and is more focused on helping users to accomplish specific v2v tasks.
Multiple improvements to the OVF metadata when converting to RHV (Tomáš Golembiovský, Pino Toscano, Arik Hadas).
Virt-v2v can now convert Linux guests with split kernel packages, especially Ubuntu 18.04 (Pino Toscano).
Virt-v2v old --password-file option has been replaced by -ip (the old option remains for backwards compatibility).
Virt-v2v now preserves the VM Generation ID.
Virt-v2v has a new --mac option allowing specific NICs to be mapped precisely to networks or bridges on the target.
New virt-v2v --print-estimate option to estimate the size of data that virt-v2v will copy.
Virt-v2v is now usually able to remove open-vm-tools and VMware Tools from the Linux guest during conversion (Pino Toscano).
Virt-v2v can now support UEFI conversions to RHV (Tomáš Golembiovský).
Virt-p2v now prefers you to shut down instead of rebooting the machine after conversion has finished (Pino Toscano).
Virt-v2v now writes the libosinfo short ID to the libvirt metadata when using -o local and -o libvirt output modes (Martin Kletzander).
OpenJDK 10+ is supported (Pino Toscano).
Java bindings fixed for Gentoo host (Martin Kletzander).
Support Kali Linux (Pino Toscano).
When inspecting mountpoints, look for /etc/mdadm/mdadm.conf as well as /etc/mdadm.conf (Nikolay Ivanets).
Improved support for OpenSUSE Tumbleweed (Pino Toscano).
Architectures and platforms
Miscellaneous macOS build fixes (Adam Robinson).
Multiple documentation typos fixed (Yuri Chornoivan).
See also guestfs-security(1).
Qemu's slirp (userspace networking) had several buffer overflows which could be triggered from the guest or network side.
Expand an f2fs filesystem (Pino Toscano).
Get the libosinfo short ID for the inspected guest (Pino Toscano).
This rescans all PVs, VGs and LVs, optionally activating them.
Other API changes
part_get_mbr_part_type was reimplemented in OCaml (Nikolay Ivanets).
list_filesystems now filters out MBR extended partitions (Nikolay Ivanets).
vgscan has been deprecated. Use the new
lvm_scan API in preference.
The JSON library switched from yajl to Jansson ≥ 2.7 (Pino Toscano).
Support for The Sleuth Kit 4.5 (Pino Toscano).
Multiple improvements in the
./configure script (Lin Ma).
More out-of-tree build fixes (Hilko Bengen).
Some work on reproducible builds (Bernhard M. Wiedemann).
lvmetad is now used unconditionally, and is started much earlier in the appliance boot process. This fixes support for certain PV types.
On Debian, dash is installed inside the appliance and in virt-rescue (Pino Toscano).
The amount of RAM assigned to the appliance has been increased from 500M to 768M (on x86_64, other architectures have different limits). This enables use of up to 255 disks when using recent Linux kernels.
Virt-v2v now models the source machine type (eg. i440FX, Q35 or virt).
Virt-p2v now generates configuration code automatically, also code for parsing the kernel command line.
LT_INIT instead of
JSON code for parsing and serializing has been unified into a single abstract data type.
Most OCaml tools are now built using the PIC runtime. This has a performance penalty on i686, but is relatively free on other architectures and has security benefits.
The direct backend now queries the qemu binary for availability of KVM, instead of using a heuristic based on /dev/kvm (Andrea Bolognani).
Our “clever” libxml2 writer macros are now used consistently across all parts of the code base.
Qemu dropped -nodefconfig without telling us. The equivalent -no-user-config option is now used instead. Qemu also moved the
serial option from -drive to -device, again without any notice, and this is also fixed.
[RHEL 7.6 LP] openstack output leaks passwords
virt-inspector fails with “error: int_of_string” on a Linux image when /etc/fstab contains a partionless device
v2v - support for -insecure option to support OSP SSL connection for VM migrations
[RFE] virt-p2v UI should give the option to shutdown after conversion is finished
virt-v2v cannot convert opensuse15 guest
Fix rhev-apt command that virt-v2v runs in Windows guests on first boot
Update v2v docs to describe support for SHA 2 certs required for converting Windows 7 and 2008 R2 guests
Minor log issue of virt-v2v
VixDiskLib: VixDiskLib_Read: Read 4096 sectors at 57516160 failed. Error 2 (Memory allocation failed. Out of memory.) (DiskLib error 802: NBD_ERR_INSUFFICIENT_RESOURCES) at 5240.
“warning: <target dev='sr0'> was ignored because the device name could not be recognized” should be hidden since convert cdrom is supported by virt-v2v
part_to_dev “/dev/sdp1” returns “/dev/sd” instead of “/dev/sdp”
inspection fails when swap partition in /etc/fstab has incorrect UUID compared to actual swap partition
On machines where /dev/kvm exists but KVM doesn't work, libguestfs will not fall back to TCG
virt-inspector can't inspect LUKS-encrypted RHEL7 guest image
Improve error “No module named ovirtsdk4” in v2v rhv-upload conversion
Adding QXL device in OVF causes Cirrus Logic device to be added to guest
RFE: virt-v2v should preserve <genid>
Transfer fails if local host is in maintenance mode
Transfer fails if local host belongs to another DC
v2v to RHV transfer fails with: error: [empty name]: cannot read '//*/disksection' with value: null
virt-v2v convert rhel5.3 failure when executing rpm -ql kernel-2.6.18-128.el5 command
p2v: error: XML error: CPU vendor specified without CPU model
Hide rhv-upload option in virt-p2v client
Don't use relative socket paths for NBD
RFE: Support for -o rhv-upload via Unix domain socket
ovirt-imageio-daemon times out during migration
virt-v2v rhel7.6 build can't convert guest to null with qemu-kvm rhel7.5.z build
Virt-v2v rhel7.6 build can't convert guest with qemu-kvm rhel7.5.z build
virt-builder: ubuntu-18.04 template has stray HTTP proxy configured for apt
virt-builder: error: host cpu (x86_64) and guest arch (unknown) are not compatible
virt-v2v -i ova gives checksum error when missing files are mentioned in .mf
guestfsd: error: /Windows/Drivers/VirtIO: Read-only file system
The mount-vfs failed to mount the logical volume
RHV tools not properly installed in migrated Windows VM's causing boot failure
virt-v2v does not honor --network with -o rhv-upload
[RFE] Upload images directly to oVirt (virt-v2v -o rhv-upload)
[RFE] Add libosinfo short-id to virt-inspector output
virt-inspector --help differs from manpage
RFE: recognize the Kali Linux distribution
Resume=/dev/sdaX can't be updated to resume=/dev/vdaX in rhel7 guest's grub file after v2v conversion
Change categories of “Guest Operating system management by VIX API” in v2v man page
Various -it vddk -io vddk* options should be documented, removed or fixed
Reverted: RFE: Allow qemu-bridge-helper to be used to implement guestfs_set_network
guestfs-examples(1), guestfs-faq(1), guestfs-performance(1), guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1), http://libguestfs.org/
Richard W.M. Jones
Copyright (C) 2009-2020 Red Hat Inc.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
To get a list of bugs against libguestfs, use this link: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
To report a new bug against libguestfs, use this link: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
When reporting a bug, please supply:
- The version of libguestfs.
- Where you got libguestfs (eg. which Linux distro, compiled from source, etc)
- Describe the bug accurately and give a way to reproduce it.
- Run libguestfs-test-tool(1) and paste the complete, unedited output into the bug report.
guestfs-release-notes(1), virt-v2v-release-notes-1.42(1), virt-v2v-release-notes-2.0(1).