$ oc -n openshift-migration get sub
You can upgrade the Migration Toolkit for Containers (MTC) on OKD 4 by using Operator Lifecycle Manager.
You can upgrade MTC on OKD 4.5, and earlier versions, by reinstalling the legacy Migration Toolkit for Containers Operator.
If you are upgrading from MTC version 1.3, you must perform an additional procedure to update the |
You can upgrade the Migration Toolkit for Containers (MTC) on OKD 4 by using the Operator Lifecycle Manager.
When upgrading the MTC by using the Operator Lifecycle Manager, you must use a supported migration path. |
Migrating from OKD 3 to OKD 4 requires a legacy MTC Operator and MTC 1.7.x.
Migrating from MTC 1.7.x to MTC 1.8.x is not supported.
You must use MTC 1.7.x to migrate anything with a source of OKD 4.9 or earlier.
MTC 1.7.x must be used on both source and destination.
MTC 1.8.x only supports migrations from OKD 4.10 or later to OKD 4.10 or later. For migrations only involving cluster versions 4.10 and later, either 1.7.x or 1.8.x may be used. However, it must be the same MTC version on both source & destination.
Migration from source MTC 1.7.x to destination MTC 1.8.x is unsupported.
Migration from source MTC 1.8.x to destination MTC 1.7.x is unsupported.
Migration from source MTC 1.7.x to destination MTC 1.7.x is supported.
Migration from source MTC 1.8.x to destination MTC 1.8.x is supported
You must be logged in as a user with cluster-admin
privileges.
In the OKD console, navigate to Operators → Installed Operators.
Operators that have a pending upgrade display an Upgrade available status.
Click Migration Toolkit for Containers Operator.
Click the Subscription tab. Any upgrades requiring approval are displayed next to Upgrade Status. For example, it might display 1 requires approval.
Click 1 requires approval, then click Preview Install Plan.
Review the resources that are listed as available for upgrade and click Approve.
Navigate back to the Operators → Installed Operators page to monitor the progress of the upgrade. When complete, the status changes to Succeeded and Up to date.
Click Workloads → Pods to verify that the MTC pods are running.
To upgrade the Migration Toolkit for Containers to 1.8.0, complete the following steps.
Determine subscription names and current channels to work with for upgrading by using one of the following methods:
Determine the subscription names and channels by running the following command:
$ oc -n openshift-migration get sub
NAME PACKAGE SOURCE CHANNEL
mtc-operator mtc-operator mtc-operator-catalog release-v1.7
redhat-oadp-operator-stable-1.0-mtc-operator-catalog-openshift-marketplace redhat-oadp-operator mtc-operator-catalog stable-1.0
Or return the subscription names and channels in JSON by running the following command:
$ oc -n openshift-migration get sub -o json | jq -r '.items[] | { name: .metadata.name, package: .spec.name, channel: .spec.channel }'
{
"name": "mtc-operator",
"package": "mtc-operator",
"channel": "release-v1.7"
}
{
"name": "redhat-oadp-operator-stable-1.0-mtc-operator-catalog-openshift-marketplace",
"package": "redhat-oadp-operator",
"channel": "stable-1.0"
}
For each subscription, patch to move from the MTC 1.7 channel to the MTC 1.8 channel by running the following command:
$ oc -n openshift-migration patch subscription mtc-operator --type merge --patch '{"spec": {"channel": "release-v1.8"}}'
subscription.operators.coreos.com/mtc-operator patched
To upgrade OADP 1.0 to 1.2 for Migration Toolkit for Containers 1.8.0, complete the following steps.
For each subscription, patch the OADP operator from OADP 1.0 to OADP 1.2 by running the following command:
$ oc -n openshift-migration patch subscription redhat-oadp-operator-stable-1.0-mtc-operator-catalog-openshift-marketplace --type merge --patch '{"spec": {"channel":"stable-1.2"}}'
Sections indicating the user-specific returned |
subscription.operators.coreos.com/redhat-oadp-operator-stable-1.0-mtc-operator-catalog-openshift-marketplace patched
The returned value will be similar to |
If the installPlanApproval
parameter is set to Automatic
, the Operator Lifecycle Manager (OLM) begins the upgrade process.
If the installPlanApproval
parameter is set to Manual
, you must approve each installPlan
before the OLM begins the upgrades.
Verify that the OLM has completed the upgrades of OADP and MTC by running the following command:
$ oc -n openshift-migration get subscriptions.operators.coreos.com mtc-operator -o json | jq '.status | (."state"=="AtLatestKnown")'
When a value of true
is returned, verify the channel used for each subscription by running the following command:
$ oc -n openshift-migration get sub -o json | jq -r '.items[] | {name: .metadata.name, channel: .spec.channel }'
{
"name": "mtc-operator",
"channel": "release-v1.8"
}
{
"name": "redhat-oadp-operator-stable-1.0-mtc-operator-catalog-openshift-marketplace",
"channel": "stable-1.2"
}
Confirm that the `mtc-operator.v1.8.0` and `oadp-operator.v1.2.x` packages are installed by running the following command:
$ oc -n openshift-migration get csv
NAME DISPLAY VERSION REPLACES PHASE
mtc-operator.v1.8.0 Migration Toolkit for Containers Operator 1.8.0 mtc-operator.v1.7.13 Succeeded
oadp-operator.v1.2.2 OADP Operator 1.2.2 oadp-operator.v1.0.13 Succeeded
You can upgrade Migration Toolkit for Containers (MTC) on OKD versions 4.2 to 4.5 by manually installing the legacy Migration Toolkit for Containers Operator.
You must be logged in as a user with cluster-admin
privileges.
You must have access to registry.redhat.io
.
You must have podman
installed.
Log in to registry.redhat.io
with your Red Hat Customer Portal credentials by entering the following command:
$ podman login registry.redhat.io
Download the operator.yml
file by entering the following command:
$ podman cp $(podman create registry.redhat.io/rhmtc/openshift-migration-legacy-rhel8-operator:v1.7:/operator.yml ./
Replace the Migration Toolkit for Containers Operator by entering the following command:
$ oc replace --force -f operator.yml
Scale the migration-operator
deployment to 0
to stop the deployment by entering the following command:
$ oc scale -n openshift-migration --replicas=0 deployment/migration-operator
Scale the migration-operator
deployment to 1
to start the deployment and apply the changes by entering the following command:
$ oc scale -n openshift-migration --replicas=1 deployment/migration-operator
Verify that the migration-operator
was upgraded by entering the following command:
$ oc -o yaml -n openshift-migration get deployment/migration-operator | grep image: | awk -F ":" '{ print $NF }'
Download the controller.yml
file by entering the following command:
$ podman cp $(podman create registry.redhat.io/rhmtc/openshift-migration-legacy-rhel8-operator:v1.7):/operator.yml ./
Create the migration-controller
object by entering the following command:
$ oc create -f controller.yml
Verify that the MTC pods are running by entering the following command:
$ oc get pods -n openshift-migration
If you are upgrading Migration Toolkit for Containers (MTC) version 1.3.x to 1.8, you must update the MigPlan
custom resource (CR) manifest on the cluster on which the MigrationController
pod is running.
Because the indirectImageMigration
and indirectVolumeMigration
parameters do not exist in MTC 1.3, their default value in version 1.4 is false
, which means that direct image migration and direct volume migration are enabled. Because the direct migration requirements are not fulfilled, the migration plan cannot reach a Ready
state unless these parameter values are changed to true
.
|
You must be logged in as a user with cluster-admin
privileges.
Log in to the cluster on which the MigrationController
pod is running.
Get the MigPlan
CR manifest:
$ oc get migplan <migplan> -o yaml -n openshift-migration
Update the following parameter values and save the file as migplan.yaml
:
...
spec:
indirectImageMigration: true
indirectVolumeMigration: true
Replace the MigPlan
CR manifest to apply the changes:
$ oc replace -f migplan.yaml -n openshift-migration
Get the updated MigPlan
CR manifest to verify the changes:
$ oc get migplan <migplan> -o yaml -n openshift-migration