Migration Toolkit for Virtualization 2.8

Release notes

Version 2.8

Red Hat Modernization and Migration Documentation Team

Abstract

This document describes new features, known issues, and resolved issues for the Migration Toolkit for Virtualization 2.8.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.

Chapter 1. Migration Toolkit for Virtualization 2.8

The release notes describe technical changes, new features and enhancements, known issues, and resolved issues.

1.1. Technical changes

Migration Toolkit for Virtualization (MTV) 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

MTV 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)

(MTV-1963)

1.2. New features and enhancements

Migration Toolkit for Virtualization (MTV) 2.8 introduces the following features and enhancements:

  • In MTV 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 MTV 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 MTV 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 MTV 2.8.1, you can avoid mapping a network when you create a migration plan.
  • VMware only: By default, MTV adds one or more randomly generated alphanumeric characters to the names of PVCs to ensure that all PVCs have unique names. In MTV 2.8.2, you can instruct MTV 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.

1.3. Resolved issues

Migration Toolkit for Virtualization (MTV) 2.8 has the following resolved issues:

1.3.1. Resolved issues 2.8.4

VMs whose names contain uppercase letters not found by the search function on the Plan details page

In earlier releases of MTV, the search function of the Plans details page did not return VM names that contained uppercase letters. This issue has been resolved in MTV 2.8.4. (MTV-2348)

1.3.2. Resolved issues 2.8.3

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

In earlier releases of MTV, 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 MTV 2.8.3. (MTV-2303)

Post-migration hooks do not run

In earlier releases of MTV, 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 MTV 2.8.3. (MTV-2421)

1.3.3. 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 MTV, when a custom PVC template was used, the name of the PVC was followed immediately by the random alphanumeric characters that MTV 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 MTV 2.8.2 by MTV adding a hyphen (-) as a separator between the name generated by the template and the random characters added by MTV. (MTV-2257)

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

In earlier releases of MTV, 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 MTV 2.8.2. (MTV-2408)

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

In earlier releases of MTV, any VM that was part of a VMware vApp was not listed. This issue has been resolved in MTV 2.8.2. (MTV-1153)

1.3.4. Resolved issues 2.8.1

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

In earlier releases of MTV, 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 MTV 2.8.1. (MTV-2092)

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

In earlier releases of MTV, the code base contained the deprecated value vm.Spec.Running, which caused some migrations to fail. This issue has been resolved in MTV 2.8.1. (MTV-2105)

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

In earlier releases of MTV, migrations that used custom templates failed if a user-supplied was too long because it exceeded 63 characters. This issue has been resolved in MTV 2.8.1. Now MTV 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 MTV, 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 MTV 2.8.1. (MTV-2249)

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

In earlier releases of MTV, 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 MTV 2.8.1. (MTV-2287)

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

In earlier releases of MTV, 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 MTV 2.8.1. Now, MTV 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 MTV, the UI displayed an "Invalid VM Name" message for a VM name containing a period, even though MTV supports such names. This issue has been resolved in MTV 2.8.1. (MTV-2309)

1.3.5. Resolved issues 2.8.0

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

In earlier releases of MTV, 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 MTV 2.8.0. (MTV-2018)

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

In earlier releases of MTV, for migration plans in which Preserve static IPs is enabled, MTV displayed an error message if you did not configure a static IP address for the guest VM. This issue has been resolved in MTV 2.8.0. (MTV-1458)

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

In earlier releases of MTV, 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 MTV 2.8.0. (MTV-1718)

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

In earlier releases of MTV, 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 MTV 2.8.0. (MTV-2206)

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

In earlier releases of MTV, during warm migrations of multiple VMware VMs, MTV 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 MTV 2.8.0. (MTV-1796)

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

In earlier releases of MTV, 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 MTV 2.8.0. (MTV-2285)

1.4. Known issues

Migration Toolkit for Virtualization (MTV) 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 MTV 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)

Chapter 2. Release notes addendum

2.1. MTV selected packages

The following listed packages are from the virt-v2v guest conversion pod:

Table 2.1. Selected MTV packages

Package summary

MTV 2.8.0

MTV 2.8.1

MTV 2.8.2

MTV 2.8.3

MTV 2.8.4

MTV 2.8.5

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

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

kernel-modules-core-5.14.0-503.40.1.el9_5.x86_64

kernel-modules-core-5.14.0-570.18.1.el9_6.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

kernel-core-5.14.0-503.40.1.el9_5.x86_64

kernel-core-5.14.0-570.18.1.el9_6.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

libguestfs-1.50.2-4.el9_5.x86_64

libguestfs-1.54.0-8.el9_6.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-client-10.5.0-7.5.el9_5.x86_64

libvirt-client-10.10.0-7.3.el9_6.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

libvirt-libs-10.5.0-7.5.el9_5.x86_64

libvirt-libs-10.10.0-7.3.el9_6.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

libvirt-daemon-driver-qemu-10.5.0-7.5.el9_5.x86_64

libvirt-daemon-driver-qemu-10.10.0-7.3.el9_6.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

nbdkit-1.38.3-2.el9_5.x86_64

nbdkit-1.38.5-2.el9.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

nbdkit-basic-filters-1.38.3-2.el9_5.x86_64

nbdkit-basic-filters-1.38.5-2.el9.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

nbdkit-basic-plugins-1.38.3-2.el9_5.x86_64

nbdkit-basic-plugins-1.38.5-2.el9.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

nbdkit-curl-plugin-1.38.3-2.el9_5.x86_64

nbdkit-curl-plugin-1.38.5-2.el9.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

nbdkit-nbd-plugin-1.38.3-2.el9_5.x86_64

nbdkit-nbd-plugin-1.38.5-2.el9.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

nbdkit-python-plugin-1.38.3-2.el9_5.x86_64

nbdkit-python-plugin-1.38.5-2.el9.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

nbdkit-server-1.38.3-2.el9_5.x86_64

nbdkit-server-1.38.5-2.el9.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

nbdkit-ssh-plugin-1.38.3-2.el9_5.x86_64

nbdkit-ssh-plugin-1.38.5-2.el9.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

nbdkit-vddk-plugin-1.38.3-2.el9_5.x86_64

nbdkit-vddk-plugin-1.38.5-2.el9.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-img-9.0.0-10.el9_5.3.x86_64

qemu-img-9.1.0-15.el9_6.4.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-common-9.0.0-10.el9_5.3.x86_64

qemu-kvm-common-9.1.0-15.el9_6.4.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

qemu-kvm-core-9.0.0-10.el9_5.3.x86_64

qemu-kvm-core-9.1.0-15.el9_6.4.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

virt-v2v-2.5.6-10.el9_5.x86_64

virt-v2v-2.7.1-8.el9_6.x86_64

Legal Notice

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.