Menu

Manager 9.7.1 to 9.8.3 OnPremise Load Balancing Upgrade Guide for Docker

Overview

In this article, we provide step-by-step instructions for an example configuration to upgrade qTest Manager from 9.7.1 to 9.8.3 on multiple CentOS/Ubuntu machines using Docker. Please read the instructions thoroughly before starting your installations.

To request assistance with upgrading or obtain the self-upgrade links, complete the Upgrade Request Form and reference the OnPremise Upgrades Guide.

Note: If you are performing a fresh install, use the OnPremise New Install Form and reference the OnPremise Install Guide.

New for This Release: Enhanced Security Enablement for Sessions and Insights

During an attempted CSRF attack, user credentials may potentially be inherited and then used to maliciously perform undesirable actions, usually affecting a change of state of server. Please note that this does not result in any data theft.

Sessions Information needed for Enablement

  • qTest Managers HTTP or HTTPS Port
  • URL to access qTest Manager outside of this machine
  • qTest Sessions HTTP or HTTPS Port
  • URL to access qTest Sessions outside of this machine
  • External Defect Tracker domain i.e. JIRA

3 Insights features are impacted by this new security configuration:

  • embed reports/dashboard
  • shareable URL dashboard
  • rapid dashboard 

Insights Information needed for Enablement

Insights allow users to generate an HTML template and embed it into an external website ex: Confluence. Therefore, the domain of this website need to be included in the Whitelist domain. SSL must be enabled. 

  • qTest Managers HTTP or HTTPS Port
  • URL to access qTest Manager outside of this machine
  • qTest Insights HTTP or HTTPS Port
  • URL to access qTest Insights outside of this machine
  • External Reporting domain i.e. Confluence

Before You Begin

Read the following:

To upgrade qTest Manager from a version older than 9.7.1, please use our old Docker deployment packages.

Upgrade Example:

The example image below demonstrates how to configure qTest Manager with a load balancer for 4 machines:

  • Machine 1: considered as a cluster, hosts qTest Manager's prerequisite apps:
    • Postgres
    • ElasticSearch
  • Machine 2: hosts qTest Manager 9.8.3 (qtest)
  • Machine 3: hosts qTest Manager 9.8.3 (qtest)
  • Machine 4: hosts qTest Manager's load balancer (qtestlb)

Note: The cluster machine must open 2 ports:

  • 53
  • 6783

manager_lb_diagram-q419.png

 How to Upgrade Machine 2 and 3

Repeat all of the steps below for Machine 2 and 3 where you have installed qTest Manager 9.7.1 (qtest). No changes need to be made to Machine 1 or Machine 4 (qtestlb) servers in this example configuration.

IMPORTANT: Make sure to upgrade your Docker Deployment on each machine where it is currently installed. This article provides a sample configuration only. 

Uninstall your Current Deployment

If your qTest Manager is set up as a Linux Daemon on this server, you should stop it first. If not, you can skip this step.

systemctl stop qtest
  1. Access the directory where you've extracted the docker deployment package of qTest Manager 9.7.1(docker-deployment-4.9), shut it down and create a backup.
    $ ./shutdown
    $ ./backup
    $ ./uninstall
    		
  2. Download the Docker-Deployment-4.10 Package.
    Note: This package supports the upgrade of qTest Manager from version 9.7.1 to 9.8.3
    $ wget <ENTER DOWNLOAD LINK HERE>
    
  3. Extract the package.
    $ tar -zxf docker-deployment-4.10.tar.gz
    
  4. Access Docker-Deployment-x.x Directory.
    $ cd docker-deployment-4.10 
    

Configure qTest Manager

To keep all applications in your previous deployment from being upgradedoverride the /profiles directory of docker-deployment-4.10 with the directory of docker-deployment-4.9

$ cp -r /<path to your docker-deployment-4.9 package>/docker-deloyment-4.9/profiles/ /<path to your docker-deployment-4.10 package>/docker-deloyment-4.10/
		

 

Enhanced Security Option for Sessions and Insights

During an attempted CSRF attack, user credentials may potentially be inherited and then used to maliciously perform undesirable actions, usually affecting a change of state of server. Please note that this does not result in any data theft. SSL must be enabled. 

Enter this command for Sessions:

$ ./configure --sessions-security-csrf-trusted-source-pattern "<qtest-manager-domain>[:port]|<qtest-sessions-domain>[:port]"

If you are configuring an external configuration, e.g JIRA, then the JIRA URL should be whitelisted:

$ ./configure --sessions-security-csrf-trusted-source-pattern "<qtest-manager-domain>[:port]|<qtest-sessions-domain>[:port]|<jira-domain>"

For example:

$ ./configure --sessions-security-csrf-trusted-source-pattern "qtest-manager.com|sessions.com|jira.atlassian.net"

Enter this command for Insights:

$ ./configure --insights-security-csrf-trusted-source-pattern "<Whitelist domains>"

If you are configuring an external configuration, e.g Confluence, then the Confluence URL should be whitelisted:

$ ./configure --insights-security-csrf-trusted-source-pattern "<qtest-manager-domain>[:port]|<qtest-insights-domain>[:port]|<confluence-domain>"

For example:

$ ./configure --insights-security-csrf-trusted-source-pattern "qtest-manager.com|insights.com|confluence.atlassian.net"

Deploy qTest Manager

  1. Execute this command to initially set up and start the application.
    $ ./startup
    		

    The script will download the application images and qTest components to the Docker. It may take a couple of hours depending on your network connection

  2. Open your web browser, and access qTest Manager using the URL specified above.
  3. Validate if qTest Manager has started successfully.
  4. Execute these commands to set up qTest Manager as a Linux Daemon.
    $ ./shutdown
    $ ./install
    		
  5. Start the service. You may need to wait for few minutes for qTest Manager to be available.
    $ systemctl start qtest
    		

Restart Machine 4

  1. Access the directory where you've extracted the docker deployment package of qTest Manager 9.8.3 (docker-deployment-4.9)
  2. If your qTest Manager is set up as a Linux Daemon on this server, you should stop it first. If not, you can skip this step.
    $ systemctl stop qtest
    		
  3. Shut down qTest Manager.
    $ ./shutdown
    		
  4. Start the service. You may need to wait a few minutes for qTest Manager to be available.
    $ systemctl start qtest
    		
Powered by Zendesk