Menu

Manager 9.8.3 OP Single Server Install 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.8.3 with its additional applications on a single CentOS/ Ubuntu machine using Docker.

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

What is included in the docker-deployment-4.10 package?

qtest's docker-deployment-4.10 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.8.3 includes qtest and its prerequisite applications: postgres, elasticsearch, qtestlb
  • qTest Session 4.2.8 includes Session and its prerequisite applications: postgres, qtestlb
  • qTest Parameters 2.2.4 includes Parameters and its prerequisite applications: postgres, parameterslb
  • qTest Insights 1.21.12 includes Insights and its prerequisite applications: postgres, insightslb, insightsetl
  • qTest Launch 1.5.3 includes Launch and its prerequisite applications: postgres, launchlb
  • qTest Pulse 9.2.2 includes Pulse and its prerequisite applications: postgres, pulselb
  • qTest Scenario 3.2.0 includes Pulse and its prerequisite applications: scenariolb

To install qTest Manager and its additional applications, access the machine where Docker has been installed. Use the 'root' or a user which has been added to the docker user group, then the steps below.

Download Docker-Deployment-4.10 Package

$ wget <ENTER DOWNLOAD LINK HERE>

Extract the Package

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

Configure before Deploying

$ cd docker-deployment-4.10

Configure to Deploy HTTP

Specify URL and http port of each application you want to deploy (qTest Manager is required).

APPLICATION NAME APPEND ./CONFIGURE COMMAND WITH URL AND HTTP PORT OF YOUR APPS
qTest Manager --qtest-url "[Manager URL]" --qtest-http "[qtest http port]"
qTest Session --sessions-url "[Session URL]" --sessions-http "[session http port]"
qTest Insights --insights-url "[Insights URL]" --insights-http "[insights http port]"
qTest Parameters --parameter-url "[Parameter URL]" --parameter-http "[parameters http port]"
qTest Launch --launch-url "[Launch URL]" --launch-http "<launch http port>"
qTest Pulse --pulse-url "[Pulse URL]" --pulse-http "<pulse http port>”
qTest Scenario --scenario-url "[Scenario URL]" --scenario-http "[scenario http port]"

NOTE: if you are using server's IP address in the URL, you must use the public IP address so all the applications are able to connect to each other.

Scenario 1: Deploy qTest Manager with qTest Sessions, qTest Insights, qTest Parameters, qTest Launch, and qTest Pulse. This is applicable for Elite package.

$ ./configure --apps "postgres elasticsearch qtest qtestlb sessions sessionslb insights insightslb insightsetl mongo parameters parameterslb launch launchlb pulse pulselb scenario scenariolb" --qtest-url "http://:" --qtest-http "" --sessions-url "http://:" --sessions-http "" --insights-url "http://:" --insights-http "" --parameters-url "http://:" --parameters-http "" --launch-url "http://:" --launch-http "" --pulse-url "" --pulse-http "" --scenario-url "" --scenario-http "" 

Scenario 2: qTest Manager with qTest Sessions. This is applicable for Premium package

$ ./configure --qtest-url "http://:" --qtest-http "" --sessions-url "http://:" --sessions-http ""

Scenario 3: To deploy only qTest Manager, do NOT run the configure command

The example below shows the URLs of qTest Manager, Sessions, Insights, Parameters, and Launch generated in default.in that uses a public IP address after executing the configured command, in bold.

# Generated by config configure
...
# Global configs
ssl_key=''
ssl_cert=''
ssl_ca=''
qtest_url='http://34.234.18.38:8080'
sessions_url='http://34.234.18.38:8081'
sessions_token='QToy'
# scenario_url='http://scenario:8082'
insights_url='http://34.234.18.38:8000'
parameters_url='http://34.234.18.38:1080'
# pulse_url='http://pulse:3000'
launch_url='http://34.234.18.38:80'
...

Configure to Deploy HTTPS

  • Specify path to ssl-key, ssl-cert, ssl-ca
  • Specify URL and https port of each application you want to deploy (qTest Manager is required)
APPLICATION NAME APPEND ./CONFIGURE COMMAND WITH URL AND HTTPS PORT OF YOUR APPS
qTest Manager --qtest-url "[Manager URL]" --qtest-https "[manager https port]"
qTest Sessions --sessions-url "[Session URL]" --sessions-https "[session https port]"
qTest Insights --insights-url "[Insights URL]" --insights-https "[insights https port]"
qTest Parameters --parameter-url "[Parameter URL]" --parameter-https "[parameter https port]"
qTest Launch --launch-url "[Launch URL]" --launch-https "<launch https port>"
qTest Pulse --pulse-url "[Pulse URL]" --pulse-https "<pulse https port>"
qTest Scenario --scenario-url "[Scenario URL]" --scenario-https "[scenario https port]"

NOTE: if you are using server's IP address in the URL, you must use the public IP address so all the applications are able to connect to each other.

Scenario 1: Deploy qTest Manager with qTest Sessions, qTest Insights, qTest Parameters, qTest Launch, and qTest Pulse. This is applicable for the Elite package.

$ ./configure --apps "postgres elasticsearch qtest qtestlb sessions sessionslb insights insightslb insightsetl mongo parameters parameterslb launch launchlb scenario scenariolb" --ssl-key "" --ssl-cert "" --ssl-ca "" --qtest-url "https://:" --qtest-https "" --sessions-url "https://:" --sessions-https "" --insights-url "https://:" --insights-https "" --parameters-url "https://:" --parameters-https "" --launch-url "https://:" --launch-https "" --launch-url "" --launch-https "" --pulse-url "" --pulse-https "" --scenario-url "" --scenario-https ""

Scenario 2: qTest Manager with qTest Sessions. This is applicable for Premium package.

$ ./configure --ssl-key "" --ssl-cert "" --ssl-ca "" --qtest-url "https://:" --qtest-https "" --sessions-url "https://:" --sessions-https ""

Scenario 3: Deploy only qTest Manager with default https port 443.

$ ./configure --ssl-key "" --ssl-cert "" --ssl-ca "" --qtest-url "https://:" --qtest-https ""

The example below shows the URLs of qTest Manager, Sessions, Insights, Parameters, and Launch generated in default.in that uses public IP address after executing configure command, in bold.

# Generated by config configure
...
# Global configs
ssl_key=''
ssl_cert=''
ssl_ca=''
qtest_url='https://34.234.18.38:443'
sessions_url='https://34.234.18.38:8443'
sessions_token='QToy'
# scenario_url='http://scenario:8082'
insights_url='https://34.234.18.38:9443'
parameters_url='https://34.234.18.38:10443'
# pulse_url='http://pulse:3000'
launch_url='https://34.234.18.38:3443'
...

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"

Start the Deployment Process

  1. 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
  2. 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

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

Set up qTest Applications

Please follow this guide: Configure qTest Applications to complete the remaining steps to activate your account.

Powered by Zendesk