IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
When set, run up to N copies of nbdcopy in parallel. This only
applies for guests with multiple disks.
The default, as for all older versions of virt-v2v, is to copy disks
one at a time.
Bump the required version of libnbd to 1.14 (released Aug 2022). This
allows us to remove a check for older nbdcopy in the code.
RHEL 9 (our new minimum) has libnbd 1.20
In theory, ./configure --with-virt-v2v-nbdkit-python-plugin=<name>
allowed you to override the default nbdkit-python-plugin name (usually
"python"). However:
(a) nbdkit no longer provides a Python version 2 plugin and hasn't
since nbdkit 1.16 (2019),
(b) we no longer support older RHEL where there were parallel Python
2 & 3 plugins and this was an issue, and
(c) the result wasn't actually used in the code (it used to be, but I
think I replaced it with "python" and forgot about this ./configure
parameter).
OCaml 4.08.0 was released on 2019-06-14, over 5 years ago. By
requiring a slightly later OCaml version, we can drop more
compatibility code which was only used by older versions.
Update common submodule:
Richard W.M. Jones (2):
mlstdutils: Remove Option module
Remove test for caml_alloc_initialized_string
This models a UEFI NVRAM variable which controls whether or not EFI
binary signatures are verified, which is an initial step in the long
chain of operations commonly known as "secure boot". I added plenty
of documentation explaining what this really means as it is
non-obvious.
Thanks: Daniel Berrange, Andrea Bolognani
SMM is only a small part of enabling secure boot, so remove this
comment. Probably we don't need to use smm=on at all since it may be
enabled implicitly by other SB features.
Update the qemu shell script to simply find the UEFI paths as
required.
Remove lib/uefi.ml:find_uefi_firmware as this function is no longer
needed.
Remove common/mlv2v/ everywhere. This contained a list of UEFI code
and NVRAM files which is no longer used.
Update common submodule. This pulls in:
Richard W.M. Jones (5):
mlcustomize/customize_run.ml: Move 'in' to new line
mlstdutils/guestfs_config: Define host_os
mlcustomize, mltools: Check guest OS is compatible before allowing --run
Remove mlv2v/ subdirectory
qemuopts: Add ability to add raw, unquoted output to qemu scripts
qemuopts: Fix missing break statement
In -i libvirt / -i libvirtxml we didn't trim whitespace
around the name, so:
<name> foo </name>
would set the input name to the literal string " foo ".
It is not possible to specify an optional <checksum> field for each
disk. This gives the expected checksum (to be supplied by some higher
level management tool), and virt-v2v will verify that the checksum of
the actual disk presented matches the expected checksum.
<domain type='kvm'>
...
<devices>
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/path/to/disk/image'/>
<target dev='hda' bus='ide'/>
<checksum method='md5' fail='warn'>
a07aeb7de93e9b60d9155294cf332508
</checksum>
</disk>
$ virt-v2v-in-place -i libvirtxml file.xml
...
[ 0.0] Checking md5 checksum of disk 1/2
warning: bad checksum for disk 1/2
Expected checksum: a07aeb7de93e9b60d9155294cf332508
Actual checksum: e83009eb529a958875008103bb248017
Unfortunately support has not yet been added to oVirt. However I have
inferred the correct ostype value based on existing entries.
Also pull in the following commit from the common submodule:
Richard W.M. Jones (1):
mlcustomize: Add heuristic support for Windows Server 2025
Related: https://issues.redhat.com/browse/RHEL-65009
Related: https://issues.redhat.com/browse/RHEL-65010
Reported-by: Ming Xie
After previous changes, this library is no longer used. We have
switched to json-c, for better compatibility with libvirt.
(cherry picked from
guestfs-tools commit e6dcf7e3a7e9170978e57ce6df1b34f92fac5ae3)
We don't use Jansson explicitly, but used it implicitly wherever the
OCaml JSON_parser module is used. This module was switched over to
using json-c. Update the build dependencies accordingly.
Pulls in the following commit from the common submodule:
Richard W.M. Jones (1):
mltools: Replace jansson with json-c
This will eventually replace Jansson for all JSON parsing. However
this commit simply introduces the new dependency in the configure
script and documents it.
I chose json-c 0.14 as the baseline since that is the version in RHEL 9.
Probably earlier versions would work.
(cherry picked from libguestfs commit 53872a0a1a267040677572c30b68bd1e8b62ebe3)
All recent compilers support this (except MS compilers which we don't
care about). Assume it is supported. We test it in ./configure and
hard fail if it doesn't work.
We still define HAVE_ATTRIBUTE_CLEANUP but you can now assume it is
always defined and don't have to check it.
(cherry picked from libguestfs commit e37768d8892d6f467c7834f8b142b89f8f0af7dc)
The previous firmware section in Kubevirt YAML didn't match the
current specification. Unclear if it matched a previous spec or if we
just guessed at the format.
After this change, for BIOS:
..
spec:
template:
spec:
domain:
firmware:
bootloader:
bios: {}
..
For UEFI:
..
spec:
template:
spec:
domain:
firmware:
bootloader:
efi:
persistent: true
..
Link: https://kubevirt.io/api-reference/v1.3.1/definitions.html#_v1_firmware
Reported-by: Martin Necas
Fixes: https://issues.redhat.com/browse/RHEL-58065
Another weird corner case in YAML is that empty dictionaries have a
special representation. Empty lists also have a special
representation, that we got wrong.
Link: https://stackoverflow.com/a/33510095
Previously several empty Kubevirt YAML nodes were represented as empty
lists (List []). Our YAML generator incorrectly generated "{}" for
this, but this is the YAML for empty dictionary, not list. However as
a consequence of two bugs cancelling out, this actually generated the
expected YAML.
Since we're going to fix the bug in our YAML generator, replace
List [] with Assoc [] so the output will remain the same.
eg:
[ 9.3] Converting Windows Server 2022 Phony Edition (win2k22) to run on KVM
Reported-by: Ming Xie
Fixes: https://issues.redhat.com/browse/RHEL-56784
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
For the phony Windows guest we used the registry information from a
32 bit Windows 7 instance. This version of Windows is EOL. Newer
Windows changed the versioning scheme so we now use the build ID to
distinguish between versions, but we have not tested this in virt-v2v
upstream before.
I grabbed HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
from a real 64 bit Windows 2022 Server instance, minus identifying strings.
Various tests had to be updated because they contained references to
Windows 7, or because virtio-win contains more drivers for Windows
2022.
Adds the two v2v-customize-*.pod snippets.
Also update the common submodule to get:
Richard W.M. Jones (1):
mlcustomize: Include v2v-customize-*.pod in EXTRA_DIST
Updates: commit f720aff7d690ead787b2ec9d4dabdff2b2923efd