[virt-tools-list] [Libguestfs] ANNOUNCE: libguestfs 1.26 released
Richard W.M. Jones
rjones at redhat.com
Fri Mar 28 14:41:50 UTC 2014
On Thu, Mar 27, 2014 at 10:26:42PM +0000, Richard W.M. Jones wrote:
> I'm pleased to announce libguestfs 1.26, a library and set of tools
> for accessing and modifying virtual machine disk images. This release
> took more than 6 months of work by a considerable number of people,
> and has many new features (see release notes below).
>
> You can get libguestfs 1.26 here:
>
> Main website: http://libguestfs.org/
>
> Source: http://libguestfs.org/download/1.26-stable/
> You will also need latest supermin from here:
> http://libguestfs.org/download/supermin/
>
> Fedora 20/21: http://koji.fedoraproject.org/koji/packageinfo?packageID=8391
> It will appear as an update for F20 in about a week.
Fedora 20 users can test and give feedback here:
https://admin.fedoraproject.org/updates/libguestfs-1.26.0-1.fc20,supermin-5.1.6-3.fc20
> Debian/experimental coming soon, see:
> https://packages.debian.org/experimental/libguestfs0
>
> The Fedora and Debian packages have split dependencies so you can
> download just the features you need.
>
> From http://libguestfs.org/guestfs-release-notes.1.html :
>
> RELEASE NOTES FOR LIBGUESTFS 1.26
>
> New features
>
> Tools
>
> virt-customize(1) is a new tool for customizing virtual machine disk
> images. It lets you install packages, edit configuration files, run
> scripts, set passwords and so on. virt-builder(1) and virt-sysprep(1)
> use virt-customize, and command line options across all these tools are
> now identical.
>
> virt-diff(1) is a new tool for showing the differences between the
> filesystems of two virtual machines. It is mainly useful when showing
> what files have been changed between snapshots.
>
> virt-builder(1) has been greatly enhanced. There are many more ways to
> customize the virtual machine. It can pull templates from multiple
> repositories. A parallelized internal xzcat implementation speeds up
> template decompression. Virt-builder uses an optimizing planner to
> choose the fastest way to build the VM. It is now easier to use
> virt-builder from other programs. Internationalization support has been
> added to metadata. More efficient SELinux relabelling of files. Can
> build guests for multiple architectures. Error messages have been
> improved. (Pino Toscano)
>
> virt-sparsify(1) has a new --in-place option. This sparsifies an image
> in place (without copying it) and is also much faster. (Lots of help
> provided by Paolo Bonzini)
>
> virt-sysprep(1) can delete and scrub files under user control. You can
> lock user accounts or set random passwords on accounts. Can remove more
> log files. Can unsubscribe a guest from Red Hat Subscription Manager.
> New flexible way to enable and disable operations. (Wanlong Gao, Pino
> Toscano)
>
> virt-win-reg(1) allows you to use URIs to specify remote disk images.
>
> virt-format(1) can now pass the extra space that it recovers back to
> the host.
>
> guestfish(1) has additional environment variables to give fine control
> over the ><fs> prompt. Guestfish reads its (rarely used) configuration
> file in a different order now so that local settings override global
> settings. (Pino Toscano)
>
> virt-make-fs(1) was rewritten in C, but is unchanged in terms of
> functionality and command line usage.
>
> Language bindings
>
> The OCaml bindings have a new Guestfs.Errno module, used to check the
> error number returned by Guestfs.last_errno.
>
> PHP tests now work. (Pino Toscano)
>
> Inspection
>
> Inspection can recognize Debian live images.
>
> Architectures
>
> ARMv7 (32 bit) now supports KVM acceleration.
>
> Aarch64 (ARM 64 bit) is supported, but the appliance part does not work
> yet.
>
> PPC64 support has been fixed and enhanced.
>
> Security
>
> Denial of service when inspecting disk images with corrupt btrfs
> volumes
>
> It was possible to crash libguestfs (and programs that use libguestfs
> as a library) by presenting a disk image containing a corrupt btrfs
> volume.
>
> This was caused by a NULL pointer dereference causing a denial of
> service, and is not thought to be exploitable any further.
>
> See commit d70ceb4cbea165c960710576efac5a5716055486 for the fix. This
> fix is included in libguestfs stable branches ≥ 1.26.0, ≥ 1.24.6 and
> ≥ 1.22.8, and also in RHEL ≥ 7.0. Earlier versions of libguestfs are
> not vulnerable.
>
> Better generation of random root passwords and random seeds
>
> When generating random root passwords and random seeds, two bugs were
> fixed which are possibly security related. Firstly we no longer read
> excessive bytes from /dev/urandom (most of which were just thrown
> away). Secondly we changed the code to avoid modulo bias. These
> issues were not thought to be exploitable. (Both changes suggested by
> Edwin Török)
>
> API
>
> GUID parameters are now validated when they are passed to API calls,
> whereas previously you could have passed any string. (Pino Toscano)
>
> New APIs
>
> guestfs_add_drive_opts: new discard parameter
>
> The new discard parameter allows fine-grained control over
> discard/trim support for a particular disk. This allows the host file
> to become more sparse (or thin-provisioned) when you delete files or
> issue the guestfs_fstrim API call.
>
> guestfs_add_domain: new parameters: cachemode, discard
>
> These parameters are passed through when adding the domain's disks.
>
> guestfs_blkdiscard
>
> Discard all blocks on a guestfs device. Combined with the discard
> parameter above, this makes the host file sparse.
>
> guestfs_blkdiscardzeroes
>
> Test if discarded blocks read back as zeroes.
>
> guestfs_compare_*
>
> guestfs_copy_*
>
> For each struct returned through the API, libguestfs now generates
> guestfs_compare_* and guestfs_copy_* functions to allow you to
> compare and copy structs.
>
> guestfs_copy_attributes
>
> Copy attributes (like permissions, xattrs, ownership) from one file
> to another. (Pino Toscano)
>
> guestfs_disk_create
>
> A flexible API for creating empty disk images from scratch. This
> avoids the need to call out to external programs like qemu-img(1).
>
> guestfs_get_backend_settings
>
> guestfs_set_backend_settings
>
> Per-backend settings (can also be set via the environment variable
> LIBGUESTFS_BACKEND_SETTINGS). The main use for this is forcing TCG
> mode in the qemu-based backends, for example:
>
> export LIBGUESTFS_BACKEND=direct
> export LIBGUESTFS_BACKEND_SETTINGS=force_tcg
>
> guestfs_part_get_name
>
> Get the label or name of a partition (for GPT disk images).
>
> Build changes
>
> The following extra packages are required to build libguestfs 1.26:
>
> supermin ≥ 5
>
> Supermin version 5 is required to build this version of libguestfs.
>
> flex, bison
>
> Virt-builder now uses a real parser to parse its metadata file, so
> these tools are required.
>
> xz
>
> This is now a required build dependency, where previously it was (in
> theory) optional.
>
> Internals
>
> PO message extraction rewritten to be more robust. (Pino Toscano)
>
> podwrapper gives an error if the --insert or --verbatim argument
> pattern is not found.
>
> Libguestfs now passes the qemu -enable-fips option to enable FIPS, if
> qemu supports it.
>
> ./configure --without-qemu can be used if you don't want to specify a
> default hypervisor.
>
> Copy-on-write [COW] overlays, used for example for read-only drives,
> are now created through an internal backend API (.create_cow_overlay).
>
> Libvirt backend uses some funky C macros to generate XML. These are
> simpler and safer.
>
> The ChangeLog file format has changed. It is now just the same as git
> log, instead of using a custom format.
>
> Appliance start-up has changed:
>
> * The libguestfs appliance now initializes LVM the same way as it is
> done on physical machines.
>
> * The libguestfs appliance does not write an empty string to
> /proc/sys/kernel/hotplug when starting up.
>
> Note that you must configure your kernel to have
> CONFIG_UEVENT_HELPER_PATH="" otherwise you will get strange LVM
> errors (this applies as much to any Linux machine, not just
> libguestfs). (Peter Rajnoha)
>
> Libguestfs can now be built on arches that have ocamlc(1) but not
> ocamlopt(1). (Hilko Bengen, Olaf Hering)
>
> You cannot use ./configure --disable-daemon --enable-appliance. It made
> no sense anyway. Now it is expressly forbidden by the configure script.
>
> The packagelist file uses m4 for macro expansion instead of cpp.
>
> Bugs fixed
>
> https://bugzilla.redhat.com/1073906
>
> java bindings inspect_list_applications2 throws
> java.lang.ArrayIndexOutOfBoundsException:
>
> https://bugzilla.redhat.com/1063374
>
> [RFE] enable subscription manager clean or unregister operation to
> sysprep
>
> https://bugzilla.redhat.com/1060404
>
> virt-resize does not preserve GPT partition names
>
> https://bugzilla.redhat.com/1057504
>
> mount-local should give a clearer error if root is not mounted
>
> https://bugzilla.redhat.com/1056290
>
> virt-sparsify overwrites block devices if used as output files
>
> https://bugzilla.redhat.com/1055452
>
> libguestfs: error: invalid backend: appliance
>
> https://bugzilla.redhat.com/1054761
>
> guestfs_pvs prints "unknown device" if a physical volume is missing
>
> https://bugzilla.redhat.com/1053847
>
> Recommended default clock/timer settings
>
> https://bugzilla.redhat.com/1046509
>
> ruby-libguestfs throws "expecting 0 or 1 arguments" on
> Guestfs::Guestfs.new
>
> https://bugzilla.redhat.com/1045450
>
> Cannot inspect cirros 0.3.1 disk image fully
>
> https://bugzilla.redhat.com/1045033
>
> LIBVIRT_DEFAULT_URI=qemu:///system breaks libguestfs
>
> https://bugzilla.redhat.com/1044585
>
> virt-builder network (eg. --install) doesn't work if resolv.conf sets
> nameserver 127.0.0.1
>
> https://bugzilla.redhat.com/1044014
>
> When SSSD is installed, libvirt configuration requires
> authentication, but not clear to user
>
> https://bugzilla.redhat.com/1039995
>
> virt-make-fs fails making fat/vfat whole disk: Device partition
> expected, not making filesystem on entire device '/dev/sda' (use -I
> to override)
>
> https://bugzilla.redhat.com/1039540
>
> virt-sysprep to delete more logfiles
>
> https://bugzilla.redhat.com/1033207
>
> RFE: libguestfs inspection does not recognize Free4NAS live CD
>
> https://bugzilla.redhat.com/1028660
>
> RFE: virt-sysprep/virt-builder should have an option to lock a user
> account
>
> https://bugzilla.redhat.com/1026688
>
> libguestfs fails examining libvirt guest with ceph drives: rbd: image
> name must begin with a '/'
>
> https://bugzilla.redhat.com/1022431
>
> virt-builder fails if $HOME/.cache doesn't exist
>
> https://bugzilla.redhat.com/1022184
>
> libguestfs: do not use versioned jar file
>
> https://bugzilla.redhat.com/1020806
>
> All libguestfs LVM operations fail on Debian/Ubuntu
>
> https://bugzilla.redhat.com/1008417
>
> Need update helpout of part-set-gpt-type
>
> https://bugzilla.redhat.com/953907
>
> virt-sysprep does not correctly set the hostname on Debian/Ubuntu
>
> https://bugzilla.redhat.com/923355
>
> guestfish prints literal "\n" in error messages
>
> https://bugzilla.redhat.com/660687
>
> guestmount: "touch" command fails: touch: setting times of
> `timestamp': Invalid argument
>
> https://bugzilla.redhat.com/593511
>
> [RFE] function to get partition name
>
> https://bugzilla.redhat.com/563450
>
> list-devices returns devices of different types out of order
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
More information about the virt-tools-list
mailing list