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

NAME

6       guestfs-release-notes - libguestfs Release Notes
7

RELEASE NOTES FOR LIBGUESTFS 1.36

9       These release notes only cover the differences from the previous
10       stable/dev branch split (1.34.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-tail is a new tool for following (tailing) log files within a
17       guest, similar to the regular "tail -f" command.
18
19       New features in existing tools
20
21       Virt-customize, virt-get-kernel, virt-sparsify and virt-sysprep can now
22       handle encrypted guests (Pino Toscano).
23
24       Virt-builder and virt-customize now support --append-line, which is
25       useful for adding lines to the end of configuration files.
26
27       Virt-resize can now shrink and expand swap partitions (Pino Toscano).
28
29       Virt-resize can now output to non-local disks (Pino Toscano).
30
31       Virt-sysprep has a new operation called "backup-files" for removing
32       editor backups, and "passwd-backups" for removing /etc/passwd- and
33       similar.
34
35       Virt-dib can now create checksums using the new --checksum option (Pino
36       Toscano).
37
38       Virt-dib can now create tgz files.  In addition, extended attributes
39       and SELinux labels are preserved in the output tar file (Pino Toscano).
40
41       Virt-dib can now create squashfs files (Pino Toscano).
42
43       Bash tab-completion is now available in every command line tool that is
44       shipped.
45
46       virt-v2v and virt-p2v
47
48       Conversions of Debian (6+) and Ubuntu (10.04+) guests are now supported
49       (Tomáš Golembiovský, Pino Toscano).
50
51       Conversions from SUSE Xen hypervisor have now been tested (Cédric
52       Bosdonnat).
53
54       Windows conversions may now install a program "pnp_wait.exe" which
55       prevents conflicts between the Windows Plug-and-Play Manager and our
56       own scripts that install virtio device drivers.  Enabling this requires
57       the "pnp_wait.exe" program to be built separately (Roman Kagan).
58
59       OVA files exported from AWS can now be converted (Shahar Havivi).
60
61       When converting OVA files, in some circumstances virt-v2v can now read
62       disk images directly from the OVA input file instead of needing to
63       unpack the OVA file to a temporary directory.  This can save large
64       amounts of disk space, and is quicker (Tomáš Golembiovský).
65
66       Virt-p2v can now be built on RHEL 5 (2007-era) Linux and RHEL 6, which
67       means that 32 bit and hardware with ancient fakeraid disks can be
68       virtualized.  Binaries of virt-p2v based on these old versions of RHEL
69       can be found at http://oirase.annexia.org/virt-p2v/
70
71       Virt-p2v can now use nbdkit (an NBD server) as an alternative to qemu-
72       nbd.  In addition, virt-p2v can use "socket activation" which is a more
73       robust method for opening the NBD listening socket.  Socket activation
74       works with qemu-nbd or nbdkit, but requires the most up to date
75       versions.
76
77       To prevent timeouts during P2V conversions, virt-p2v inhibits power
78       saving on the physical machine, and also sends ping packets over the
79       ssh control and data connections.
80
81       Virt-v2v no longer removes the "Processor" and "Intelppm" nodes from
82       the Windows Registry.
83
84       Xen and vCenter conversions can now be done using the libvirt backend,
85       provided libvirt ≥ 2.1.0 is used.
86
87       /dev/srX (SCSI CD-ROM) devices are ignored (Tomáš Golembiovský).
88
89       When converting SUSE Linux guests, use /etc/modprobe.conf.local if it
90       exists.
91
92       Removing VMware tools from Linux guests should now work reliably (Pino
93       Toscano).
94
95       When converting OVA files, virt-v2v now checks the disk image hash
96       contained in the manifest file, whereas previously it was ignored
97       because of a mistake in the code.  In addition, SHA256 hashes are now
98       supported (Tomáš Golembiovský).
99
100       When converting OVA files that contain compressed disk images, we now
101       trust the "ovf:compression" attribute from the metadata instead of
102       using content sniffing on the disk image (Tomáš Golembiovský).
103
104       A new flag --vdsm-compat has been added to -o vdsm mode, allowing more
105       efficient qcow2 images to be generated.
106
107       Since the RHEV product [commercially supported version of oVirt] has
108       now been renamed to RHV, "RHEV" was changed to "RHV" throughout the
109       tooling.  In particular, -o rhev becomes -o rhv, although the old name
110       can be used for backwards compatibility.
111
112       The "RHEV-APT" utility is only installed when the output hypervisor is
113       oVirt or RHV.
114
115       A problem with virt-v2v running out of memory when doing an SELinux
116       relabel of the guest filesystem should now be resolved.
117
118       Language bindings
119
120       Setting "EXTRA_JAVAC_FLAGS" before ./configure allows you to add
121       arbitrary flags to "javac" when compiling the Java bindings.
122
123       Use of any libguestfs API which returned a single struct, from Perl or
124       Java bindings, would have leaked memory.  This has now been fixed (Pino
125       Toscano).
126
127       Inspection
128
129       Inspection of Windows guests with mildly corrupted Windows Registry
130       hives should now work instead of failing with an error.  This feature
131       requires hivex ≥ 1.3.14 (Dawid Zamirski).
132
133       For Debian guests, we can now read the URL, source name, summary and
134       full description of installed packages.  For RPM-based guests we can
135       read the URL, summary and description (Pino Toscano).
136
137       Inspection of guest operating systems that use a separate /usr
138       partition should now work more reliably (Pino Toscano).
139
140       When parsing guest /etc/fstab, paths are reduced to a canonical form
141       (eg. "///usr//local//" → "/usr/local").
142
143       Inspection of btrfs subvolumes now works where the /etc/fstab options
144       field contains commas.
145
146       /dev/cdN devices in guest /etc/fstab are ignored (Pino Toscano).
147
148       Architectures and platforms
149
150       Stable releases are now tested on aarch64, ppc64 and ppc64le
151       architectures.
152
153       The RISC-V architecture is now handled as a guest, and libguestfs will
154       now at least compile on RISC-V (but probably not work as there is no
155       usable qemu at the time of writing).
156
157       Detection of S/390 and S/390x binaries and guests is now supported.
158
159       Other
160
161       ExFAT filesystems are now supported (Miles Wolbe).
162
163   Security
164       See also guestfs-security(1).
165
166       There were no CVEs reported in this development cycle.  However some
167       security-related hardening was carried out as described below.
168
169       Temporary filenames are now always generated using randomness from
170       /dev/urandom (previously the C function random(3) was used in one
171       case).
172
173       The $TERM environment variable is now validated before passing it
174       through to the appliance kernel command line.
175
176   API
177       New APIs
178
179       "guestfs_aug_transform"
180           Exposes the Augeas "aug_transform" API (Pino Toscano).
181
182       "guestfs_find_inode"
183           Find files by inode number (Matteo Cafasso).
184
185       "guestfs_inspect_get_windows_software_hive"
186       "guestfs_inspect_get_windows_system_hive"
187           Return the path to the Windows "HKLM\SYSTEM" and "HKLM\SOFTWARE"
188           hives computed during inspection.
189
190       "guestfs_mksquashfs"
191           Create a squashfs filesystem from a path (Pino Toscano).
192
193       Other API changes
194
195       "guestfs_add_domain"
196           This call now handles libvirt file-based volumes correctly, where
197           previously these would have been ignored.  Also handled are disks
198           which require libvirt authentication secrets to open (Pino
199           Toscano).
200
201       "guestfs_canonical_device_name"
202           This call will no longer incorrectly modify Linux software RAID
203           device names (like /dev/mdX).
204
205       "guestfs_file_architecture"
206           Previously the "file_architecture" API could return either of the
207           strings "i386" or "i486" for 32 bit x86 binaries.  It now only
208           returns "i386" (as documented).
209
210           This API can now return the following new values: "riscv32",
211           "riscv64", "riscv128", "s390", "s390x".
212
213       "guestfs_hivex_open"
214           This now has an optional "GUESTFS_HIVEX_OPEN_UNSAFE" flag which
215           allows certain corrupted Windows Registry hives to be opened.  This
216           feature requires hivex ≥ 1.3.14 (Dawid Zamirski).
217
218       "guestfs_list_partitions"
219           This call now returns Linux software RAID partitions.
220
221       "guestfs_part_to_dev"
222           This call now correctly handles partition names which include
223           "p<N>" (Pino Toscano).
224
225       "guestfs_set_label"
226           This call can now change the labels of swap partitions (Pino
227           Toscano).
228
229   Build changes
230       libmagic, the library part of the "file" command, is now required at
231       build time (previously optional).
232
233       GCC 7 is now supported.
234
235       "Silent rules" are now used for OCaml programs, Java bindings.  To show
236       the full command line executed, add "V=1" on the make command line
237       (Pino Toscano).
238
239       Slow testing ("make check-slow") now covers: firstboot scripts in Linux
240       guests; v2v conversion of a selection of real Linux guests; the virt-
241       customize --hostname and --timezone settings; the --root-password
242       parameter; that the serial console works in virt-builder guests.
243
244       Large generated C source files, eg. the list of commands found in
245       fish/cmds.c (and many more), have been split into smaller files to
246       speed parallel compilation.
247
248       "make maintainer-check-extra-dist" now checks that all generated files
249       are included in the tarball.
250
251       The tests no longer assume that "." is in Perl's @INC, as it is going
252       to be removed soon (Pino Toscano).
253
254       Debian hosts using UsrMerge are now supported (Pino Toscano).
255
256       Header files and C structs can now have internal documentation using
257       the special "/** ... */" comments.
258
259       "@VAR@" subtitutions in "./run" are now fully quoted.  This is
260       necessary so that (eg) "./configure PYTHON=/some/path" works robustly
261       if "/some/path" contains characters that need to be quoted (Hilko
262       Bengen).
263
264       gperf ≥ 3.1 is now supported.
265
266       Kraxel's old edk2 builds can no longer be used for UEFI support.  UEFI
267       code is now fully free software, so use the versions bundled with your
268       Linux distro instead.
269
270       Virt-p2v can now be compiled on RHEL 5 (2007-era) Linux with Gtk 2.10.
271
272   Internals
273       The generator and mllib "Common_utils" modules are now shared from the
274       same source file.
275
276       A considerable amount of common code has been moved into the common
277       directory in the source and is now compiled only once.  The mini-
278       libraries located under here are: common/edit, common/errnostring,
279       common/miniexpect, common/options, common/parallel, common/progress,
280       common/protocol, common/utils, common/visit, common/windows.
281
282       The directory containing the main library code has moved from src
283       lib.
284
285       All tests written in shell script now use a common file of utility
286       functions (tests/test-functions.sh).  There are several new utility
287       functions, mainly for skipping tests.  Also these test scripts can now
288       use autoconf-like path variables like $abs_top_srcdir.
289
290       UEFI paths are now stored in the generator (generator/uefi.ml).
291
292       The way the generator handles actions and procedure numbers was changed
293       quite substantially.  See generator/actions_*.ml and
294       generator/proc_nr.ml.
295
296       The gnulib "getprogname" module is now used everywhere when
297       needing/printing the program name (Pino Toscano).
298
299       perl/Guestfs.c is not translatable (Nikos Skalkotos).
300
301       Virt-builder templates moved from builder/website to builder/templates
302       and there is now a single unified program which can build any template.
303
304       All Windows registry utilities used by virt-customize and virt-v2v have
305       been moved to a common module called "Registry" under mllib.
306
307       All POSIX bindings have been moved to a new module called "Unix_utils"
308       under mllib.
309
310       Inspection, virt-customize and virt-v2v no longer recompute the Windows
311       "%systemroot%", "CurrentControlSet" or paths to the "HKLM\SYSTEM" and
312       "HKLM\SOFTWARE" hives in multiple places.  Instead these are all
313       computed once (during inspection) and passed to the other tools through
314       various "guestfs_inspect_get_windows_*" APIs.
315
316       "/dev/pts" is now available inside the appliance, so any tools we run
317       which require a pty will now work (Pino Toscano).
318
319       Most OCaml warnings have been fixed.
320
321       There is now a single common function for creating temporary files
322       ("guestfs_int_make_temp_path") (Matteo Cafasso).
323
324       The $TERM environment variable is now validated before passing it
325       through to the appliance kernel command line.
326
327       Useless USB and memballoon devices are no longer created in the
328       appliance (Laine Stump).
329
330       On aarch64 we now use virtio-pci for the appliance.  This is somewhat
331       faster than virtio-mmio.
332
333       Use of srandom(3) and random(3) has been minimized.  In particular,
334       temporary filenames are no longer created based on randomness returned
335       by random(3), but /dev/urandom is used instead.
336
337   Bugs fixed
338       https://bugzilla.redhat.com/1425306
339           typo error in virt-tail man page
340
341       https://bugzilla.redhat.com/1418283
342           virt-v2v: appliance runs out of memory running setfiles command
343
344       https://bugzilla.redhat.com/1417549
345           /usr/bin/x86_64-linux-gnu-ld.bfd.real:
346           ../common/progress/.libs/libprogress.a(libprogress_la-progress.o):
347           undefined reference to symbol 'UP@@NCURSES_TINFO_5.0.19991023'
348
349       https://bugzilla.redhat.com/1417444
350           *** No rule to make target '../perl/lib/Sys/Guestfs.c', needed by
351           'libguestfs.pot'
352
353       https://bugzilla.redhat.com/1416941
354           compile of 1.34.3 fails with gperf 3.1
355
356       https://bugzilla.redhat.com/1414682
357           guestfs_canonical_device_name incorrectly returns /dev/sd0 for MD
358           devices (/dev/md0)
359
360       https://bugzilla.redhat.com/1414510
361           guestfs_list_filesystems does not recognize ddf partitions
362
363       https://bugzilla.redhat.com/1409023
364           [Debian] ldmtool not installed in the appliance
365
366       https://bugzilla.redhat.com/1404287
367           qemu-kvm cannot boot RHEL 7 kernel with TCG, hangs at "Probing EDD
368           (edd=off to disable)..."
369
370       https://bugzilla.redhat.com/1404182
371           RFE: virt-resize should support a URL as the outdisk
372
373       https://bugzilla.redhat.com/1401474
374           Importing VMs from VMware is failing with error "Inspection field
375           'i_arch' was 'unknown'"
376
377       https://bugzilla.redhat.com/1401320
378           RFE: Increate virt-sysprep coverage a bit
379
380       https://bugzilla.redhat.com/1400205
381           Add --vdsm-compat=1.1 flag for VDSM
382
383       https://bugzilla.redhat.com/1398070
384           typo error in man page
385
386       https://bugzilla.redhat.com/1392798
387           secrets from libvirt domains are not read
388
389       https://bugzilla.redhat.com/1390876
390           "--machine-readable" info should be updated in virt-v2v manual page
391
392       https://bugzilla.redhat.com/1379289
393           RFE: virt-p2v should support mnemonic operations
394
395       https://bugzilla.redhat.com/1378022
396           There is virt-v2v warning about <listen type='none'> during
397           converting a guest which has listen type='none' in XML
398
399       https://bugzilla.redhat.com/1377081
400           virt-p2v manual should update the new dialog information
401
402       https://bugzilla.redhat.com/1375157
403           virt-v2v: -i ova: Permission denied when using libvirt and running
404           as root
405
406       https://bugzilla.redhat.com/1374651
407           Can't install qxl driver for display device in win7 guest after
408           converting to glance by virt-v2v
409
410       https://bugzilla.redhat.com/1374405
411           There is HTTP 404 error info when convert guest to glance by
412           virt-v2v
413
414       https://bugzilla.redhat.com/1374232
415           selinux relabel fails on RHEL 6.2 guests with "libguestfs error:
416           selinux_relabel: : Success"
417
418       https://bugzilla.redhat.com/1372668
419           Process status is not normal in windows guest after converted from
420           kvm to rhev by virt-v2v
421
422       https://bugzilla.redhat.com/1372269
423           Builder does not set hostname properly for Debian 8 (Jessie)
424
425       https://bugzilla.redhat.com/1371843
426           Improve OVA import compatibility
427
428       https://bugzilla.redhat.com/1370424
429           virt-manager coredump when vm with gluster image exists
430
431       https://bugzilla.redhat.com/1367839
432           Cannot import VMs from Xen and VMware when using RHEL7.3 host.
433
434       https://bugzilla.redhat.com/1367738
435           Missing bash completion scripts for: virt-diff guestunmount virt-
436           copy-in virt-copy-out virt-customize virt-get-kernel
437           virt-p2v-make-disk virt-p2v-make-kickstart virt-tar-in virt-tar-out
438           virt-v2v-copy-to-local virt-win-reg
439
440       https://bugzilla.redhat.com/1367615
441           OVMF file which is built for rhel7.3  can't be used for virt-v2v
442           uefi conversion
443
444       https://bugzilla.redhat.com/1366456
445           Converting rhel7 host installed on RAID:warning: fstrim: fstrim:
446           /sysroot/: the discard operation is not supported
447
448       https://bugzilla.redhat.com/1366049
449           RFE: libvirt backend: support handling disks stored as volume name
450           in a pool
451
452       https://bugzilla.redhat.com/1365005
453           Guest name is incorrect if convert guest from disk image by
454           virt-v2v
455
456       https://bugzilla.redhat.com/1362649
457           RFE: virt-sysprep does not utilize libguestfs encryption support
458
459       https://bugzilla.redhat.com/1354507
460           virt-v2v conversions from vCenter do not consistently obey the
461           proxy environment variables
462
463       https://bugzilla.redhat.com/1168144
464           warning: fstrim: fstrim: /sysroot/: FITRIM ioctl failed: Operation
465           not supported (ignored) when convert win2003 guest from xen server
466
467       https://bugzilla.redhat.com/1161019
468           RFE: Only install RHEV-APT if virt-v2v -o rhev/-o vdsm option is
469           used
470
471       https://bugzilla.redhat.com/1152369
472           virt-v2v failed to convert RHEL 6.7 UEFI guest: no
473           grub1/grub-legacy or grub2 configuration file was found
474
475       https://bugzilla.redhat.com/1141631
476           [RFE] virt-v2v should support convert a guest to a dir-pool with
477           using pool's uuid
478
479       https://bugzilla.redhat.com/1134878
480           libvirt reports json "backing file" is missing
481
482       https://bugzilla.redhat.com/1019388
483           firstboot scripts (virt-builder, virt-sysprep) don't work for
484           Debian 6 & 7 guests
485
486       https://bugzilla.redhat.com/737600
487           virt-v2v windows xp - machine dies BSOD - processr,sys - workaround
488           provided
489

SEE ALSO

491       guestfs-examples(1), guestfs-faq(1), guestfs-performance(1),
492       guestfs-recipes(1), guestfs-testing(1), guestfs(3), guestfish(1),
493       http://libguestfs.org/
494

AUTHOR

496       Richard W.M. Jones
497
499       Copyright (C) 2009-2020 Red Hat Inc.
500

LICENSE

502       This program is free software; you can redistribute it and/or modify it
503       under the terms of the GNU General Public License as published by the
504       Free Software Foundation; either version 2 of the License, or (at your
505       option) any later version.
506
507       This program is distributed in the hope that it will be useful, but
508       WITHOUT ANY WARRANTY; without even the implied warranty of
509       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
510       General Public License for more details.
511
512       You should have received a copy of the GNU General Public License along
513       with this program; if not, write to the Free Software Foundation, Inc.,
514       51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
515

BUGS

517       To get a list of bugs against libguestfs, use this link:
518       https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
519
520       To report a new bug against libguestfs, use this link:
521       https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
522
523       When reporting a bug, please supply:
524
525       ·   The version of libguestfs.
526
527       ·   Where you got libguestfs (eg. which Linux distro, compiled from
528           source, etc)
529
530       ·   Describe the bug accurately and give a way to reproduce it.
531
532       ·   Run libguestfs-test-tool(1) and paste the complete, unedited output
533           into the bug report.
534
535
536
537libguestfs-1.42.0                 2020-03-09     guestfs-release-notes-1.36(1)
Impressum