$ sudo podman login registry.redhat.io
You can upgrade the Migration Toolkit for Containers (MTC) by using the OpenShift Container Platform web console.
You must ensure that you upgrade to the same MTC version on all clusters. 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 OpenShift Container Platform 4 by using the OpenShift Container Platform web console.
You must be logged in as a user with cluster-admin
privileges.
In the OpenShift Container Platform 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.
You can upgrade Migration Toolkit for Containers (MTC) on OpenShift Container Platform 3 with podman
.
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:
$ sudo podman login registry.redhat.io
Download the latest operator.yml
file:
$ sudo podman cp $(sudo podman create \
registry.redhat.io/rhmtc/openshift-migration-rhel7-operator:v1.4):/operator.yml ./ (1)
1 | You can specify a z-stream release, if necessary. |
Replace the Migration Toolkit for Containers Operator:
$ oc replace --force -f operator.yml
Apply the changes:
For MTC 1.1.2 and earlier versions, delete the Restic
pods:
$ oc delete pod <restic_pod>
For MTC 1.2 and later versions:
Scale the migration-operator
deployment to 0
to stop the deployment:
$ 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:
$ oc scale -n openshift-migration --replicas=1 deployment/migration-operator
Verify that the migration-operator
was upgraded:
$ oc -o yaml -n openshift-migration get deployment/migration-operator | grep image: | awk -F ":" '{ print $NF }'
Download the latest controller-3.yml
file:
$ sudo podman cp $(sudo podman create \
registry.redhat.io/rhmtc/openshift-migration-rhel7-operator:v1.4):/controller-3.yml ./
Create the migration-controller
object:
$ oc create -f controller-3.yml
If your OpenShift Container Platform version is 3.10 or earlier, set the security context constraint of the migration-controller
service account to anyuid
to enable direct image migration and direct volume migration:
$ oc adm policy add-scc-to-user anyuid -z migration-controller -n openshift-migration
Verify that the MTC pods are running:
$ oc get pods -n openshift-migration
If you have previously added the OpenShift Container Platform 3 cluster to the MTC web console, you must update the service account token in the web console because the upgrade process deletes and restores the openshift-migration
namespace:
Obtain the service account token:
$ oc sa get-token migration-controller -n openshift-migration
In the MTC web console, click Clusters.
Click the Options menu next to the cluster and select Edit.
Enter the new service account token in the Service account token field.
Click Update cluster and then click Close.
If you are upgrading Migration Toolkit for Containers (MTC) version 1.3.x to 1.4, 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 have MTC 1.3 installed.
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