Chapter 6. Completing the migration


6.1. Completing the Migration

Once the migration is complete, you can uninstall OpenShift Service Mesh 2.6.14 and optionally verify the migration status of data plane namespaces by using the Kiali Mesh page.

If you did not re-create your network policies before you migrated your deployment and workloads, you can re-create your network policies after migrating.

Prerequisites

  • You have migrated your deployment.
  • You have migrated your workloads.

Procedure

  1. Re-create necessary network policies in the new OpenShift Service Mesh 3 control plane namespace.
  2. Re-create network policies for each namespace that was part of the OpenShift Service Mesh 2 mesh.
  3. Update labels.

    1. Update corresponding network policy selectors to match the new labels.

      Note

      Use a label scoped specifically to your mesh that you can reuse for discovery selectors.

Prerequisites

  • You have migrated a multitenant deployment with the cert-manager and istio-csr tools.

Procedure

  1. Verify that your new injection label is present in all workload namespaces.
  2. Update the app.controller.configmapNamespaceSelector field by running the following command:

    helm upgrade cert-manager-istio-csr jetstack/cert-manager-istio-csr \
       --install \
       --reuse-values \
       --namespace istio-system \
       --wait \
       --set "app.controller.configmapNamespaceSelector=tenant=tenant-a"

6.1.3. Remove the Service Mesh 2.6 control plane

After you have migrated all your workloads and gateways, you can remove the OpenShift Service Mesh 2.x control plane.

Prerequisites

  • You have completed migrating your workloads.
  • You have completed migrating your gateways.
  • You have logged in to the OpenShift Container Platform web console as a user with the cluster-admin role.
Note

Depending on how you created ServiceMeshMember and ServiceMeshMemberRoll resources, those resources might be removed automatically with removal of the ServiceMeshControlPlane resource.

Procedure

  1. Find all Service Mesh 2.6 resources by running the following command:

    $ oc get smcp,smm,smmr -A
  2. Remove all ServiceMeshControlPlane resources by running the following command:

    $ oc delete smcp --all -A
  3. Remove all ServiceMeshMemberRoll resources by running the following command:

    $ oc delete smmr --all -A
  4. Remove all ServiceMeshMember resources by running the following command:

    $ oc delete smm --all -A
  5. Verify that all resources were removed by running the following command:

    $ oc get smcp,smm,smmr -A

    Example output:

    No resources found

After you remove the Red Hat OpenShift Service Mesh 2 ServiceMeshControlplane resource, and all other OpenShift Service Mesh 2 resources, you can remove the OpenShift Service Mesh 2.6 Operator and custom resource definitions (CRDs).

Prerequisites

  • You have completed migrating your workloads.
  • You have completed migrating your gateways.
  • You have removed the OpenShift Service Mesh 2 ServiceMeshControlPlane resource.
  • You have removed all other OpenShift Service Mesh 2 resources.
  • You have logged in to the OpenShift Container Platform web console as a user with the cluster-admin role.

Procedure

  1. Check that there are no Red Hat OpenShift Service Mesh 2.6 resources left by running the following command:

    $ oc get smcp,smm,smmr -A

    Example output:

    No resources found
  2. Remove the Operator:

    1. Find the Operator subscription by running the following command:

      csv=$(oc get subscription servicemeshoperator -n openshift-operators -o yaml | grep currentCSV | cut -f 2 -d ':')
    2. Delete the subscription by running the following command:

      $ oc delete subscription servicemeshoperator -n openshift-operators
    3. Delete the clusterserviceversion CSV by running the following command:

      $ oc delete clusterserviceversion $csv -n openshift-operators
  3. Remove maistra CRDs by running the following command:

    $ oc get crds -o name | grep ".*\.maistra\.io" | xargs -r -n 1 oc delete

6.1.5. Remove the Maistra labels

After you have removed all OpenShift Service Mesh 2 resources, removed the OpenShift Service Mesh 2 Operator, and OpenShift Service Mesh 2 custom resource definitions (CRDs), you can remove namespace labels created during the migration.

Prerequisites

  • You have completed migrating your workloads.
  • You have completed migrating your gateways.
  • You have removed the OpenShift Service Mesh 2 ServiceMeshControlPlane resource.
  • You have removed all other OpenShift Service Mesh 2 resources.
  • You have removed the OpenShift Service Mesh 2 Operator.
  • You have removed the OpenShift Service Mesh 2 CRDs.
  • You have logged in to the OpenShift Container Platform web console as a user with the cluster-admin role.

Procedure

  1. Verify that all OpenShift Service Mesh 2.6 resources have been removed by running the following command:

    $ oc get smcp,smm,smmr -A

    Example output:

    No resources found
  2. Find namespaces with the maistra.io/ignore-namespace="true" label by running the following command:

    $ oc get namespace -l maistra.io/ignore-namespace="true"

    Example output:

    NAME       STATUS   AGE
    bookinfo   Active   127m
  3. Remove the label by running the following command:

    $ oc label namespace bookinfo maistra.io/ignore-namespace-

    Example output:

    namespace/bookinfo unlabeled
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat Documentation

Legal Notice

Theme

© 2026 Red Hat
Back to top