QMetry Offline Upgrade Document for Linux (v8.16.0.1)

Note: If you are upgrading to QTM v8.16.0.1, you need to update the Single Sign On (SSO) login URL. Go to https://qmetrysupport.atlassian.net/wiki/spaces/QTMSv816/pages/3571024060 and refer to the corresponding Identity Provider page to know the URL changes.

Download Docker Images of QMetry

Pre-requisite

  • Upgrade files need to be prepared on any machine having internet connectivity and docker installed. The prepared upgrade files are then moved to the server along with QMetryApp.zip. Docker installation is required before executing the following docker commands on the machine.

Follow these steps on the Internet-enabled machine on which the docker images of QMetry are to be downloaded.

Step 1. Execute the following command. Next, it will ask for docker's credentials. Enter the required credentials. Please contact QMetry Support, if you do not have the credentials.

  • docker login

       After entering docker credentials, it will show the success message as shown below. 

Step 2. Execute the following commands to pull QMetry application's docker image from the docker repository.

  • docker pull qmetry/qmetry:latest

       The download process is started. Wait till the time it gets finished.

      After the process gets finished, it will display the message as shown below.

Execute the following command to verify that docker image has been downloaded.

  • docker images            

Step 3. Execute the following command to save QMetry application's docker image as .tar file. You can change the path of .tar file in the following command.

  • docker save -o /opt/qtm/qmetryapp.tar qmetry/qmetry:latest

Step 4. Execute the following commands to download and save alpine's docker image.

  • docker pull alpine:latest

  • docker save -o /opt/qtm/alpine.tar alpine:latest

  • docker images

Step 5. Transfer the qmetryapp.tar and alpine.tar file to the QMetry application server.

Steps to upgrade QMetry to latest version

Pre-requisites

Important Pre-requisites to check before upgrade to latest version.

Special Notes

You need to update all the packages of host OS on which the docker container has been installed. After upgrading QMetry to v8.10.3 & above, it is recommended to perform the following steps to upgrade the packages on host OS.

1. Stop docker service. Command may be Linux OS dependent, but it can be like

  • service docker stop

or

  • systemctl stop docker

2. Update all the package of host OS. Command may be Linux OS dependent, but it can be like

  • sudo yum update -y

or

  • sudo apt-get update -y

3. Step-2 will upgrade version of docker to the latest available version.

4. Start docker service. Command may be Linux OS dependent, but it can be like

  • service docker start

or

  • systemctl start docker

Follow the steps mentioned below to upgrade your existing QMetry installation:

Step 1 : IMPORTANT : Backup your existing QMetry Database

Take the backup of your existing “qmetry” database. You can replace the username, password, location of the backup file (currently default /opt).

  • Syntax : docker exec qmetry_rds_1 sh -c 'exec mysqldump -uroot -p<password> --triggers --routines --hex-blob --single-transaction --lock-tables --no-create-db qmetry' > /opt/qmetry_backup_<date>.sql

  • For example: docker exec qmetry_rds_1 sh -c 'exec mysqldump -uroot -pqmetry --triggers --routines --hex-blob --single-transaction --lock-tables --no-create-db qmetry' > /opt/qmetry_backup_2021-01-01.sql

Verify that your database has been backed up properly and is available for later use in case of any emergency.

Step 2 : Download Required Files

  • You can generate a request on the QMetry Support Portal, to get the latest version of QMetry Upgrade Installer.

  • Download the QMetryApp.zip to your QMetry Application Server on host machine once you receive it.

Step 3 : Run the QMetry Upgrade

1. Check the running containers using the following command. The dockers must be running to ensure a successful upgrade.

  • docker ps

  • If the dockers are not running, start them using the below commands (replace container names according to the application container name seen in the command above)

    • docker start qmetry_rds_1

    • docker start qmetry_app_1

2. Go to the directory where the QMetryApp.zip file is downloaded.

3. Unzip the file QMetryApp.zip on the host machine. 

  • unzip QMetryApp.zip

4. Go to QMetry directory:

  • cd QMetryApp

5. Give permission to qmetry.sh and upgrade_qmetry_containers.sh file through the following commands.

  • chmod +x upgrade_81601.sh

6. Execute the commands as per the existing QMetry version.


Note: If the existing QMetry version is below 8.9.0.3, then make sure to validate the name of an existing container and license volume in upgrade_81601.sh file before running it.

Steps to validate name of an existing container and license volume:

  • Check docker volumes name using the below command.

    • docker volume ls

  • Docker volume name should be qmetryapp_license.

  • Check docker container name using the below command.

    • docker ps

  • Docker container name should be qmetry_app_1. 

  • If any of this name is not same as above, then update upgrade_81601.sh file for the changed value with the respective names using the following steps.

    Open the file – upgrade_81601.sh in edit mode.

    • vi upgrade_81601.sh

      Update the file for changed value with the respective names of volume and container.

      • Press i to change the file mode to insert.

      • Update the variable value according to the existing docker volume and docker container name.

        • exist_license_volume → Value from docker volume ls for license 

        • exist_qmetry_container → Value from docker ps for qmetry

      • Press Esc, and then type :wq to save the changes.

 

7. Run the following command to continue with the upgrade.

  • sh upgrade_81601.sh

8. Utility will confirm if you want to upgrade.

Options

Allowed Values

Default Value

Description

Options

Allowed Values

Default Value

Description

Do you want to make an online installation (Y/N)?

Y,y,N,n

N

Enter “N to begin the offline upgrade.

Please enter directory path of .tar file for docker image 

-

-

For offline upgrade, mention the directory path of .tar file for docker image.

e.g., /opt/qtm 

Wait for the process to complete.

Step 4: Restart QMetry and MySQL Docker Container

  • Check the running containers using the following command:

    • docker ps

  • Restart both docker containers using the below commands: 

    • docker stop qmetry_app_1 qmetryapp_db

    • docker start qmetryapp_db

    • docker start qmetry_app_1

Step 5: Installing / Upgrading Jira add-on for the Integration of QMetry and Jira.

Note: It is important to have the correct version of the Jira add-on installed in Jira based on your upgraded and current QMetry version. Refer to the below table for the right version of  "QMetry Jira Integration".

QMetry Version

Jira-addon version required

QMetry Version

Jira-addon version required

8.15.0 & above

2.2.6

8.14.0.3

2.2.5

8.13.0

2.2.4

Upgrade your Jira add-on as per the above compatibility matrix. In case you have not installed the QMetry Jira Integration app for integration, follow the Steps to Install and Configure the QMetry Jira Integration app, if it is not installed.

Important Note

  • If you are upgrading from QMetry version 8.8.0 or lower, then Jira force sync is required. Follow the Jira Force Sync document.

Changes Regarding SSL (https)

In a case, you have configured SSL (https) in tomcat within the container then you need to setup SSL (https) again in new docker container after upgradation to the latest QMetry version. Refer to the article SSL Certificate Configuration for Tomcat in Docker.

 

If you are facing any issues during the upgrade process, kindly generate a support ticket on Support Portal for assistance.

 

Note: If you are upgrading the QTM app to version 8.16.0.1, it is essential to update the Automation API to the latest version. Refer to https://qmetrysupport.atlassian.net/wiki/spaces/QTMSv816/pages/3541044569.