Menu

Manager 9.6.1 OnPremise Load Balancing Installation Guide for Docker

Overview

To request assistance with upgrading or to obtain the links to self-upgrade, please click here to fill out the Upgrade Request Form.

In this guide, we'll run you through installing qTest Manager 9.6.1 using Docker on separate CentOS/Ubuntu machines with a Load Balancer.

This article only demonstrates how to deploy load balancer for qTest Manager.

  • Read this article to deploy qTest Sessions with load balancing.

Before you Begin

What is included in the Docker-Deployment-4.8 package?

The qTest Docker-Deployment-4.8 includes the following applications. Among those, qTest Manager is the required application, simply specify more application you want to deploy (eligible application is up to your license.)

  • qTest Manager 9.6.1 includes qtest and its prerequisite applications: postgres, qtestlb
  • qTest Session 4.2.4 includes session and its prerequisite applications: postgres, qtestlb
  • qTest Parameters 2.2.3 includes parameters and its prerequisite applications: postgres, parameterslb
  • qTest Insights 1.21.5 includes insights and its prerequisite applications: postgres, insightslb, insightsetl
  • qTest Launch 1.4.6 includes launch and its prerequisite applications: postgres, launchlb
  • qTest Pulse 9.2 includes pulse and its prerequisite applications: postgres, pulselb
  • qTest Scenario 3.0 includes pulse and its prerequisite applications: scenariolb

Install qTest Manager with Load Balancer

The sample image below tries to demonstrate how to configure qTest Manager with a load balancer for 4 machines:

  • Machine 1: considered as a cluster, deploy qTest Manager's prerequisite app: postgres, elasticsearch, and the shared network drive to store attachments
  • Machine 2: deploy qTest Manager 9.6.1 (qtest)
  • Machine 3: deploy qTest Manager 9.6.1 (qtest)
  • Machine 4: deploy qTest Manager's load balancer (qtestlb)

NOTE: Every machine in the cluster requires the following ports to be open: 53 and 6783

Load_Balanced.png

Deployment Instructions

Access each of the 4 machines where Docker has been installed using root, or a user which has been added to the Docker user group:

  • Repeat the steps below in all 4 machines.
  • Then configure each machine in sequence (Machine 1, 2, 3, 4)

NOTE:

  • Pre-requisite applications of qTest Manager should be deployed in a separate machine rather than in the same machine with qTest Manager (qtest.)
  • The load balancer application (qtestlb) should be deployed after all other apps get deployed.

Download Docker-Deployment-4.8 Package

$ wget <ENTER DOWNLOAD LINK HERE>

Extract the Package

$ tar -zxf docker-deployment-4.8.tar.gz

Access the Package Directory

 $ cd docker-deployment-4.8

 

Machine 1 (the cluster)

Deploy postgres and elasticsearch into Machine 1

  • Specify prerequisite apps: postgres, elasticsearch
    $ ./configure --apps "postgres elasticsearch"

Modify the Config File

Modify the configure file to ensure the "datadir" variable point to a shared directory where all 4 machines are able to access.

$ vim profiles/default.in

The vm.max_map_count kernel setting needs to be set to at least 262144 for ElasticSearch to work properly

$ sysctl -w vm.max_map_count=262144

Start the Deployment

$ ./startup

Set qTest Manager as a Linux Daemon

$ ./shutdown
$ ./install
$ systemctl start qtest

Machine 2

Deploy qtest (qTest Manager 9.6.1) with HTTP into Machine 2

  • qtest-url: IP of machine 4 (the load balancer)
  • qtest-http: qtest port of machine 4 (the load balancer)
  • cluster: IP of machine 1
  • apps: qtest
$ ./configure --qtest-url "http://<IP of machine 4>:<qtest port of machine 4>" --qtest-http "<qtest port of machine 4>" --cluster "<IP of machine1>" --apps "qtest"
  1. Modify the configure file to ensure the "datadir" variable point to a shared directory where all 4 machines are able to access.
    $ vim profiles/default.in
  2. Start the deployment.
    $ ./startup
  3. After the above command completes successfully, set up qTest Manager as Linux Daemon and start the service.
$ ./shutdown
$ ./install
$ systemctl start qtest

Deploy qtest (qTest Manager 9.6.1) with HTTPS into Machine 2

  • Specify path to ssl-key, ssl-cert, ssl-ca
  • qtest-url: IP of machine 4
  • qtest-https: qtest https port of machine 4
  • cluster: IP of machine 1
  • apps: qtest
$ ./configure --qtest-url "https://<IP of machine 4>:<qtest https port of machine 4>" --qtest-https "<qtest https port of machine 4>" --cluster "<IP of  machine1>" --apps "qtest"
  1. Modify the configure file to ensure the "datadir" variable point to a shared directory where all 4 machines are able to access.
    $ vim profiles/default.in
  2. Start the deployment.
    $ ./startup
  3. After the above command completes successfully, set up qTest Manager as Linux Daemon and start the service.
    $ ./shutdown
    $ ./install
    $ systemctl start qtest

Machine 3

Deploy qtest (qTest Manager 9.6.1) with HTTP into Machine 3

  • qtest-url: IP of machine 4 (the load balancer)
  • qtest-http: qtest port of machine 4 (the load balancer)
  • cluster: IP of machine 1
  • apps : qtest
$ ./configure --qtest-url "http://<IP of machine 4>:<qtest port of machine 4>" --qtest-http "<qtest port of machine 4>" --cluster "<IP of Machine 1>" --apps "qtest"
  1. Modify the configure file to ensure the "datadir" variable point to a shared directory where all 4 machines are able to access.
    $ vim profiles/default.in
  2. Start the deployment.
    $ ./startup
  3. After the above command completes successfully, set up qTest Manager as Linux Daemon and start the service.
    $ ./shutdown 
    $ ./install
    $ systemctl start qtest

 

Deploy qtest (qTest Manager 9.6.1) with HTTPS into Machine 3

  • Specify path to ssl-key, ssl-cert, ssl-ca
  • qtest-url: IP of machine 4
  • qtest-https: qtest https port of machine 4
  • cluster: IP of machine 1
  • apps: qtest
$ ./configure --qtest-url "https://<IP of machine 4>:<qtest https port of machine 4>" --qtest-https "<qtest https port of machine 4>" --cluster "<IP of Machine1>" --apps "qtest"
  1. Modify the configure file to ensure the "datadir" variable point to a shared directory where all 4 machines are able to access.
    $ vim profiles/default.in
  2. Start the deployment.
    $ ./startup
  3. After the above command completes successfully, set up qTest Manager as Linux Daemon and start the service.
    $ ./shutdown 
    $ ./install
    $ systemctl start qtest

Machine 4 (load balancer)

Deploy qtestlb with HTTP into Machine 4

  • qtest-url: IP of machine 4 (the load balancer)
  • qtest-http: qtest port of machine 4 (the load balancer)
  • cluster: IP of machine 1
  • apps: qtestlb
$ ./configure --apps "qtestlb" --qtest-url "http://<IP of machine 4>:<qtest port of machine 4>" --qtest-http "<qtest port of machine 4>" --cluster "<IP of Machine 1>"
  1. Modify the configure file to ensure the "datadir" variable point to a shared directory where all 4 machines are able to access.
    $ vim profiles/default.in
  2. Start the deployment.
    $ ./startup
  3. After the above command completes successfully, set up qTest Manager as Linux Daemon and start the service.
    $ ./shutdown 
    $ ./install
    $ systemctl start qtest

 

Deploy qtestlb with HTTPS into Machine 4

  • Specify path to ssl-key, ssl-cert, ssl-ca
  • qtest-url: IP of machine 4
  • qtest-https: qtest https port of machine 4
  • cluster: IP of machine 1
  • apps: qtestlb
$ ./configure --apps "qtestlb" --ssl-key "<SSL Key>" --ssl-cert "<SSL Cert>" --ssl-ca "<SSL CA>" --qtest-url "https://<IP of machine 4>:<qtest https port of machine 4>" --qtest-https "<qtest https port of machine 4>" --cluster "<IP of Machine1>"
  1. Modify configure file to ensure the "datadir" variable point to a shared directory where all 4 machines are able to access.
    $ vim profiles/default.in
  2. Start the deployment.
    $ ./startup
  3. After the above command completes successfully, set up qTest Manager as Linux Daemon and start the service.
    $ ./shutdown 
    $ ./install
    $ systemctl start qtest

 

Installation is now complete.

Access qTest Manager via machine 4 URL (http://<IP of machine4>:<qtest port>), then continue with the following section to configure your site.

Configure qTest Manager

Refer to the article here to configure qTest Manager.

Powered by Zendesk