Release notes
Forklift 2.8
The release notes describe technical changes, new features and enhancements, known issues, and resolved issues.
Technical changes
Forklift 2.8 has the following technical changes:
When you start multiple warm or remote migration plans concurrently, the scheduler is optimized to schedule pending migration plans after completing smaller disk transfers in the current plan. This scheduler optimization enables faster warm migration. (MTV-1574)
Forklift detects a shared disk used by multiple VMware virtual machines (VMs) in the migration plan and provides an option to migrate the shared disk one time. You can add the shared disk along with a VM by using the migrateSharedDisks
plan attribute. When you migrate the other VMs that use the same shared disk, you can configure the migrateSharedDisks
plan attribute as false
in a new migration plan.
Migration of shared disks is supported for VMs created using the following operating systems:
-
Windows
-
Linux (block devices only)
New features and enhancements
Forklift 2.8 introduces the following features and enhancements:
-
In Forklift 2.8.0, you can provide custom names for the following attributes in the migration plan of VMware virtual machines (VMs):
-
Persistent volume claim (PVC) name template that is used to generate PVC names in the target VM.
-
Volume name template that is used to generate volume interface names for the target VMs.
-
Network name template that is used to generate network interface names for the target VMs.
-
-
In Forklift 2.8.0, VM names can contain periods, as described in (RFC-1123). This allows you to use Fully Qualified Domain Names in VM names after migration.
-
VMware and OVA only: In Forklift 2.8.1, you can specify the name of a target VM for migrations done by using the CLI. The name you enter must be unique, and it must also be a valid Kubernetes subdomain. Otherwise, the migration fails automatically.
-
Migration by using the CLI only: In Forklift 2.8.1, you can avoid mapping a network when you create a migration plan.
-
VMware only: By default, Forklift adds one or more randomly generated alphanumeric characters to the names of PVCs to ensure that all PVCs have unique names. In Forklift 2.8.2, you can instruct Forklift to not add such suffixes. However, if you choose this option, the generated PVC names might not be unique, which could cause a migration to fail.
Resolved issues
Forklift 2.8 has the following resolved issues:
Resolved issues 2.8.3
In earlier releases of Forklift, VMware disks with names generated by using a PVC template were not sorted using the same method as the VM builder. This issue has been resolved in Forklift 2.8.3. (MTV-2303)
In earlier releases of Forklift, post-migration hooks failed to mount a ConfigMap
API object. As a result, post-migration hooks did not run. This issue has been resolved in Forklift 2.8.3. (MTV-2421)
Resolved issues 2.8.2
In earlier releases of Forklift, when a custom PVC template was used, the name of the PVC was followed immediately by the random alphanumeric characters that Forklift generates to ensure that PVC names are unique. As a result, it was difficult to distinguish between the name the template generated and the random characters. This issue has been resolved in Forklift 2.8.2 by Forklift adding a hyphen (-
) as a separator between the name generated by the template and the random characters added by Forklift. (MTV-2257)
In earlier releases of Forklift, the static route gateway of Windows virtual machines (VMs) was passed as the default gateway during migration instead of the actual default gateway. This caused VMs to be incorrectly configured. This issue has been resolved in Forklift 2.8.2. (MTV-2408)
In earlier releases of Forklift, any VM that was part of a VMware vApp was not listed. This issue has been resolved in Forklift 2.8.2. (MTV-1153)
Resolved issues 2.8.1
In earlier releases of Forklift, it was possible for a VM to have the spec
value Running
as a source VM with the spec
value runStrategy
as a destination VM. This caused migrations to fail because Running
and runStrategy
are mutually exclusive. This issue has been resolved in Forklift 2.8.1. (MTV-2092)
In earlier releases of Forklift, the code base contained the deprecated value vm.Spec.Running
, which caused some migrations to fail. This issue has been resolved in Forklift 2.8.1. (MTV-2105)
In earlier releases of Forklift, migrations that used custom templates failed if a user-supplied was too long because it exceeded 63 characters. This issue has been resolved in Forklift 2.8.1. Now Forklift automatically truncates names that are too long. (MTV-2244)
In earlier releases of Forklift, user-supplied template names were not validated against the RFC DNS1123 standard. This caused migrations of VMs with template names that did not conform to RFC DNS1123 to fail. This issue has been resolved in Forklift 2.8.1. (MTV-2249)
In earlier releases of Forklift, if the migration of a virtual machine (VM) was canceled, the scheduler of the Plan controller would endlessly reschedule it for migration. This issue has been resolved in Forklift 2.8.1. (MTV-2287)
In earlier releases of Forklift, a VM whose name contained multiple periods (for example, vm...
) could not be migrated because its name did not comply with the application and support protocol RFC DNS1123. This issue has been resolved in Forklift 2.8.1. Now, Forklift automatically changes multiple periods in a VM name to a single period, making it compliant with RFC DNS1123. (MTV-2308)
In earlier releases of Forklift, the UI displayed an "Invalid VM Name" message for a VM name containing a period, even though Forklift supports such names. This issue has been resolved in Forklift 2.8.1. (MTV-2309)
Resolved issues 2.8.0
In earlier releases of Forklift, the gateway IP address of the virtual machine was not copied after migration if the IP address was out of the network interface subnet range. This issue affected migrations even if you enabled the Preserve static IPs
setting. This issue has been resolved in Forklift 2.8.0. (MTV-2018)
In earlier releases of Forklift, for migration plans in which Preserve static IPs
is enabled, Forklift displayed an error message if you did not configure a static IP address for the guest VM. This issue has been resolved in Forklift 2.8.0. (MTV-1458)
In earlier releases of Forklift, the Disk Counter
did not show real-time progress of disk transfer when migrating a VM with multiple disks. This issue has been resolved in Forklift 2.8.0. (MTV-1718)
In earlier releases of Forklift, the migration plan for a VM with shared disks showed an error that did not list all VMs to be powered off before the cold migration. This issue has been resolved in Forklift 2.8.0. (MTV-2206)
In earlier releases of Forklift, during warm migrations of multiple VMware VMs, Forklift continued to run the migration plan after you canceled a VM in the plan. The initial plan was run after you successfully migrated the canceled VM through a second migration plan. This issue has been resolved in Forklift 2.8.0. (MTV-1796)
In earlier releases of Forklift, the static IP address of a VMware VM was not preserved if you configured a MAC address with uppercase for the virtual network adapter of the VM. This issue affected migrations where the Preserve static IPs
setting was enabled and has been resolved in Forklift 2.8.0. (MTV-2285)
Known issues
Forklift 2.8 has the following known issues:
After warm migration of Windows Server 2022 virtual machine (VM) from vSphere to an OpenShift cluster, the Trusted Platform Module (TPM) device is added to the target VMs, even if the TPM configuration is non-persistent in the BIOS setting of the source Windows Server 2022 VM. This prevents the target VM from starting. (MTV-2049)
Linux guest VMs with clustered file systems on a shared disk are not supported, as these disks are not added to the guest conversion process. The virt-v2v
tool does not update shared disks in the fstab
configuration file. (MTV-2145)
Migrating shared boot disks by using Forklift is not available. (MTV-2201)
VMware only: Anti-virus software can cause VMware migrations to fail. It is strongly recommended to remove such software from source VMs before you start a migration. (MTV-2145)
Release notes addendum
Forklift selected packages
The following listed packagesĀ are from the virt-v2v
guest conversion pod:
Package summary |
MTV 2.8.0 |
MTV 2.8.1 |
MTV 2.8.2 |
MTV 2.8.3 |
The skeleton package which defines a simple Red Hat Enterprise Linux system |
basesystem-11-13.el9.noarch |
basesystem-11-13.el9.noarch |
basesystem-11-13.el9.noarch |
basesystem-11-13.el9.noarch |
Core kernel modules to match the core kernel |
kernel-modules-core-5.14.0-503.23.1.el9_5.x86_64 |
kernel-modules-core-5.14.0-503.35.1.el9_5.x86_64 |
kernel-modules-core-5.14.0-503.38.1.el9_5.x86_64 |
kernel-modules-core-5.14.0-503.40.1.el9_5.x86_64 |
The Linux kernel |
kernel-core-5.14.0-503.23.1.el9_5.x86_64 |
kernel-core-5.14.0-503.35.1.el9_5.x86_64 |
kernel-core-5.14.0-503.38.1.el9_5.x86_64 |
kernel-core-5.14.0-503.40.1.el9_5.x86_64 |
Access and modify virtual machine disk images |
libguestfs-1.50.2-1.el9.x86_64 |
libguestfs-1.50.2-2.el9_5.x86_64 |
libguestfs-1.50.2-2.el9_5.x86_64 |
libguestfs-1.50.2-4.el9_5.x86_64 |
Client side utilities of the libvirt library |
libvirt-client-10.5.0-7.4.el9_5.x86_64 |
libvirt-client-10.5.0-7.5.el9_5.x86_64 |
libvirt-client-10.5.0-7.5.el9_5.x86_64 |
libvirt-client-10.5.0-7.5.el9_5.x86_64 |
Libvirt libraries |
libvirt-libs-10.5.0-7.4.el9_5.x86_64 |
libvirt-libs-10.5.0-7.5.el9_5.x86_64 |
libvirt-libs-10.5.0-7.5.el9_5.x86_64 |
libvirt-libs-10.5.0-7.5.el9_5.x86_64 |
QEMU driver plugin for the libvirtd daemon |
libvirt-daemon-driver-qemu-10.5.0-7.4.el9_5.x86_64 |
libvirt-daemon-driver-qemu-10.5.0-7.5.el9_5.x86_64 |
libvirt-daemon-driver-qemu-10.5.0-7.5.el9_5.x86_64 |
libvirt-daemon-driver-qemu-10.5.0-7.5.el9_5.x86_64 |
NBD server |
nbdkit-1.38.3-1.el9.x86_64 |
nbdkit-1.38.3-1.el9.x86_64 |
nbdkit-1.38.3-1.el9.x86_64 |
nbdkit-1.38.3-2.el9_5.x86_64 |
Basic filters for nbdkit |
nbdkit-basic-filters-1.38.3-1.el9.x86_64 |
nbdkit-basic-filters-1.38.3-1.el9.x86_64 |
nbdkit-basic-filters-1.38.3-1.el9.x86_64 |
nbdkit-basic-filters-1.38.3-2.el9_5.x86_64 |
Basic plugins for nbdkit |
nbdkit-basic-plugins-1.38.3-1.el9.x86_64 |
nbdkit-basic-plugins-1.38.3-1.el9.x86_64 |
nbdkit-basic-plugins-1.38.3-1.el9.x86_64 |
nbdkit-basic-plugins-1.38.3-2.el9_5.x86_64 |
HTTP/FTP (cURL) plugin for nbdkit |
nbdkit-curl-plugin-1.38.3-1.el9.x86_64 |
nbdkit-curl-plugin-1.38.3-1.el9.x86_64 |
nbdkit-curl-plugin-1.38.3-1.el9.x86_64 |
nbdkit-curl-plugin-1.38.3-2.el9_5.x86_64 |
NBD proxy / forward plugin for nbdkit |
nbdkit-nbd-plugin-1.38.3-1.el9.x86_64 |
nbdkit-nbd-plugin-1.38.3-1.el9.x86_64 |
nbdkit-nbd-plugin-1.38.3-1.el9.x86_64 |
nbdkit-nbd-plugin-1.38.3-2.el9_5.x86_64 |
Python 3 plugin for nbdkit |
nbdkit-python-plugin-1.38.3-1.el9.x86_64 |
nbdkit-python-plugin-1.38.3-1.el9.x86_64 |
nbdkit-python-plugin-1.38.3-1.el9.x86_64 |
nbdkit-python-plugin-1.38.3-2.el9_5.x86_64 |
The nbdkit server |
nbdkit-server-1.38.3-1.el9.x86_64 |
nbdkit-server-1.38.3-1.el9.x86_64 |
nbdkit-server-1.38.3-1.el9.x86_64 |
nbdkit-server-1.38.3-2.el9_5.x86_64 |
SSH plugin for nbdkit |
nbdkit-ssh-plugin-1.38.3-1.el9.x86_64 |
nbdkit-ssh-plugin-1.38.3-1.el9.x86_64 |
nbdkit-ssh-plugin-1.38.3-1.el9.x86_64 |
nbdkit-ssh-plugin-1.38.3-2.el9_5.x86_64 |
VMware VDDK plugin for nbdkit |
nbdkit-vddk-plugin-1.38.3-1.el9.x86_64 |
nbdkit-vddk-plugin-1.38.3-1.el9.x86_64 |
nbdkit-vddk-plugin-1.38.3-1.el9.x86_64 |
nbdkit-vddk-plugin-1.38.3-2.el9_5.x86_64 |
QEMU command line tool for manipulating disk images |
qemu-img-9.0.0-10.el9_5.2.x86_64 |
qemu-img-9.0.0-10.el9_5.2.x86_64 |
qemu-img-9.0.0-10.el9_5.2.x86_64 |
qemu-img-9.0.0-10.el9_5.3.x86_64 |
QEMU common files needed by all QEMU targets |
qemu-kvm-common-9.0.0-10.el9_5.2.x86_64 |
qemu-kvm-common-9.0.0-10.el9_5.2.x86_64 |
qemu-kvm-common-9.0.0-10.el9_5.2.x86_64 |
qemu-kvm-common-9.0.0-10.el9_5.3.x86_64 |
QEMU KVM core components |
qemu-kvm-core-9.0.0-10.el9_5.2.x86_64 |
qemu-kvm-core-9.0.0-10.el9_5.2.x86_64 |
qemu-kvm-core-9.0.0-10.el9_5.2.x86_64 |
qemu-kvm-core-9.0.0-10.el9_5.3.x86_64 |
Convert a virtual machine to run on KVM |
virt-v2v-2.5.6-7.el9_5.x86_64 |
virt-v2v-2.5.6-9.el9_5.x86_64 |
virt-v2v-2.5.6-9.el9_5.x86_64 |
virt-v2v-2.5.6-10.el9_5.x86_64 |