# Genesys Quality Management Suite 8.1.520 : Automatic Upgrade Using the script

The Genesys Quality Management Suite 8.1.510 has a command-line-based upgrade/migration script. The upgrade script runs in two modes: interactive mode requires user input. In non-interactive (batch) mode, relevant command-line parameters are provided when the script is executed. This allows unattended upgrade operations to be performed.

The current version of the upgrade script has the following limitations:

1. PostgreSQL only – The script only upgrades databases that run on PostgreSQL.
   If your database runs on Oracle, follows these steps:
   - Use the script to upgrade your GQM server.
   - Secondly, use manual upgrade described here to upgrade your database scheme.
2. Limited support for previous versions - from version 8.1.480 only.

Icon

To avoid connectivity-related interruptions, run commands related to the upgrade process in a screen. Learn how to use the screen command here.

## Preparation Steps

### Database Backup Process Principles

The upgrade script behaves differently in interactive mode towards database data backup. This depends on the type of installation upgraded. These cases of the current Call Recording/Genesys Quality Management Suite installation categorize backup behavior:

1. Single (standalone) server – Contains a local PostgreSQL embedded database and a local functional Call Recording Configuration Service.
   Behavior – Backs up and restores only the configured database if backup is requested. Other databases are not restored.
   Cluster server #1 – Contains the embedded database and configuration files, without the Configuration Service.
   Behavior – Enables the user to select one or more databases to be backed up and restored if backup is requested.
2. Cluster server #2 – Contains the Configuration Service without a local database.
   Behavior – No request for backup.
3. Cluster server #3 – Only contains the configuration files (for a dedicated recorder or decoder server).
   Behavior – No request for backup.

The next diagram represents this backup decision logic:

Icon

Ensure that your database is backed up.

During the upgrade, the server software modules (RPMs) are upgraded. These include the PostgreSQL server, if installed. If you don't back up databases either when the upgrade script runs or manually, you can't restore them after a server update.

### Obtain the upgrade script

On the Genesys Quality Management Suite installation DVD/ISO (from Genesys Quality Management Suite 8.1.480 upwards) the upgrade script is available as an executable script (in the /upgrade directory at the root of the DVD). It is only necessary to mount this DVD/ISO; the upgrade script runs directly, referencing the DVD for other resource files as necessary.

1. Mount the DVD or ISO image using this command (which may vary):

       mount /dev/cdrom /media/cdrom

2. Go to the upgrade directory and check its content:

       cd /media/cdrom/upgrade
       ls

   The system displays this:

       [root@docs-callrec1 ~]# ls /media/cdrom/upgrade
       RPMS  backup_exclude_file  backup_script.sh  configuration  database_updates  global_functions.sh  pre-upgrade-check.sh  upgrade_script.sh  upgrade_scripts

3. Copy the upgrade directory to the local drive. For example: /home/

       cp -pR /media/cdrom/upgrade /home/

### Exclude directories from automatic backup process

In the upgrade process, the script backs up all directories and subdirectories under /opt/callrec/ except the one in backup_exclude_file. By default, this file has the next content, which follows the rsync utility syntax (which you should keep):

- For installations that use custom file paths (paths other than the Call Recording ‘default’ paths, /opt/callrec/...) for audio and video files, modify the paths in backup_exclude_file (in the upgrade directory). This file contains all the paths for directories that should not be backed up during the upgrade. Otherwise, the script will try to back up those directories that can cause the backup directory to run out of free space.
  Below is the default content of the above file:

    - /data/calls/
    - /data/pcap/
    - /data/psql/

For other custom directories (for example, /opt/callrec/data/calls1 or /opt/callrec/data/video or /opt/callrec/data/pcap2) in the /opt/callrec directory, add them to backup_exclude_file.

Icon

Note that the upgrade script doesn't back up media files by default.

### Check the disk space for the backup directory

In the upgrade process, you will be asked to provide a path for the backup directory. Ensure that you have at least 2.3GB+ space for the database dump. The size of the dump depends on the amount of call records.

### Pre-upgrade check script

The upgrade folder has a script, pre-upgrade-check.sh, that performs basic checks on the factors that can cause the upgrade script to fail.

Use this command to execute the script:

    cd /home/upgrade
    ./pre-upgrade-check.sh

The script performs these checks:

1. Checks the version of Call Recording.

2. Checks if the server has at least 10GB for backups. If there is less space, this message appears:

       PROBLEM FOUND:  '/opt/callrec/data' on /dev/mapper/volgrp01-optlv has less then 10 GB!

3. Checks if the upgrade script is executed in the screen (It is best to run the script in a screen.)
4. Checks if PostgreSQL has any lost and found files and directories. If any are found, make sure that you have a database dump and clean the lost and found folder
5. Checks the sums of GQM .jar files. Errors in this section means that some of the .jar files were replaced manually – the server has a patch.
   Ensure that you keep all functionality, since the .jar files will be replaced by the default ones from the new version.
6. Provides suggested parameters for your PostgreSQL. For a big database, the dump and restore processes can take long. To shorten this period, use this output to tune your PostgreSQL parameters.

Next step:

- Interactive Mode
- Non-interactive mode