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.
-
Create a new namespace by using the following command.
oc new-project <NAMESPACE>
-
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
andPULLSECRET-NAME
, but specify the values provided by Persistent System forREGISTRY
,USERNAME
andPASSWORD
. -
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.
-
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>
-
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. -
Extract
PMF-OpenShift-Pak-<version>. tar.gz
package by using the following command.tar -xvzf PMF-Openshift-Pak-<VERSION>.tar.gz
-
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.
-
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.
-
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="************"/>
-
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
-
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
-
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.
-
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