QMetry and Reports Offline Installation on Windows - 2 Tier (with Docker)

In this guide, we'll run you through installing the QMetry Test Management application and QMetry Reports on your environment. 

2-Tier Offline Install 

Server 1

QMetry App and QMetry DB

Server 2

QMetry Reports

Pre-requisites

  1. Refer QMetry Deployment Document for the hardware requirements.

  2. Get the following files from QMetry Support: QMetryApp.zip, QMetryReport.zip & docker credentials required for installation.

  3. Post-installation QMetry Application and QMetry Report both should be configured either on https or http.

  4. If you are planning Jira integration with QMetry and Jira is running on https, make sure your QMetry is also running over https protocol. QMetry and Jira should run on the same protocol.

  5. The following Ports should be open:

Installation

Ports that need to be enabled and should be available for use

Installation

Ports that need to be enabled and should be available for use

QMetry Application

80/443 & 3306

QMetry Reporting Tool

80/443, 8080, 3306 & 33061

6. Download and install the Docker Desktop on Windows from the below link. Refer to this article for more information.

7. Make sure the docker is in a running state within the Docker Desktop tool. 

8. While performing the installation of QMetry, it will also ask for the storage location of the QMetry application’s file-related data. Hence, make sure that the directory has the required disk space available as per the usage requirement of the QMetry application.

Download and Restore Docker Images of QMetry and Report

Download Docker Images of QMetry and Report
Follow these steps on the Internet-enabled machine on which the docker images of QMetry and Report are to be downloaded.

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

  • docker login

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

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

  • docker pull qmetry/qmetry:latest

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

For example: docker save -o C:\QMetry\qmetryapp.tar qmetry/qmetry:latest

  • docker images

Step 3. Execute the following commands to download and save the QMetry Database docker image.

  • docker pull qmetry/qmetry:appdb8

  • docker save -o qmetrydb.tar qmetry/qmetry:appdb8

For example: docker save -o C:\QMetry\qmetrydb.tar qmetry/qmetry:appdb8

  • docker images

Step 4. Execute the following commands to download and save the report’s docker image.

  • docker pull qmetry/qmetry:reports_latest

  • docker save -o qmetryreport.tar qmetry/qmetry:reports_latest

For example: docker save -o C:\QMetry\qmetryreport.tar qmetry/qmetry:reports_latest

  • docker images

Step 5. Execute the following commands to download and save the Report Database docker image.

  • docker pull qmetry/qmetry:reportdb8

  • docker save -o qmetryreportdb.tar qmetry/qmetry:reportdb8

For example: docker save -o C:\QMetry\qmetryreportdb.tar qmetry/qmetry:reportdb8

  • docker images

Step 6. Transfer the qmetryapp.tar and qmetrydb.tar files to the QMetry application server and qmetryreport.tar and qmetryreportdb.tar files to the Report server.

 

Restore Docker Images of QMetry and Report

Step 1. Navigate to the directory where the qmetryapp.tar file is placed. Then execute the following command to restore the QMetry application’s docker image.

  • docker load -i qmetryapp.tar

For example: docker load -i C:\QMetry\qmetryapp.tar

Step 2. Navigate to the directory where the qmetrydb.tar file is placed. Then execute the following command to restore the QMetry Database docker image.

  • docker load -i qmetrydb.tar

For example: docker load -i C:\QMetry\qmetrydb.tar

Step 3. Execute the following command to check whether the container images have been restored correctly or not.

  • docker images

Step 4. Navigate to the directory where the qmetryreport.tar file is placed. Then execute the following command to restore the Report’s docker image.

  • docker load -i qmetryreport.tar

For example: docker load -i C:\QMetry\qmetryreport.tar

Step 5. Navigate to the directory where the qmetryreportdb.tar file is placed. Then execute the following command to restore the Report Database docker image.

  • docker load -i qmetryreportdb.tar

For example: docker load -i C:\QMetry\qmetryreportdb.tar

Step 6. Execute the following command to check whether the container images have been restored correctly or not.

  • docker images

Install QMetry Application

Follow the steps mentioned below.

Step 1. Copy the QMetryApp.zip installation file received from QMetry Support to your server. Navigate to the directory where this file is saved. Open a command prompt on that path with administrator privileges. Administrator rights are required to install the application.

Step 2. Execute the following command including the dot (‘.’) at the end of the command.

  • powershell Expand-Archive 'QMetryApp.zip' -DestinationPath .

Step 3. Execute the following command to start the installation of the QMetry Web Server. 

  • cd QMetryApp 

  • qmetry.bat 

The next question during the installation process will be as follows.

Options

Allowed Values

Default Value

Recommended Value

Options

Allowed Values

Default Value

Recommended Value

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

Y, y, N, n

Y

N

Step 4. Next, the installation process will prompt for directory path on the host machine to store QMetry application’s file related data like attachments, license, import, export files etc. You can enter any path of the host machine to store QMetry application’s file related data. If the mentioned directory does not exist on the given path, it will get created automatically during the installation process.

Options

Comments/Example

Options

Comments/Example

Please enter QMetry application directory

C:\qmetryapp

Note: It is highly recommended to take periodic backup of the directory which is specified as a location to store QMetry application’s file related data to prevent any data loss in case of any disaster.

Step 5. Once the script finishes executing, it will prompt you to enter the following parameters:

Options

Details

Default Value

Example

Options

Details

Default Value

Example

Enter QMetry database schema

QMetry Application Database schema name.

qmetry

qmetry

Enter QMetry database user (root)

Enter QMetry Application Database user name.

root

root

Enter QMetry database password for the user mentioned above 

Enter QMetry Application Database Password for the mentioned above user.

-

QMetry@123

Enter Email for QMetry admin user

Enter QMetry user email address for Admin.

-

admin@qmetry.com

Enter password for QMetry admin user

Enter QMetry user password for Admin.

-

Admin@123

Enter Min. Heap Memory for web server in GB

Enter Heap Memory in GB(s)

2

2

Enter Max. Heap Memory for web server in GB

Enter Heap Memory in GB(s)

4

4

Enter QMetry Database Connection Pool Size

Enter Pool Size in number format

100

100

  • The installation may take a while. The script will check for the availability of .NET Framework 3.5. In the absence of which it will prompt you to download the same.

  • It will ask for confirmation to install the qmetry-app.exe. Click Yes to proceed.

Once the installation is complete, execute the following command.

  • docker ps

The docker containers installed will be shown along with their container IDs and names.

Step 6. Getting your QMetry License and Installing it.

  1. For users evaluating QMetry

    • You should have received an evaluation license valid for 30 days along with the installation.

  2. For users requiring a commercial license

    • Server's domain name and mac address are required to generate your QMetry License. Follow the below steps to get your server mac address and send this information along with the domain name to QMetry Support to get your QMetry License generated. Send an email to qtmprofessional@qmetrysupport.atlassian.net to reach QMetry Support.

      • Execute the below command to get your server's mac address. Then send the MAC address to QMetry Support to receive the license file.

        • getmac

You may get more than one mac address. Share any one of them with QMetry Support.

Step 7. Access QMetry application using the following address.

http://<your IP Address OR Domain Name>

Default QMetry login credentials.

  • Username: admin

  • Password:<user specified password in Step#5>

Note : With installation, MySQL 8.0.33 will be installed on port 3306. Below are the details

  • Username : root

  • Password : <user specified password in Step#5>

  • Schema : <user specified Schema in Step#5>

Note: This installation installs QMetry over Apache Tomcat 9.x, MySQL 8.0.33 and Open JDK 17.0.2 in a docker container.

Step 8. After the above steps are completed, log into the QMetry application.

  • Go to "Admin" Profile and Edit the Profile.

  • Update Email of Admin in the Email field.

  • Enter the Base URL as your QMetry URL.

Step 9. Additional Tomcat Configuration: QMetry is installed with a default configuration of minimum and maximum heap memory utilization. You can modify these settings depending on your hardware configuration. Refer to Additional Configuration for more details.

Install QMetry Report

Follow the steps mentioned below.

Step 1. Navigate to the directory where the QMetryReport.zip file is saved and go to a command prompt on that path. 

Step 2. Execute the following command including the dot (‘.’) at the end of the command.

  • powershell Expand-Archive 'QMetryReport.zip' -DestinationPath . 

  • cd QMetryReport 

Step 3. Execute the following command to start the installation of the QMetry Report Server. 

  • qmetry.bat 

The next question during the installation process will be as follows.

Options

Allowed Values

Default Value

Recommended Value

Options

Allowed Values

Default Value

Recommended Value

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

Y, y, N, n

Y

N

Step 4. Once the script finishes, it will prompt you to enter the following parameters:

Options

Details

Default Value

Example

Options

Details

Default Value

Example

Enter Report Database Password (root user)

Enter password for QMetry Reports Database.

-

QMetryreports@!Nf0#

Enter Report Database Schema

Enter Database schema name for QMetry Reports Database.

qtmanalytics

qtmanalytics

Enter Number of CPU's to allocate

Allocate 3/4th of the available CPUs. For example, if CPU has 8 cores, enter 6

the number of CPUs can be checked from Task Manager > Performance tab > Number of cores. This would be the number of CPUs.

4

6

Enter Memory to allocate in GB(s)

Entered memory would be used by the sync job while running full sync of data. Enter 3/4th of total memory available on the server. For example, if the memory on the server is 24 GB, enter 18

4

18

Once the script finishes executing, it will prompt you to enter the following parameters.

Options

Details

Example

Options

Details

Example

Enter Mysql Database Host IP / DNS Name (Qmetry)

Enter Database Host Public IP/DNS of QMetry application.

10.10.11.100

Enter Mysql Database Port (Qmetry)

Enter Database Port of QMetry application. If it is unchanged, use "3306" as Database port.

3306

Enter Mysql Database Schema (Qmetry)

Enter Database schema name of QMetry application.

qmetry

Enter Mysql Database Username (Qmetry)

Enter Database username of QMetry application. If it is unchanged, use "root" as username.

root

Enter Mysql Database Password (Qmetry)

Enter Database password of QMetry application.

QMetry@123

Enter Mysql Database Host IP / DNS Name (Reports)

In case of reports DB not being hosted on this report server, enter the Public IP/DNS of QMetry Report DB server

10.10.11.101

Enter Mysql Database Port (Reports)

Enter Database Port of QMetry Report Database. If it is unchanged, enter "33061" as Database Port.

33061

Enter Mysql Database Schema (Reports)

Enter Database schema name of QMetry Reports Database. 

qtmanalytics

Enter Mysql Database Username (Reports)

Enter Database username of QMetry Reports Database. If it is unchanged, use "root" as username.

root

Enter Mysql Database Password (Reports)

Enter Database password of QMetry Reports Database.

QMetryreports@!Nf0#

Enter Port To Start SyncJob (Reports)

Reports Sync Job runs from this port - 8080

8080

Do you want to Run Force Sync Now? (y/n)

Enter to sync all the QMetry data to Reports Database with the current script.

→ Always enter y at the time of fresh reports install

y

Enter Memory to allocate in GB(s) to Spark

Entered memory would be used by the sync job while running full sync of data. Enter 3/4th of total memory available on the server. For example, if the memory on the server is 24 GB, enter 18

18

Note: In cases when you need to force sync to re-sync any missing data, just repeat step 3, and skip all parameter details (by hitting enter) and just enter when prompted for a force sync.

Wait for the script to finish executing.

Wait for about 2 minutes - docker ps command should give the output as follows:

Step 5. Login to QMetry with 'admin' user login, and configure the reports server URL in the configuration menu.

Go to QMetry > Customization > Insight Configuration

  • Under Database Configuration tab

    • Enter Host: Reports Server Host Public IP/DNS

    • Enter Port: 33061

    • Enter Username: root

    • Enter Password: <user specified password in Step#4>

    • Enter Database Name : <user specified password in Step#4>

Click Test to ensure successful connection and then hit "Test & Save".

  • Under Sync Data tab, setup the Report Data Sync from your reports server to QMetry Reporting. 

    • Report Server URL: This should be set to your report server domain URL followed by port 8080 as shown below. Ensure port 8080 is open on the reports server.

    • Click on Test to ensure successful connection and then hit "Test & Save".

    • Hit "Sync Data" to start Reports Data Sync.

Note : "Sync Data" is required the first time after reports installation. Time taken to sync depends on the amount of data in QMetry. Sync Progress and Status can be monitored as shown in the below screenshot. QMetry custom reports remain inaccessible during sync and It is recommended to be run only during off-peak hours.

Users can start using QMetry Reports when the sync is completed. QMetry remains available during this time.