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
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
- 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
- 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>
- Extract the package.
$ tar -zxf docker-deployment-4.10.tar.gz
- Access Docker-Deployment-x.x Directory.
$ cd docker-deployment-4.10
Configure qTest Manager
To keep all applications in your previous deployment from being upgraded, override 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
- 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
- Open your web browser, and access qTest Manager using the URL specified above.
- Validate if qTest Manager has started successfully.
- Execute these commands to set up qTest Manager as a Linux Daemon.
$ ./shutdown $ ./install
- Start the service. You may need to wait for few minutes for qTest Manager to be available.
$ systemctl start qtest
Restart Machine 4
- Access the directory where you've extracted the docker deployment package of qTest Manager 9.8.3 (docker-deployment-4.9)
- 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
- Shut down qTest Manager.
$ ./shutdown
- Start the service. You may need to wait a few minutes for qTest Manager to be available.
$ systemctl start qtest