OnPrem MFP 8.0 (WASND with DB2) to PMF Cloud 9.1 on OpenShift migration
AUDIENCES
This document can be referred by customers who run their IBM MobileFirst Foundation 8.0 on WebSphere Liberty Network Deployment with DB2 and wants to migrate it Persistent Mobile Foundation (PMF) 9.1 on OpenShift
SCOPE
The document describes the steps that need to be performed to migrate IBM MobileFirst Foundation 8.0 running on WebSphere Liberty Network Deployment with DB2 to Persistent Mobile Foundation 9.1 on OpenShift
OUT OF SCOPE
- The document doesn’t cover OnPrem to OnPrem or Cloud to Cloud migration scenarios.
- The document doesn’t cover DB2 database migration
- The document doesn’t cover OpenShift cluster set up
- The document doesn’t cover any changes in mobile applications resulted due to changes in infrastructure
MIGRATION TYPE
The migration is a fresh install. Existing IBM MobileFirst Foundation 8.0 set up on WebSphere Liberty Network Deployment is not affected.
ASSUMPTIONS
- DB2 Database is not migrated. The same database is used for Persistent Mobile Foundation 9.1 as well
- Customers should set up a OpenShift cluster with right number of nodes having sufficient memory and vCPUs
- Recommended OpenShift cluster version for Persistent Mobile Foundation (PMF) 9.1 is 4.15.22
- Customers should use Persistent Systems provided deployment package for Persistent Mobile Foundation 9.1
- Customers need to take care of changes (host & port changes) in mobile client applications (Android, iOS) due to the changes in domain URL as per the new Persistent Mobile Foundation (PMF) 9.1 set up
- Customers need to ensure that their mobile client applications (Android, iOS) and IBM MobileFirst Foundation 8.0 adapters are Java 17 compatible
IMPORTANT NOTES
NOTE: Client application is required to be rebuilt and republished if MobileFirst Server host & port is changed. Hence to avoid such changes in client application, it is recommended that client applications use domain name instead of any fixed IP to connect to MobileFirst backend service and after the migration, point the domain name to the PMF backend service.
NOTE: If analytics component is used in MFP 8.0 then take backup of analytics data before starting the migration to PMF 9.1. To take backup of analytics data, Refer the link
MIGRATION STEPS
INFRA READINESS
- DB2 DATABASE SETUP (Existing database to be used)
- OCP CLUSTER 4.15 (A new cluster)
- PMF-OpenShift-Pak-
. tar.gz (Provided by Persistent Systems)
CREATE NEW NAMESPACE
oc new-project <NAMESPACE>
where
CREATE SECRETS
Create image pull secret to pull images from docker registry
oc create secret docker-registry -n <NAMESPACE> <PULLSECRET-NAME> --docker-server=<REGISTRY> --docker-username=<USERNAME> --docker-password=<PASSWORD>
NAMESPACE and PULLSECRET-NAME decided by customer and REGISTRY, USERNAME and PASSWORD provided by Persistent Systems.
Create DB secrets
oc apply -f <DB-SECRET-YAML>
Refer here for DB secret yaml.
Create console secrets
# 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
# 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>
Refer here for details on config.properties.
EXTRACT PACKAGE PROVIDED BY PERSISTENT SYSTEM
tar -xvzf PMF-Openshift-Pak-<VERSION>.tar.gz
ELASTIC SEARCH DEPLOYMENT FILES CHANGES
Go to the path …/es/deploy/ and edit deployment files
- service_account.yaml (Provide created imagePullSecret)
- role_binding.yaml (Provide namespace name)
- charts_v1_esoperator_cr.yaml (Provide all necessary details)
SERVICES/COMPONENTS DEPLOYMENT FILES CHANGES
Go to the path …/deploy/ and edit deployment files
- service_account.yaml (Provide created imagePullSecret)
- role_binding.yaml (Provide namespace name)
- charts_v1_mfoperator_cr.yaml (Provide all necessary details, Refer Custom Resource definitions for the details)
WASND DB2 CONNECTION DETAILS
Refer existing configure-wasnd-cluster-db2.xml for DB2 connection details. To find the existing MFP 8.0.0 components DB2 connection details, locate following file on your existing MFP 8.0.0 DMGR server, /opt/IBM/MobileFirst_Platform_Server/MobileFirstServer/configuration-samples/configure-wasnd-cluster-db2.xml 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="************"/>
MIGRATION
ELASTIC SEARCH DEPLOYMENT
Go to …/es/deploy/ directory and run below 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
SERVICES/COMPONENTS DEPLOYMENT
Go to …/deploy/ directory and run below 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
ELASTIC DATA MIGRATION
If analytics component is used in MFP 8.0 then restore the backup of analytics data in PMF 9.1 now. To restore the backup of analytics data, refer Refer the link
TESTING
CONSOLE VERIFY
After the deployment, verify console URL is up and running using-
MFP Console
- «protocol»://«hostname»/mfpconsole
Appcenter Console
- «protocol»://«hostname»/appcenterconsole
Analytics Console
- «protocol»://«hostname»/analytics/console