Migrating MFP 8.0 (WASND with Db2) on ROCP

This topic is meant for existing IBM MobileFirst Foundation 8.0 with WebSphere® Liberty Network Deployment (WASND) with Db2 users that want to migrate to the PMF 9.1 on the Red Hat® OpenShift®.

The migration type is fresh install and existing IBM MobileFirst Foundation 8.0 set up on the WebSphere® Liberty Network Deployment is not affected.

This topic does not cover the following scenarios.

  • On-prem to On-prem or Cloud to Cloud migration.
  • Db2 database migration.
  • Red Hat® OpenShift® cluster set up.
  • Any changes in the mobile applications resulting due to changes in infrastructure.

Prerequisites

Before you begin the migration process, ensure the following.

  • You have not migrated Db2 database.
  • You are using this same Db2 database for the PMF 9.1.
  • You have set up a Red Hat OpenShift cluster with right number of nodes having sufficient memory and vCPUs.
  • PMF Version 9.1 requires Red Hat OpenShift cluster Version 4.15.22.
  • You are using PMF-OpenShift-Pak-<version>. tar.gz (Provided by Persistent Systems) for PMF 9.1.
  • Your mobile client applications (Android, iOS) and IBM MobileFirst Foundation 8.0 adapters are Java™ 17 compatible.
  • If you have used Analytics component in the MFP 8.0, take backup of analytics data. For more information, see Migrate analytics data from OnPrem MFP 8.0 to PMF Cloud 9.1 on Kubernetes.
  • You have to take care of changes (host and port changes) in the mobile client applications (Android, iOS) due to the changes in the domain URL as per the latest PMF Version 9.1 set up.

Note: Client application is required to be rebuilt and republished if the host and port is changed for the MFP Server. To avoid such changes in the client application, it is recommended that client applications use domain name instead of any fixed IP to connect to MFP backend service and after the migration point the domain name to the PMF backend service.

Procedure

Proceed as follows.

  1. Create a new namespace by using the following command.

     oc new-project <NAMESPACE>
    
  2. Create image pull secret to pull images from docker registry by using the following command.

     oc create secret docker-registry -n <NAMESPACE> <PULLSECRET-NAME> --docker-server=<REGISTRY> --docker-username=<USERNAME> --docker-password=<PASSWORD>
    

    Where,

    You can specify the NAMESPACE and PULLSECRET-NAME, but specify the values provided by Persistent System for REGISTRY, USERNAME and PASSWORD.

  3. Create DB secrets by using the following command.

     oc apply -f <DB-SECRET-YAML>
    

    For more information, see Refer Deploying PMF OpenShift Container Platform (OCP) package.

  4. Create console secrets by using the following command.

    mfpserver console secret

     oc create secret generic <SECRET-NAME> --from-literal=MFPF_ADMIN_USER=<USER> --from-literal=MFPF_ADMIN_PASSWORD=<PASSWORD>
    

    mfpappcenter console secret

     oc create secret generic <SECRET-NAME> --from-literal=MFPF_APPCNTR_ADMIN_USER=<> --from-literal=MFPF_APPCNTR_ADMIN_PASSWORD=<PASSWORD>
    

    mfpanalytics console secret

     oc create secret generic <SECRET-NAME> --from-literal=MFPF_ANALYTICS_ADMIN_USER=<> --from-literal=MFPF_ANALYTICS_ADMIN_PASSWORD=<PASSWORD>
    

    mfpanalytics_recvr secret

     oc create secret generic <SECRET-NAME> --from-literal=MFPF_ANALYTICS_RECVR_USER=<> --from-literal=MFPF_ANALYTICS_RECVR_PASSWORD=<PASSWORD>
    
  5. Create custom configMaps by using the following command.

    mfpanalytics custom configuration

    oc create configmap <CONFIGMAP-NAME> --from-file=<CONFIG-PROPERTIES-FILE>
    

    mfppush custom configuration

    
    oc create configmap <CONFIGMAP-NAME> --from-file=<FCM-V1-FIREBASE-JSON-FILE>
    

    For more information on config.properties, see Deploying PMF on existing container platform.

  6. Extract PMF-OpenShift-Pak-<version>. tar.gz package by using the following command.

    tar -xvzf PMF-Openshift-Pak-<VERSION>.tar.gz
    
  7. Update the following in the Elasticsearch deployment files located at the …/es/deploy folder.

    • service_account.yaml - provide created imagePullSecret.
    • role_binding.yaml - provide namespace name.
    • charts_v1_esoperator_cr.yaml- provide all necessary details.
  8. Update the following in the services/components deployment files located at the …/deploy folder.

    • service_account.yaml - provide created imagePullSecret.
    • role_binding.yaml - provide namespace name.
    • charts_v1_mfoperator_cr.yaml - provide all necessary details.

    For more information, see Custom Resource definitions.

  9. Check the existing MFP 8.0.0 components Db2 connection details in the configure-wasnd-cluster-db2.xml file at the /opt/IBM/MobileFirst_Platform_Server/MobileFirstServer/configuration-samples/ folder and note down database connection details for mfp components.

     <!- /opt/IBM/MobileFirst_Platform_Server/MobileFirstServer/configuration-samples/configure-wasnd-cluster-db2.xml   -->
     <property name="database.db2.host" value="****UPDATE**** - DB2 host name (example: proddb.example.com)"/> 
     <property name="database.db2.port" value="****UPDATE**** - DB2 port, by default 50000 (example: 50000)"/> 
     <property name="database.db2.instance" value="****UPDATE**** - DB2 database instance (example: DB2)"/> 
     <property name="database.db2.mfp.dbname" value="****UPDATE**** - Database name for MobileFirst Administration Services (example: MFPDATA)"/> 
     <property name="database.db2.mfp.schema" value="****UPDATE**** - Database schema for MobileFirst Administration Services (example: MFPDATA)"/> 
     <property name="database.db2.mfp.username" value="****UPDATE**** - DB2 user name (example: mfpuser)"/> 
     <property name="database.db2.mfp.password" value="************"/> 
    
  10. Deploy Elasticsearch by following commands.

    oc create -f crds/charts_v1_esoperator_crd.yaml
    oc create -f service_account.yaml
    oc create -f role.yaml
    oc create -f role_binding.yaml
    oc create -f scc.yaml
    oc create -f operator.yaml
    # Wait for operator pod to come up before applying CR yaml
    oc apply -f crds/charts_v1_esoperator_cr.yaml
    
  11. Deploy services/components (…/deploy/) directory by following commands.

    oc create -f crds/charts_v1_mfoperator_crd.yaml
    oc create -f service_account.yaml
    oc create -f role.yaml
    oc create -f role_binding.yaml
    oc create -f scc.yaml
    oc create -f operator.yaml
    # Wait for operator pod to come up before applying CR yaml
    oc apply -f crds/charts_v1_mfoperator_cr.yaml
    
  12. If Analytics component is used in the MFP 8.0 then restore the backup of analytics data in PMF 9.1. For more information, see Migrate analytics data from OnPrem MFP 8.0 to PMF Cloud 9.1 on Kubernetes.

  13. Verify that the consoles are up and running by using the following URLs.

    MFP console

    <<protocol>>://<<hostname>>/mfpconsole

    Appcenter console

    <<protocol>>://<<hostname>>/appcenterconsole

    Analytics console

    <<protocol>>://<<hostname>>/analytics/console

Last modified on