Migrating Persistent Volume Content from Prior Releases to Siebel CRM 21.4 or Later

This topic is part of Migrating Persistent Volume Content.

Note: If you are coming from a version earlier than Siebel CRM 21.2 to Siebel CRM 21.4 or later, then first read and act upon the information in Migrating Persistent Volume Content from Prior Releases to Siebel CRM 21.2 or Later.

Siebel CRM 21.4 and later releases provide a new version of Apache ZooKeeper, which is used for the Siebel Gateway registry. As result, there is a change to the persistent volume content for the container acting as the CGW node. For more information about ZooKeeper and Siebel Gateway, see also Siebel Installation Guide on the Siebel Bookshelf.

As of Siebel CRM 21.4, the ZooKeeper installation has been placed one level deeper in the directory structure, inside a new directory called registry. This registry directory contains a directory called conf, which holds all state-related content for the ZooKeeper instance, and a directory called zookeeper, which holds the ZooKeeper version for this update. In addition, one of the files previously holding registry configuration, called zoo1.cfg, is renamed to registry.cfg. This registry.cfg file holds the location of the conf directory, so your existing file must be altered to make this change. You must also add two new properties to the CFG file for this ZooKeeper version.

To make the necessary changes, create a script similar to the following, adjusting the directory locations as required for your deployment:

# specify location of CGW persistent volume
PVLocation=/var/lib/docker/volumes/PV/ENT/CGW
# specify current owner of files in CGW folder
CGWOwner=demoadmin
ConfLocation=${PVLocation}/gtwysrvr/registry/conf
# make new conf folder
mkdir -p ${ConfLocation}
# migrate content to new conf folder
cp -r ${PVLocation}/gtwysrvr/zookeeper/version-2 ${ConfLocation}
cp ${PVLocation}/gtwysrvr/zookeeper/myid ${ConfLocation}
cp ${PVLocation}/gtwysrvr/zookeeper/conf/log4j.properties ${ConfLocation}
cp ${PVLocation}/gtwysrvr/zookeeper/conf/zoo1.cfg ${ConfLocation}/registry.cfg
# make changes to registry.cfg
sed -i "s/dataDir=.*/dataDir=\/siebel\/mde\/gtwysrvr\/registry\/conf/" >> ${ConfLocation}/registry.cfg
echo "admin.enableServer=false" >> ${ConfLocation}/registry.cfg
echo "multiAddress.reachabilityCheckEnabled=false" >> ${ConfLocation}/registry.cfg
# make ownership changes
chown -R ${CGWOwner}:${CGWOwner} ${PVLocation}/gtwysrvr/registry

After copying this script to disk, make appropriate changes at the top of the script before execution, to specify the location on disk of your CGW instance's persistent volume and to specify the current owner of files in your CGW directory. You must run the script using a user with sufficient privileges to execute the commands, which create a directory, copy content, edit files, and finally change file ownership of all files touched by the operation.