Upgrading from a non-container application to a container model
IBM Field Sales supports the deployment of containers such as cpq-ifs-base, cpq-ifs-app, and cpq-ifs-agent. However, for migration purposes, only the cpq-ifs-base container is considered.
Enable upgrade mode
- You can migrate to a single-schema application from another single-schema application. Similarly, you can migrate to a multi-schema application from another multi-schema application. You cannot migrate from a single-schema to a multi-schema application, or vice versa.
- Migration is supported between the same database types. You cannot migrate from an Oracle database to a Db2 database, or vice versa.
Before you begin
Ensure that a container is created with a mounted directory on the host machine so that during migration the container runtime can access the old runtime.
Upgrading from a non-container application to a container application
Access an old runtime from a container
When you upgrade from a previous version (9.4 or 9.5) of IBM Field Sales to a containerized version, ensure that the old runtime is available from the cpq-ifs-base container by mounting the path
of the old runtime to a destination directory that is located in the container. For example, 9.5
runtime exists on a host-machine. You are now deploying the cpq-ifs-base container from the host-machine that also
contains your new 10.0 runtime, ifs-10. In this scenario, the default destination of ifs-10 on cpq-ifs-base is /opt/ssfs/runtime and the
suggested destination on cpq-ifs-base for mounting 9.5 runtime from the host-machine is
/opt/ssfs/shared. In this scenario, the mounted directory is referred to as ifs-95.
The following diagram elucidates this scenario:
chmod command as follows:- To grant full permission to ifs-host, from host machine, run the following
command:
chmod -R 777 /opt/IBM/Sterling95 - To grant full permission to ifs-95, from cpq-ifs-base, run the following command:
chmod -R 777 /opt/ssfs/shared
To avoid any network drops, it is recommended that you keep your old runtime on the host machine where you are performing the upgrade, not a Network File System (NFS). If you have successfully mounted the ifs-95 (/opt/ssfs/shared) directory, the contents in this directory match with the contents present in ifs-host (/opt/IBM/Sterling95).
Prepare ifs-10 for upgrade
sandbox.cfgfile of ifs-10 upgrade environment by specifying the database properties during
installation, after installation, or during container creation. In the example provided for creating
cpq-ifs-base, the
sandbox.cfg file is created without specifying the necessary database properties.
Therefore, you must add the necessary database properties such that ifs-10 can connect to the database. Confirm the values of the
following database properties in /opt/ssfs/runtime/properties/sandbox.cfg:- DB_PASS
- DB_USER
- DB_SCHEMA_OWNER
- DB_DATA
- DB_PORT
- YANTRA_DB_PASS
- YANTRA_DB_USER
- ORA_PASS
- ORA_HOST
- ORA_USER
- DB2_PASS
- DB2_HOST
- DB2_USER
./setupfiles.shSingle-schema upgrade
By default, ifs-10 is located in the cpq-ifs-base container is single-schema enabled. If ifs-host (ifs-95) is a single schema runtime, you need not set any additional properties. This means that both ifs-10 and ifs-95 are prepared for single-schema upgrade.
- If your IBM Field Sales (INSTALL_DIR_SS) instance is present in a Docker container, you might not be able to access your old runtime files (INSTALL_DIR_SS_OLD). To access your old runtime files, mount the INSTALL_DIR_SS_OLD to the Docker container where INSTALL_DIR_SS is located. When you mount the old runtime to the runtime of a new container, create a destination folder for your old runtime and grant full permissions to the destination folder.
- Run the following Docker command to mount INSTALL_DIR_SS_OLD to the newly created
folder:
docker run -ti --privileged -e LICENSE=accept -v <path_of_the_old_runtime>:<path_of_the old_runtime_inside_the_container> <cpq-ifs-base>Browse to the destination folder and verify the contents of INSTALL_DIR_SS_OLD.Note: If you cannot access the destination folder, ensure that full permissions are granted.
Multi-schema upgrade
When performing a multi-schema upgrade, create a multi-schema upgrade mode environment. Before you begin to perform a multi-schema upgrade, activate the multi-schema upgrade mode as upgrade is set to single-schema by default. If ifs-host (ifs-95) is a multi-schema runtime, make ifs-10 also a multi-schema runtime.
- Set the following properties in the
INSTALL_DIR_MS/sandbox.cfgfile.- multischema.enabled=true
- multischema.version=10.0
- multischema.file= <set the value to a valid 10.0 version colony.xml>. For more information,
see Sample
silent addColony.xml file.Note: During installation, if you create colonies, you need not set the value for
multischema.file.
- If your IBM Field Sales (INSTALL_DIR_MS) instance is present in a Docker container, you might not be able to access your old runtime files (INSTALL_DIR_MS_OLD). To access your old runtime files, mount the INSTALL_DIR_MS_OLD to the Docker container where INSTALL_DIR_MS is located. When you mount the old runtime to the runtime of a new container, create a destination folder for your old runtime and grant full permissions to the destination folder.
- Run the following
command:
INSTALL_DIR_MS/bin/setupfiles.sh/.cmd - Run the following Docker command to mount INSTALL_DIR_MS_OLD to the newly created
folder:
docker run -ti --privileged -e LICENSE=accept -v <path_of_the_old_multischema_runtime>:<path_of_the old_runtime_inside_the_container>Browse to the destination folder and verify the contents of INSTALL_DIR_MS_OLD.Note: If you cannot access the destination folder, ensure that full permissions are granted.
Activate the multi-schema mode
- Configure the following properties:
- multischema.enabled=true
- multischema.version=<containerized version>
- multischema.file= <set the value to a valid containerized version (10.0) colony.xml>. For more information about the colony.xml file, see Sample silent addColony.xml file.
- Activate the changes by running the following
command:
./setupfiles.sh
Complete upgrade
Now that ifs-10 is prepared for migration, you can start the upgrade process. For detailed instructions on how to perform the upgrade, see Upgrading to Release 10.0.
Validate your upgrade
- Run DB verify from ifs-10 to ensure all your entity changes are captured and no alters are generated.
- Generate the application (cpq-ifs-app) and agent (cpq-ifs-agent) containers. For more information about generating the application and agent containers, see Generating custom images.
- Deploy cpq-ifs-app and cpq-ifs-agent in your OpenShift® Container Platform. For more information about deploying the containers, see Deploying IBM Field Sales on OpenShift Container Platform.
- Launch the Applications Manager. Go to , and verify the version. Validate that the customizations you applied are enabled.
Complete post migration tasks
After a successful migration, your upgraded IBM Field Sales containerized application is located in cpq-ifs-base, and your containerized application is deployed on the OpenShift Container Platform that contains all your extensions and customizations. For more information about the post migration configuration tasks, see Post migration tasks.