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:

Shortened plan durations with scheduler optimizations in warm migrations

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)

MTV supports optimized migration of VMware VMs with shared disks

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

VMware disks named by using a PVC template are not sorted correctly

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)

Post-migration hooks do not run

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

MTV does not add a separator after the name of a PVC when a custom name template is used

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)

The static route gateway of Windows VMs is passed as the default gateway during migration

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)

MTV does not list any VM that is part of a vApp

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

VMs with mutually exclusive spec values as source VM and destination VM cannot be migrated

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)

The code base of MTV contains a deprecated value for a parameter

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)

Migrations using custom templates fail if a user-supplied name is too long

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)

User supplied template names are not validated against the RFC DNS1123 standard

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)

Canceling the migration of a virtual machine causes the Plan controller to loop forever

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)

MTV fails to migrate VMs with template names that contain multiple periods

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)

UI displays an incorrect "Invalid VM Name" message for a VM name containing a period

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

MTV does not preserve the gateway IP address of an NIC from a different subnet

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)

MTV displays an error in the migration plan for VMs without a static IP address

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)

Disk counter does not update progress while migrating VMs with multiple disks

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)

Incomplete migration plan error for VMs with shared disks before cold migration

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)

MTV runs a migration plan after a VMware VM in the plan is canceled

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)

Static IP address is not preserved for VMs with manual MAC address configuration

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:

Trusted Platform Module is added to the BIOS of a Windows Server 2022 VM after warm migration

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 VM with clustered file systems are not supported

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 is not available

Migrating shared boot disks by using Forklift is not available. (MTV-2201)

Anti-virus software on VMware VMs can cause migrations to fail

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:

Table 1. Selected Forklift packages

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