1guestfs-release-notes-1.38(1)Virtualization Supportguestfs-release-notes-1.38(1)
2
3
4

NAME

6       guestfs-release-notes - libguestfs Release Notes
7

RELEASE NOTES FOR LIBGUESTFS 1.38

9       These release notes only cover the differences from the previous
10       stable/dev branch split (1.36.0).  For detailed changelogs, please see
11       the git repository, or the ChangeLog file distributed in the tarball.
12
13   New features
14       New tools
15
16       Virt-builder-repository is a new tool allowing end users to create and
17       update virt-builder repositories (Cédric Bosdonnat).
18
19       Virt-rescue (while not a new tool) has been substantially rewritten,
20       implementing job control, -m and -i options, escape keys, etc.
21
22       New features in existing tools
23
24       Virt-builder planner has been improved so that faster and more
25       efficient build plans are chosen for complex cases, especially when
26       either the tmpdir or output is on networked storage.
27
28       New virt-builder Fedora templates (starting with Fedora 26) will have
29       plain partition layout and use GPT for partitions.
30
31       Virt-customize "firstboot" scripts in guests using systemd are now
32       installed under the "multi-user.target" instead of "default.target" so
33       they will only run when the system is booted normally.
34
35       Virt-customize now sets a random /etc/machine-id for Linux guests, if
36       one is not already set.
37
38       Virt-df now works correctly on filesystems with block sizes smaller
39       than 1K (Nikolay Ivanets).
40
41       Virt-dib has further compatibility enhancements with diskimage-builder
42       (Pino Toscano).
43
44       Virt-sysprep removes "DHCP_HOSTNAME" from ifcfg-* files.
45
46       Virt-sysprep now works on Oracle Linux (Jamie Iles).
47
48       Virt-resize now correctly copies GPT partition attributes from the
49       source to the destination (Cédric Bosdonnat).
50
51       Bash tab completion implemented or enhanced for: virt-win-reg,
52       virt-v2v-copy-to-local.
53
54       virt-v2v and virt-p2v
55
56       Virt-v2v can now read VMware VMX files directly, either from local
57       disk, NFS storage, or over SSH from an ESXi hypervisor.
58
59       Virt-v2v can now use VDDK as an input source.
60
61       Both virt-v2v and virt-p2v are now able to pass through the source CPU
62       vendor, model and topology.  However unfortunately not all source and
63       target hypervisors are able to provide or consume this data at present
64       (Tomáš Golembiovský).
65
66       Virt-v2v now supports encrypted guests (Pino Toscano).
67
68       Virt-v2v can now handle VMware snapshots.  Note that the snapshots are
69       collapsed — it does not convert the chain of snapshots into a chain of
70       snapshots.
71
72       Virt-v2v now installs Windows 10 / Windows Server 2016 virtio block
73       drivers correctly (Pavel Butsykin, Kun Wei).
74
75       Virt-v2v now installs virtio-rng, balloon and pvpanic drivers, and
76       correctly sets this in the target hypervisor metadata for hypervisors
77       which support that (Tomáš Golembiovský).
78
79       Virt-v2v now installs both legacy and modern virtio keys in the Windows
80       registry (Ladi Prosek).
81
82       Virt-p2v can now preserve (in some cases) the offset of the Real Time
83       Clock from UTC.
84
85       Virt-p2v now combines several scp commands to the conversion server
86       into a single command, improving conversion times.
87
88       Virt-v2v now detects the special Linux Xen PV-only kernels correctly
89       (Laszlo Ersek).
90
91       Virt-v2v -o glance now generates the right properties for UEFI guests
92       (Pino Toscano).
93
94       Virt-v2v -o null now avoids spooling the guest to a temporary file,
95       instead it writes to the qemu "null block device".  This makes it
96       faster and use almost no disk space.
97
98       Virt-v2v -o rhv now supports Windows 2016 Server guest type.
99
100       Virt-v2v -i libvirtxml can now open network disks over http or https.
101
102       Virt-v2v will now give a warning about host passthrough devices (Pino
103       Toscano).
104
105       The virt-v2v --machine-readable output has been enhanced so it includes
106       "vcenter-https", "xen-ssh" and "in-place" facts (Pino Toscano).
107
108       Language bindings
109
110       Fix multiple memory leaks and other data corruption problems in the
111       Java bindings (Pino Toscano).
112
113       Perl %guestfs_introspection has been dropped.
114
115       Inspection
116
117       Inspection support was rewritten in OCaml and included inside the
118       daemon.  This makes inspection considerably faster, more robust and
119       more easily extensible in future.
120
121       Better icon support for ALT Linux guests (Pino Toscano).
122
123       Better support for NeoKylin (Qingzheng Zhang).
124
125       Can handle OSes like Void Linux which do not include "VERSION_ID" in
126       /etc/os-release (Pino Toscano).
127
128       Add support for Microsoft MS-DOS (Daniel Berrangé).
129
130       Architectures and platforms
131
132       Multiple fixes for S/390 architecture.  Libguestfs and all the tools
133       should now compile and run on this architecture.
134
135       Other
136
137       The libguestfs API is now thread-safe (although not parallel).  You can
138       call APIs on the same handle from multiple threads without needing to
139       take a lock.
140
141   Security
142       There were multiple vulnerabilities in the icoutils "wrestool" program
143       which is run by libguestfs to create icons for Windows guests.  Using
144       the latest "wrestool" is recommended.
145
146   API
147       New APIs
148
149       "hivex_value_string"
150           This replaces the deprecated "hivex_value_utf8" API, but does the
151           same thing.
152
153       "part_get_gpt_attributes"
154       "part_set_gpt_attributes"
155           Read and write GPT partition attribute flags (Cédric Bosdonnat).
156
157       "part_resize"
158           Enlarge or shrink an existing partition (Nikos Skalkotos).
159
160       "yara_destroy"
161       "yara_load"
162       "yara_scan"
163           Support for the Yara malware scanning engine (Matteo Cafasso).
164
165       Other API changes
166
167       APIs implemented in the daemon can now be written in either C or OCaml.
168       Several APIs were rewritten in OCaml, although we are not planning to
169       rewrite all of them.
170
171       You will now get a clear error message if you try to add too many disks
172       to the appliance, instead of getting a peculiar failure from qemu.
173
174       Certain APIs accidentally allowed you to use "/dev/urandom" as an input
175       "device", eg. "g.copy_device_to_device("/dev/urandom", "/dev/sda")".
176       The code has been modified to forbid this usage.
177
178       All APIs for inspecting installer CDs have been deprecated.  Use
179       libosinfo for this task.
180
181   Build changes
182       A working OCaml compiler ≥ 4.01 is now required for building
183       libguestfs.  The "./configure --disable-ocaml" option remains but is
184       only used to disable the OCaml language bindings.
185
186       Add "RELEASES" file which lists release dates for each version of
187       libguestfs.  You must update this file when making a new release.
188
189       Documentation generated by "gtk-doc" has been removed.  "./configure
190       --enable-gtk-doc" now does nothing.
191
192       Libtirpc is now used for XDR functions and rpcgen.  Note that glibc has
193       deprecated and in most Linux distros dropped these, so for most people
194       this will be an extra dependency (Martin Kletzander).
195
196       Libxcrypt is now used for crypt(3).  This is required if using glibc ≥
197       2.27.
198
199       "ocaml-hivex" is now required.
200
201       Libvirt ≥ 1.2.20 is now required.
202
203       There is now a "make check-root" target for tests which need to be run
204       as root (analogous to "make check-slow").
205
206       "./configure"-time check for "__attribute__((cleanup))" now works in
207       the cross-compilation case (Yann E. Morin).
208
209       The "AUTHORS" and "p2v/about-authors.c" files are now generated from a
210       single place.
211
212       Either GnuPG v1 or v2 can be used.
213
214       "./configure --with-guestfs-path" may be used to set the default
215       "LIBGUESTFS_PATH".  In addition the way that the path is searched has
216       changed slightly so that all types of appliances are searched in each
217       path element separately (Pavel Butsykin).
218
219       "GUESTFSD_EXT_CMD" which was used to mark external commands in the
220       daemon has been removed.  It was originally used by SUSE builds, but
221       they have not been using it for a while.
222
223       The output from "./configure" is now visually grouped under headings
224       related to what it is doing, making it much easier to scan (Pino
225       Toscano).
226
227       OCaml dependencies are now generated from a single script instead of
228       multiple not-quite-the-same Makefile fragments.
229
230       "./configure --with-distro=ID" can be used to override automatic Linux
231       distro detection at build time (Pino Toscano).
232
233       qemu ≥ 2.10 is supported (but not required).  This adds mandatory
234       locking to disks and libguestfs turns this off in certain circumstances
235       when it is known to be safe (Lars Seipel, Peter Krempa, Daniel
236       Berrangé, Pino Toscano, Fam Zheng, Yongkui Guo, Václav Kadlčík).
237
238   Internals
239       Most common code has been moved to the common/ subdirectory, with OCaml
240       common code being in common/ml* directories (eg.  common/visit and
241       common/mlvisit contain the visitor library in C and OCaml
242       respectively).  The mllib directory has been deleted and replaced by
243       common/mltools.
244
245       There is now a lightweight OCaml binding for PCRE, see common/mlpcre.
246       Use of OCaml "Str" library has been mostly replaced with PCRE.
247
248       Add more calls to "udev_settle" to improve stability of partition code
249       (Dawid Zamirski).
250
251       Run "udev_settle" with --exit-if-exists option, which improves the
252       speed of this command (Pavel Butsykin).
253
254       Detect new locations of major(3), minor(3), makedev(3).
255
256       Actions can now be deprecated with no suggested replacement, for APIs
257       such as "guestfs_wait_ready" that should simply be removed from client
258       code.
259
260       Use gnulib "set_nonblocking_flag" wrapper instead of calling fcntl(2)
261       with "O_NONBLOCK" (Eric Blake).  Similarly "set_cloexec_flag".
262
263       Fix memory leak in XFS version of "guestfs_vfs_minimum_size" (Pino
264       Toscano).
265
266       Valgrind checks now run on the virt-p2v binary.
267
268       Unicode single quotes ("‘’") and now used in place of '' or `'
269       throughout the code and documentation.  Similarly for "’s" instead of
270       "'s".
271
272       The "is_zero" function has been reimplemented for greater speed (Eric
273       Blake).
274
275       In the direct backend, virtio-blk support has been removed.  Virtio-
276       scsi is now the only supported way to add disks.
277
278       Generator string parameter and return types have been rationalised so
279       there are only two types ("String", "StringList") with many subtypes
280       eg. "FileIn" becomes "String (FileIn, ...)".
281
282       The appliance disk image can now be in formats other than raw (Pavel
283       Butsykin).
284
285       Multiple improvements to how we automatically build Debian templates
286       for virt-builder (Pino Toscano).  Enable serial console for these
287       templates (Florian Klink).
288
289       In the daemon, instead of making a private copy of lvm.conf and
290       modifying it (eg for filters), start with an empty file since LVM
291       understands that to mean "all defaults" (Alasdair Kergon, Zdenek
292       Kabelac).
293
294       The "direct" backend can now run QMP queries against the QEMU binary,
295       enhancing the kinds of information we can detect.  In addition the code
296       to query QEMU has been made more robust for handling multiple parallel
297       queries of different versions of QEMU.
298
299       OCaml Augeas bindings are bundled under common/mlaugeas.  The long term
300       plan is to remove this and use system ocaml-augeas when it is more
301       widely available in distros (Pino Toscano).
302
303       All OCaml modules ("*.ml" files) are now required to have an interface
304       file ("*.mli").  If they don't export anything then the interface will
305       be empty except for comments.
306
307       Certain OCaml features in OCaml ≥ 4.01 are used throughout the code,
308       including replacing ‘{ field = field }’ with ‘{ field }’.
309
310       Virt-builder "make-template" utility now uses the "virt-install
311       --transient" option so that we should never need to clean up left over
312       domains after a crash.  It also saves kickstarts and virt-install
313       commands, which are committed to git for future reference.
314
315       /dev/shm is now created in the appliance (Nicolas Hicher).
316
317       In verbose mode on Fedora guests, virt-customize will now use "dnf
318       --verbose" enabling better debugging output.
319
320       Virt-v2v input and output classes now contain a "#precheck" method
321       which is used to perform environmental checks before conversion starts.
322
323       Virt-p2v enables miniexpect debugging.  It is written to stderr (of
324       virt-p2v).
325
326       Virt-v2v free space checks are more liberal especially for smaller
327       guests (Pino Toscano).
328
329   Bugs fixed
330       https://bugzilla.redhat.com/1540535
331           Example URI of "Convert from ESXi hypervisor over SSH to local
332           libvirt" is incorrect in v2v man page
333
334       https://bugzilla.redhat.com/1539395
335           virt-customize segfaults after upgrading to 1.37.35-3
336
337       https://bugzilla.redhat.com/1536765
338           Libguestfs Perl bindings can leak a small amount of memory on error
339
340       https://bugzilla.redhat.com/1536763
341           libguestfs Lua bindings use strerror(), which isn’t thread safe
342
343       https://bugzilla.redhat.com/1536603
344           man page makes no mention of using '--' when trying to change exit
345           on error behavior
346
347       https://bugzilla.redhat.com/1525241
348           virt-df displays zeros for filesystems with block size =512
349
350       https://bugzilla.redhat.com/1519204
351           v2v should improve the result when convert a rhel7.4 guest with no
352           available kernels found in the bootloader
353
354       https://bugzilla.redhat.com/1518517
355           virt-v2v fails with "unsupported configuration: shared access for
356           disk 'sdb' requires use of supported storage format"
357
358       https://bugzilla.redhat.com/1516094
359           Mere presence of QEMU file locking options breaks NBD (Block
360           protocol 'nbd' doesn't support the option 'locking')
361
362       https://bugzilla.redhat.com/1514756
363           ./configure --disable-ocaml breaks building common/mlpcre which
364           breaks building daemon
365
366       https://bugzilla.redhat.com/1513884
367           [RFE]Should update some vddk info in v2v man page
368
369       https://bugzilla.redhat.com/1508874
370           virt-v2v: warning: ova disk has an unknown VMware controller type
371           (20)
372
373       https://bugzilla.redhat.com/1506572
374           virt-v2v '-i ova' is not parsing the MAC address from the source
375           OVF
376
377       https://bugzilla.redhat.com/1506511
378           virt-builder fails to parse repo file if it has blank space after
379           the repository identifier
380
381       https://bugzilla.redhat.com/1503958
382           Failed to convert the rhel5 guest with kmod-xenpv installed from
383           xen server by virt-v2v
384
385       https://bugzilla.redhat.com/1503497
386           qemu-kvm fails to open qcow2 files in read-only mode with qemu-kvm
387           1.5.3
388
389       https://bugzilla.redhat.com/1500673
390           Error info shows wrong sometimes when ssh to conversion server
391           using non-root user with sudo on p2v client
392
393       https://bugzilla.redhat.com/1500537
394           /dev/shm does not exist in the appliance environment
395
396       https://bugzilla.redhat.com/1497475
397           guestfish cannot list commands from interactive mode
398
399       https://bugzilla.redhat.com/1493048
400           Unbound constructor Hivex.OPEN_UNSAFE
401
402       https://bugzilla.redhat.com/1484957
403           bump debian images to use single-partition layout
404
405       https://bugzilla.redhat.com/1482737
406           virt-resize failed to expand swap partition for RHEL5.11 guest
407           image with "parsing UUID failed"
408
409       https://bugzilla.redhat.com/1477623
410           Running file API on a special chardev may hang forever
411
412       https://bugzilla.redhat.com/1476081
413           inspect-os  report error: could not parse integer in version
414           number: V7Update2
415
416       https://bugzilla.redhat.com/1472719
417           [RFE]Add warning in process of v2v converting guest which has pci
418           passthrough device
419
420       https://bugzilla.redhat.com/1472208
421           virt-v2v fails on opensuse 13.2 guest with error: statns:
422           statns_stub: path must start with a / character
423
424       https://bugzilla.redhat.com/1469655
425           firstboot scripts are not correctly installed in Fedora 26
426
427       https://bugzilla.redhat.com/1466563
428           Libguestfs should pass copyonread flag through to the libvirt XML
429
430       https://bugzilla.redhat.com/1465665
431           1.36.x build failure: gtkdocize fails using newer autotools due to
432           missing GTK_DOC_CHECK in configure.ac
433
434       https://bugzilla.redhat.com/1460338
435           guestfs_shutdown hangs if main process sets signal handlers
436
437       https://bugzilla.redhat.com/1459979
438           guestfs_add_domain_argv fails with readonly option when vdi/vhd
439           disk is attached to libvirt domain
440
441       https://bugzilla.redhat.com/1451665
442           RFE: Virt-v2v can't convert the guest which has encrypted partition
443
444       https://bugzilla.redhat.com/1450325
445           document URI format for -a parameters of tools
446
447       https://bugzilla.redhat.com/1448739
448           RFE: Support multicore decompression for OVA files using pigz and
449           pxz
450
451       https://bugzilla.redhat.com/1447202
452           Win 2016 guest is described as Win 10 after imported to RHEVM
453
454       https://bugzilla.redhat.com/1441197
455           RFE: ability to convert VMware virtual machines via vmx
456
457       https://bugzilla.redhat.com/1438939
458           Please drop or update GnuPG (1.4.x) dependency
459
460       https://bugzilla.redhat.com/1438794
461           [RFE] Install Windows virtio-rng drivers on VMs imported
462
463       https://bugzilla.redhat.com/1433937
464           virt-inspector can't get icon info from altlinux-centaurus
465
466       https://bugzilla.redhat.com/1433577
467           policycoreutils setfiles >= 2.6 does .. nothing
468
469       https://bugzilla.redhat.com/1431579
470           Windows 8 UEFI from VMware to KVM fails to boot after conversion
471
472       https://bugzilla.redhat.com/1430680
473           There is error info about "No such file or directory" when convert
474           a guest from ova file by v2v
475
476       https://bugzilla.redhat.com/1430184
477           virt-dib should generate sha256 checksum instead of sha512
478
479       https://bugzilla.redhat.com/1429506
480           RFE: OVMF should be detected on conversion server to prevent failed
481           conversion
482
483       https://bugzilla.redhat.com/1429491
484           Should rename network name of rhv in virt-v2v man page
485
486       https://bugzilla.redhat.com/1427529
487           virt-sysprep should remove DHCP_HOSTNAME
488
489       https://bugzilla.redhat.com/1417306
490           QEMU image file locking (libguestfs)
491
492       https://bugzilla.redhat.com/1409024
493           [Debian] Missing db_dump abort inspection
494
495       https://bugzilla.redhat.com/1406906
496           Segmentation fault when reading corrupted path with Python 3
497           bindings
498
499       https://bugzilla.redhat.com/1379289
500           RFE: virt-p2v should support mnemonic operations
501
502       https://bugzilla.redhat.com/1378022
503           There is virt-v2v warning about <listen type='none'> during
504           converting a guest which has listen type='none' in XML
505
506       https://bugzilla.redhat.com/1376547
507           qemu-system-s390x: -device
508           isa-serial,chardev=charserial0,id=serial0: 'isa-serial' is not a
509           valid device model name
510
511       https://bugzilla.redhat.com/1374232
512           selinux relabel fails on RHEL 6.2 guests with "libguestfs error:
513           selinux_relabel: : Success"
514
515       https://bugzilla.redhat.com/1367738
516           Missing bash completion scripts for: virt-diff guestunmount virt-
517           copy-in virt-copy-out virt-customize virt-get-kernel
518           virt-p2v-make-disk virt-p2v-make-kickstart virt-tar-in virt-tar-out
519           virt-v2v-copy-to-local virt-win-reg
520
521       https://bugzilla.redhat.com/1362649
522           RFE: virt-sysprep does not utilize libguestfs encryption support
523
524       https://bugzilla.redhat.com/1172425
525           [RFE]virt-v2v failed to convert VMware ESX VM with snapshot
526
527       https://bugzilla.redhat.com/1171654
528           Modify a file in virt-rescue with vi on some linux terminal such as
529           yakuake, can lead to abnormal display in virt-rescue shell
530
531       https://bugzilla.redhat.com/1167623
532           Remove "If reporting bugs, run virt-v2v with debugging enabled .."
533           message when running virt-p2v
534
535       https://bugzilla.redhat.com/1152819
536           Can not end a running command in virt-rescue by press ^C or other
537           keys, the only way is to exit virt-rescue
538

SEE ALSO

540       guestfs-examples(1), guestfs-faq(1), guestfs-performance(1),
541       guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1),
542       http://libguestfs.org/
543

AUTHOR

545       Richard W.M. Jones
546
548       Copyright (C) 2009-2023 Red Hat Inc.
549

LICENSE

551       This program is free software; you can redistribute it and/or modify it
552       under the terms of the GNU General Public License as published by the
553       Free Software Foundation; either version 2 of the License, or (at your
554       option) any later version.
555
556       This program is distributed in the hope that it will be useful, but
557       WITHOUT ANY WARRANTY; without even the implied warranty of
558       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
559       General Public License for more details.
560
561       You should have received a copy of the GNU General Public License along
562       with this program; if not, write to the Free Software Foundation, Inc.,
563       51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
564

BUGS

566       To get a list of bugs against libguestfs, use this link:
567       https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
568
569       To report a new bug against libguestfs, use this link:
570       https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
571
572       When reporting a bug, please supply:
573
574       •   The version of libguestfs.
575
576       •   Where you got libguestfs (eg. which Linux distro, compiled from
577           source, etc)
578
579       •   Describe the bug accurately and give a way to reproduce it.
580
581       •   Run libguestfs-test-tool(1) and paste the complete, unedited output
582           into the bug report.
583
584
585
586libguestfs-1.51.9                 2023-12-09     guestfs-release-notes-1.38(1)
Impressum