Get started with the Migration Toolkit for Virtualization

This learning exercise explains the requirements for the Migration Toolkit for Virtualization and how to add the operator.

Migration Toolkit for VirtualizationDownload/ Sign up for Red Hat OpenShift

Installing the Migration Toolkit for Virtualization operator from the web console 

Prerequisites 

Here's what you need to get started:

  • Red Hat OpenShift 4.14 or later installed.
  • OpenShift Virtualization Operator installed on an OpenShift migration target cluster.
  • You must be logged in as a user with cluster-admin permissions.

Instructions

  1. In the Red Hat OpenShift web console, click Operators > OperatorHub.
  2. Use the Filter by keyword field to search for mtv-operator.
  3. Click Migration Toolkit for Virtualization Operator and then click Install.
  4. Click Create ForkliftController when the button becomes active.
  5. Click Create.
    • Your ForkliftController appears in the list that is displayed.
  6. Click Workloads > Pods to verify that the MTV pods are running.
  7. Click Operators > Installed Operators to verify that Migration Toolkit for Virtualization Operator appears in the openshift-mtv project with the status Succeeded.

When the plugin is ready you will be prompted to reload the page. The Migration menu item is automatically added to the navigation bar, displayed on the left of the Red Hat OpenShift web console.

Installing the Migration Toolkit for Virtualization operator from the command line interface

Prerequisites

Here's what you need to get started:

  • Red Hat OpenShift 4.14 or later installed.
  • OpenShift Virtualization Operator installed on an OpenShift migration target cluster.
  • You must be logged in as a user with cluster-admin permissions.

Instructions

  1. Create the openshift-mtv project:

    $ cat << EOF | oc apply -f -
    apiVersion: project.openshift.io/v1
    kind: Project
    metadata:
      name: openshift-mtv
    EOF
  2. Create an OperatorGroup CR called migration:

    $ cat << EOF | oc apply -f -
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: migration
      namespace: openshift-mtv
    spec:
      targetNamespaces:
        - openshift-mtv
    EOF
  3. Create a Subscription CR for the Operator:

    $ cat << EOF | oc apply -f -
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: mtv-operator
      namespace: openshift-mtv
    spec:
      channel: release-v2.6
      installPlanApproval: Automatic
      name: mtv-operator
      source: redhat-operators
      sourceNamespace: openshift-marketplace
      startingCSV: "mtv-operator.v2.6.7"
    EOF
  4. Create a ForkliftController CR:

    $ cat << EOF | oc apply -f -
    apiVersion: forklift.konveyor.io/v1beta1
    kind: ForkliftController
    metadata:
      name: forklift-controller
      namespace: openshift-mtv
    spec:
      olm_managed: true
    EOF
  5. Verify that the MTV pods are running:

    $ oc get pods -n openshift-mtv

    Example output

    NAME                                                    READY   STATUS    RESTARTS   AGE
    forklift-api-bb45b8db4-cpzlg                            1/1     Running   0          6m34s
    forklift-controller-7649db6845-zd25p                    2/2     Running   0          6m38s
    forklift-must-gather-api-78fb4bcdf6-h2r4m               1/1     Running   0          6m28s
    forklift-operator-59c87cfbdc-pmkfc                      1/1     Running   0          28m
    forklift-ui-plugin-5c5564f6d6-zpd85                     1/1     Running   0          6m24s
    forklift-validation-7d84c74c6f-fj9xg                    1/1     Running   0          6m30s
    forklift-volume-populator-controller-85d5cb64b6-mrlmc   1/1     Running   0          6m36s

Configuring the Migration Toolkit for Virtualization operator

You can configure all of the following settings of the MTV Operator by modifying the ForkliftController CR, or in the Settings section of the Overview page, unless otherwise indicated.

  • Maximum number of virtual machines (VMs) per plan that can be migrated simultaneously.
  • How long must gather reports are retained before being automatically deleted.
  • CPU limit allocated to the main controller container.
  • Memory limit allocated to the main controller container.
  • Interval at which a new snapshot is requested before initiating a warm migration.
  • Frequency with which the system checks the status of snapshot creation or removal during a warm migration.
  • Percentage of space in persistent volumes allocated as file system overhead when the storageclass is filesystem (ForkliftController CR only).
  • Fixed amount of additional space allocated in persistent block volumes. This setting is applicable for any storageclass that is block-based (ForkliftController CR only).
  • Configuration map of operating systems to preferences for vSphere source providers (ForkliftController CR only).
  • Configuration map of operating systems to preferences for Red Hat Virtualization (RHV) source providers (ForkliftController CR only).

The procedure for configuring these settings using the user interface is presented in Configuring MTV settings. The procedure for configuring these settings by modifying the ForkliftController CR is presented following.

Instructions

  • Change a parameter’s value in the spec portion of the ForkliftController CR by adding the label and value as follows:

    spec:
      label: value ➊

➊ Labels you can configure using the CLI are shown in the table that follows, along with a description of each label and its default value.

Label

Description

Default value

controller_max_vm_inflightThe maximum number of VMs per plan that can be migrated simultaneously.20
must_gather_api_cleanup_max_ageThe duration in hours for retaining must gather reports before they are automatically deleted.-1 (disabled)
controller_container_limits_cpuThe CPU limit allocated to the main controller container.500m
controller_container_limits_memoryThe memory limit allocated to the main controller container.800Mi
controller_precopy_intervalThe interval in minutes at which a new snapshot is requested before initiating a warm migration.60
controller_snapshot_status_check_rate_secondsThe frequency in seconds with which the system checks the status of snapshot creation or removal during a warm migration.10
controller_filesystem_overhead

Percentage of space in persistent volumes allocated as file system overhead when the storageclass is filesystem.

ForkliftController CR only.

10
controller_block_overhead

Fixed amount of additional space allocated in persistent block volumes. This setting is applicable for any storageclass that is block-based. It can be used when data, such as encryption headers, is written to the persistent volumes in addition to the content of the virtual disk.

ForkliftController CR only.

0
vsphere_osmap_configmap_name

Configuration map for vSphere source providers. This configuration map maps the operating system of the incoming VM to a OpenShift Virtualization preference name. This configuration map needs to be in the namespace where the MTV Operator is deployed.

To see the list of preferences in your OpenShift Virtualization environment, open the OpenShift web console and click Virtualization > Preferences.

You can add values to the configuration map when this label has the default value, forklift-vsphere-osmap. In order to override or delete values, specify a configuration map that is different from forklift-vsphere-osmap.

ForkliftController CR only.

forklift-vsphere-osmap

ovirt_osmap_confi

gmap_name

Configuration map for RHV source providers. This configuration map maps the operating system of the incoming VM to a OpenShift Virtualization preference name. This configuration map needs to be in the namespace where the MTV Operator is deployed.

To see the list of preferences in your OpenShift Virtualization environment, open the OpenShift web console and click Virtualization > Preferences.

You can add values to the configuration map when this label has the default value, forklift-ovirt-osmap. In order to override or delete values, specify a configuration map that is different from forklift-ovirt-osmap.

ForkliftController CR only.

forklift-ovirt-osmap
Previous resource
Overview: Get started with the Migration Toolkit for Virtualization
Next resource
Additional resources