Upgrading from a non-container application to a container model

You can upgrade from a non-container IBM® Field Sales application to a container IBM Field Sales application.

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

To enable the upgrade mode, ensure that the old runtime folder is accessible within the base container. You can upgrade from a single-schema runtime to a containerized single-schema cpq-ifs-base container or a multi-schema runtime to a containerized multi-schema cpq-ifs-base container.
Note:
  • 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

To upgrade from a non-container application to a container application, complete the following steps:
  1. Access an old runtime from a container.
  2. Prepare an ifs-base container for upgrade.
  3. Complete either single-schema or multi-schema upgrade.
  4. Activate the multi-schema mode.
  5. Complete upgrade.
  6. Validate your upgrade.
  7. Complete post migration tasks.

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:

Access runtime

If you cannot view the contents of the destination directory, ensure that all permissions are granted to your previous runtime and its respective mounted directory on your container. You can change the file permissions of a directory and its sub-directories by using a recursive 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

Before you upgrade, ensure that your database properties are updated in the 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
For Oracle:
  • ORA_PASS
  • ORA_HOST
  • ORA_USER
For Db2:
  • DB2_PASS
  • DB2_HOST
  • DB2_USER
To activate the changes you make, run the following command.
./setupfiles.sh

Single-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.

To upgrade from a single-schema instance, complete the following steps:
  1. 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.
  2. 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

Note: It is assumed that the database in this instance is multi-schema. Therefore, the instructions provided in this section are related only to 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.

To upgrade from a multi-schema instance, complete the following steps:
  1. Set the following properties in the INSTALL_DIR_MS/sandbox.cfg file.
    • 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.
  2. 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.
  3. Run the following command:
    INSTALL_DIR_MS/bin/setupfiles.sh/.cmd
  4. 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

To activate the multi-schema mode, complete the following steps:
  1. 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.
  2. 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

After upgrading your single-schema or multi-schema runtime, you can validate whether the upgrade is successful by completing the following steps:
  1. Run DB verify from ifs-10 to ensure all your entity changes are captured and no alters are generated.
  2. 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.
  3. 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.
  4. Launch the Applications Manager. Go to Help > About, 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.