# Genesys Quality Management Suite 8.1.520 : Manual Upgrade

Perform this upgrade without an upgrade script. This process is only suitable for a minor or major upgrade that doesn't change the OS version.

This process is suitable for customized solutions. For a big upgrade that changes the OS version, use the official script.

The advantage of the manual method is that the configuration remains since you don't run callrec-setup again.

The process has the following parts:

##

## Pre-Upgrade Tasks

### ISO File

An upgrade from Genesys Quality Management Suite 4.9.0 to 4.9.6 is used here as an example.

1. Login as an admin to a server through ssh. For example, through putty. Enter su - to login as the root user. Enter the password (the default is zoomcallrec).
2. Store or connect the ISO to the latest Genesys Quality Management Suite version. Connect to the server.

3. Mount the ISO file:

       mount -o loop /home/admin/zqm-4.9.6-2.iso /media/cdrom/

4. Stop Call Recording services:

       service callrec stop

### Backup Your Data

1. Create a backup folder:

       mkdir -p /opt/callrec/data/backup

2. Back up the current configuration:

       tar cvzf /opt/callrec/data/backup/config.tgz /etc /opt/callrec/etc /opt/callrec/data/psql/*.conf /opt/callrec/bin/scripts/ /opt/callrec/web/conf

3. Create a database dump:

       pg_dump -U postgres callrec -f /opt/callrec/data/backup/callrec.dump.sql

   Check the head and tail of the file to ensure that the dump is created properly:

       head /opt/callrec/data/backup/callrec.dump.sql
       tail /opt/callrec/data/backup/callrec.dump.sql

### Check the Repository Files

1. Check the folder /etc/yum.repos.d/

       ls /etc/yum.repos.d/

2. You should have the file callrec.repo. If you have other files, delete them. For example:

       rm /etc/yum.repos.d/CentOS-Media.repo
       rm /etc/yum.repos.d/CentOS-Base.repo

## Upgrade

### Upgrade the System and Call Recording Packages

1. Clean the cache repository callrec.repo:

       yum clean all
       yum makecache

2. Upgrade the system packages:

       yum update

3. We have removed the callrec-database package from 4.9.5, 5.0.3, and 5.1.1 and introduced a new package, callrec-dbpostgres. These are not covered by 'yum update'. After the 'yum update', you should remove the callrec-database and add the callrec-dbpostgres manually:

       yum remove callrec-database
       yum install callrec-dbpostgres

4. During the RPM upgrade, some XML output files change. Write down these files.

### Upgrade the Database Version

#### PostgreSQL:

1. Check the database version:

       psql -U postgres callrec -c "SELECT * FROM get_version();"

2. We use the Flyway tool to update database versions for 4.9.5, 5.0.3, and 5.1.1. Upgrade your database to the version where Flyway is introduced. The example below shows an upgrade from Call Recording 4.9.0 to 4.9.5:

       psql -U postgres callrec -f /media/cdrom/database/updates/4.9/0to1.sql
       psql -U postgres callrec -f /media/cdrom/database/updates/4.9/1to2.sql
       psql -U postgres callrec -f /media/cdrom/database/updates/4.9/2to3.sql
       psql -U postgres callrec -f /media/cdrom/database/updates/4.9/3to4.sql
       psql -U postgres callrec -f /media/cdrom/database/updates/4.9/4to5.sql

   Check errors and warnings that pop up to ensure that they are not fatal.

3. Recheck the database version to ensure that you have your target version. In the example, this is 4.9.5:

       psql -U postgres callrec -c "SELECT * FROM get_version();"

   The output looks like this:

        get_version
       -------------
        4.9.5
       (1 row)

4. Use the mkdb.sh script to execute Flyway:

       /opt/callrec/dbscripts/postgres/mkdb.sh -U <suser> -d <database> -h <host> -u <user> -X U

   Where:

   1. <suser> - is a superuser of your PostgreSQL. Usually: postres

   2. <database> - name of the database you're going to upgrade. Usually: callrec

   3. <host> - ip address of the server where your PostgreSQL is running.
   4. <user> - database user. Usually: callrec

   For example:

       /opt/callrec/dbscripts/postgres/mkdb.sh -U postgres -d callrec -h 192.168.100.10 -u callrec -X U

#### Oracle

1. Check the database version:

       echo "select get_version from dual;" | sqlplus callrec/callrec@192.168.100.10/zoomdb

2. We use Flyway to update database versions for 4.9.5, 5.0.3, and 5.1.1. Upgrade your database to the version where Flyway is introduced. The example shows an upgrade from Call Recording 4.9.0 to 4.9.5:

       cd /opt/callrec/dbscripts/oracle/update/4.9/
       sqlplus cr_user/cr_password@callrec @0to1.sql
       sqlplus cr_user/cr_password@callrec @1to2.sql
       sqlplus cr_user/cr_password@callrec @2to3.sql
       sqlplus cr_user/cc_password@callrec @3to4.sql
       sqlplus cr_user/cr_password@callrec @4to5.sql

   Upgrade Quality Manager separately:

       cd /opt/callrec/dbscripts/oracle/update/4.9/
       sqlplus sc_user/sc_password@callrec @0to1_sc.sql
       sqlplus sc_user/sc_password@callrec @1to2_sc.sql
       sqlplus sc_user/sc_password@callrec @2to3_sc.sql
       sqlplus sc_user/sc_password@callrec @3to4_sc.sql
       sqlplus sc_user/sc_password@callrec @4to5_sc.sql

3. Check the database version again to ensure that you have your target version. In the example, this is 4.9.5:

       echo "select get_version from dual;" | sqlplus callrec/callrec@192.168.100.10/zoomdb

4. Use the update_to_latest_by_flyway.sh script to execute Flyway:

       ./update_to_latest_by_flyway.sh system password 192.168.100.10 zoomdb callrec_doc callrec scorecard_doc wbsc

### Restore Configuration

1. Go to the backup folder:

       cd /opt/callrec/data/backup

   Extract the backup files:

       tar xzf config.tgz

   Rename a folder with llrec/etc with new config files:

       mv /opt/callrec/etc /opt/callrec/etc_defaults

2. 1. Copy the folder /opt/callrec/etc from the backup to replace the /opt/callrec/etc folder.

   2. Ensure that all the XML files have the correct owner. This is should be callrec.callrec for /opt/opt/callrec/etc/*.

   3. Compare the XML files in the folder /opt/callrec/etc (old configuration files) and /opt/callrec/etc_defaults (new configuration files). For the XML file changes written in the upgrade process, add or remove parameters.

   4. Check the changes in the folder /opt/callrec/web. If necessary, revert back to the /opt/callrec/web folder from the backup. For example, when you configure HTTPS.

   5. Check if /etc/cron.d/callrec still has the same settings. Check if the scripts that run on cron are still in a the folder /opt/callrec/bin scripts.

3. Once you've set the previous configuration, start the Call Recording service:

       service callrec start

   For major upgrades, upload a new license to the server.

## Post-Upgrade tasks

Refer to Post Upgrade Tasks