ANNOUNCE: libguestfs 1.42 - tools for accessing and modifying virtual machine disk images
Richard W.M. Jones
rjones at redhat.com
Tue Mar 10 12:12:34 UTC 2020
I'm pleased to announce the release of libguestfs 1.42, a library and
set of tools for accessing and modifying virtual machine disk images.
You can find out more about the project here:
http://libguestfs.org/
Release notes (http://libguestfs.org/guestfs-release-notes-1.42.1.html)
Please note that virt-v2v, virt-p2v and the boot analysis tools were
moved out of the libguestfs package / repository into separate
projects. See:
· https://github.com/libguestfs/virt-v2v
· https://github.com/libguestfs/virt-p2v
· https://github.com/libguestfs/libguestfs-analysis-tools
Those projects are now on a separate release cycle. Release notes are
published separately.
New features
Add support for the Vala language (Corentin Noël).
Add support for the Rust language (Hiroyuki Katsura, sponsored by
Google Summer of Code).
Reproducible builds (Chris Lamb).
Advanced Format disks (which use 4K sectors) can now be processed by
libguestfs. Use the new optional "blocksize" parameter to
"guestfs_add_drive_opts", and the --blocksize option added to several
tools (Nikolay Ivanets).
Windows CompactOS (NTFS file compression) is now supported.
New features in existing tools
Advanced machine readable output in various virt tools now supports
JSON output, and writing logs to a numbered file descriptor (Pino
Toscano).
virt-filesystems tool now more accurately reports filesystem total
size, in the case where for example the filesystem does not occupy the
whole of its containing device (Pino Toscano).
Language bindings
Python ≥ 2.7 is required.
Python bindings are now more extensively tested (Hiroyuki Katsura).
Python bindings should now work with Python ≥ 3.8.
Multiple fixes to avoid crashes in the Python bindings (Sam Eiderman).
OCaml bindings are compiled with "-DCAML_NAME_SPACE" to ensure no
non-caml_-namespaced symbols are used (Pino Toscano).
OCaml bindings should now work with OCaml 4.09 and 4.10.
Erlang has deprecated the old "erl_interface" library which we use for
Erlang bindings. It will be removed in OTP 22, which will permanently
break Erlang support unless someone steps forward to update the Erlang
bindings in libguestfs.
Fix compatibility with newer cgo for Go bindings (Tomáš Golembiovský).
Go API error handling is now more idiomatic (Csaba Henk).
Update documentation about how to handle boolean parameters in Ruby
bindings (Csaba Henk).
Inspection
Libguestfs can now extract icons for Gentoo, newer SUSE and
OpenMandriva guests. Improved extraction of RHEL icons. (Pino
Toscano).
Inspection returns the osinfo IDs of newer Windows versions, and
rolling Linux distros (Pino Toscano).
OpenMandriva is now detected (Bernhard Rosenkränzer).
Arch Linux detection improvements (Pino Toscano).
Architectures and platforms
Libguestfs can now be compiled on OpenMandriva (Bernhard Rosenkränzer).
Ubuntu fix for enabling network support (Ioanna Alifieraki).
Other
Use of deprecated libguestfs APIs will now cause compiler deprecation
warnings by default, whereas previously you have to enable these
warnings. To turn off these warnings use
"-DGUESTFS_NO_WARN_DEPRECATED=1". A new feature is that you can now
disable deprecated APIs completely if you want, using
"-DGUESTFS_NO_DEPRECATED=1" (Pino Toscano).
Fix hostname in virt-builder templates (Pino Toscano).
The single large release notes file is now split into multiple
documents organized by version.
The "--key" option of several tools was broken, especially if you tried
to use the option to pass multiple keys. This has been fixed and a
regression test added.
Augeas exceptions occurring in daemon (eg. during inspection) will now
produced detailed errors (Pino Toscano).
Security
No security issues were found in this release.
API
New APIs
"luks_uuid" returns the UUID of a LUKS device (Pino Toscano).
Other API changes
Cope with new output from the "btrfs scrub" command. There is no
visible change at the API level.
New optional parameter "blocksize" added to "guestfs_add_drive_opts" to
support Advanced Format disks (Nikolay Ivanets).
Build changes
Minimum version of Augeas required is 1.2.0 (Pino Toscano).
"common/" subdirectory is now a git submodule shared with the virt-v2v
project.
Supermin ≥ 5.1.18 is required.
There were several bugs in libvirt 5.10.0 and 6.0 which affected
libguestfs. It is highly advisable to use libvirt 6.1 where these bugs
are fixed (versions of libvirt < 5.10.0 are also fine).
Many gnulib modules which we were not using or which we used in only a
few places have been removed (Pino Toscano).
Multiple fixes for builddir != sourcedir builds (Pino Toscano).
A new "bundled/" subdirectory contains one bundled library that we
currently use, "ocaml-augeas" (Pino Toscano).
Fix compatibility issues when being compiled with GCC 10.
Internals
When linking OCaml programs, automake silent rules and the "V=1" flag
are both now obeyed (Pino Toscano).
The "guestfs_device_index" API was reimplemented in library code
instead of in the daemon. There should be no observable effect of this
change.
Since Linux 5.6 enumerates "/dev/sdX" devices in parallel, libguestfs
was changed to map API device names to appliance device names, and then
do the reverse mapping when returning names from the appliance.
Hopefully this should have no observable effect, but can produce
somewhat confusing debugging messages since device names in the debug
might not match device names passed in to APIs. Furthermore the
"root=UUID=..." option is always passed to the appliance (instead of
naming the device containing the root filesystem).
We expect to move from the Zanata service to the Weblate service for
translated strings. For more information see
https://bugzilla.redhat.com/1787301
Bugs fixed
https://bugzilla.redhat.com/1773520
Segfault in python bindings for
guestfs_int_py_event_callback_wrapper
https://bugzilla.redhat.com/1746699
Can't import guest from export domain to data domain on rhv4.3 due
to error "Invalid parameter: 'DiskType=1'"
https://bugzilla.redhat.com/1733168
virt-v2v: Use scp -T in -i vmx -it ssh mode
https://bugzilla.redhat.com/1723305
Delete info"export PATH=/path/to/nbdkit-1.1.x:$PATH" in
virt-v2v-input-vmware manual page
https://bugzilla.redhat.com/1705482
python 3.8 requires using -embed variant of pkgconf file, causing
libguestfs to fail to build Python 3.8 bindings
https://bugzilla.redhat.com/1703463
libguestfs cannot inspect disks using WIndows 10 NTFS compression,
error "unsupported reparse point"
https://bugzilla.redhat.com/1694268
[PATCH] Add OpenMandriva support
https://bugzilla.redhat.com/1691659
virt-v2v should show a message when qemu-guest-agent is installed
in guest successfully during conversion
https://bugzilla.redhat.com/1690574
virt-v2v fails to import a guest while cannot find
`file_architecture` for a file
https://bugzilla.redhat.com/1680361
[v2v][RHV][Scale] v2v Migration to RHV failed on timed out waiting
for transfer to finalize
https://bugzilla.redhat.com/1661871
python bindings wrongly using str for APIs with RBufferOut/FBuffer
on Python 3
https://bugzilla.redhat.com/1626503
Unable to maintain static IP address configuration post VM
migration
https://bugzilla.redhat.com/1612653
Guest has no disk after rhv-upload converting if target data domain
has similar name with other data domain on rhv4.2
https://bugzilla.redhat.com/1605242
Update nbdkit info for vddk in v2v man page
https://bugzilla.redhat.com/1584678
On W2K12r2 rhev-apt does not run non-interactively, causing race
when starting rhev-apt service from the command line
https://bugzilla.redhat.com/1518539
Macvtap network will be lost during v2v conversion
https://bugzilla.redhat.com/1351000
virt-customize --commands-from-file will fail if there is an extra
blank in the file
AUTHORS
Ioanna Alifieraki
Sam Eiderman
Tomáš Golembiovský
Csaba Henk
Nikolay Ivanets
Richard W.M. Jones
Hiroyuki Katsura
Chris Lamb
Corentin Noël
Bernhard Rosenkränzer
Pino Toscano
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/
More information about the virt-tools-list
mailing list