NOTE: This document is the instruction to upgrade qTest 6.x or 7.3.x to qTest 7.7.x.
Prerequisites
- Docker Host version 1.6+ has been installed on the machine where you are deploying qTest components. Ports 53 and 6783 on this machine need to be exposed if you are deploying with clustering model
- For CentOS 7.X+ or Ubuntu 14.04+ machines: Docker requires a 64-bit installation and your kernel must be at least 3.10
- Please follow these instructions to install Docker on your machine
- Docker Client has been installed. You will need to execute the deployment shell scripts in these instructions using the tool
- Docker Host is accessible using Docker Client
- Docker Host's configurations needs to satisfy qTest's recommended hardware requirements
Download qTest Docker Deployment version 2.2. This package supports the upgrade of qTest from version 6 or 7.x.x to qTest version 7.7.x. Follow the instructions to upgrade qTest based on your existing qTest installation.
- If qTest was previously installed with qTest Docker Deployment version 1.x, follow these instructions
- If qTest was previously installed with qTest Docker Deployment version 2.0, follow these instructions
- If your qTest was a non-Docker deployment, follow these instructions
If your qTest was deployed with qTest Docker Deployment version 1.x
IMPORTANT:
- Before starting the upgrade process, please make sure to backup your data. Please see these instructions
- In order to upgrade and keep your current qTest deployment model, please follow section A
- To upgrade qTest with a Load Balancer, please follow section B
A. Upgrade qTest without a load balancer
- Access your Docker host through a user which was added to the Docker user group. This does not need to be the root user of Docker.
- Given that qTest was configured in a directory named docker-deployment-1.0, access this directory and shut it down:
$ cd docker-deployment-1.0 $ ./shutdown
- After you have downloaded qTest Docker Deployment version 2.2, extract it using the command below. After this is extracted, access docker-deployment-2.2
$ tar -zxf docker-deployment-2.2.tar.gz $ cd docker-deployment-2.2
- Copy config.status file from docker-deployment-1.0 to docker-deployment-2.0
$ cp /opt/docker-deployment-1.0/config.status .
- Upgrade and then start the Docker host:
$ ./upgrade $ ./startup
If your qTest components were deployed on multiple machines, access all of them and repeat the above steps. For a list of all qTest components, check out this article.
B. Upgrade qTest with a load balancer
- Create a shared folder in your NFS. We currently support NFS version 4. For example, let's name it shared_datadir
- Access the Docker host(s) where qTest and Sessions were deployed through a user which was added to the Docker user group. Access the configuration directory and open config.status file. Search for key datadir
- Copy all contents of datadir directory to shared_datadir
- Deploy new versions of qTest components with load balancing
IMPORTANT:
- Whenever you deploy qTest component, pass in shared_datadir's file path to --datadir parameter
- You may need to refer to config.status file to configure the deployment
- Follow this instruction to deploy qTest components with load balancing
If your qTest was deployed with qTest Docker Deployment version 2.0
IMPORTANT:
- Before starting the upgrade process, please make sure to backup your data. Please see these instructions
- In order to upgrade and keep your current qTest deployment model and server configurations, please follow section A
- To upgrade qTest from Single Model to Load Balancing Model, please follow section B
A. Upgrade qTest without changing deployment model and server configurations
IMPORTANT:
- If your qTest components were deployed on multiple machines and/or Docker hosts, access all of them and repeat the steps below
- If qTest was previously deployed with load balancing model, it is required that you upgrade the Docker hosts in the same order as when you deployed them
- Access your Docker host through a user which was added to the Docker user group. This does not need to be the root user of Docker/li>
- Given that qTest was configured in a directory named docker-deployment-2.0, access this directory and shut it down:
$ cd docker-deployment-2.0 $ ./shutdown
- After you have downloaded qTest Docker Deployment version 2.2, extract it using the command below. After this is extracted, access docker-deployment-2.2
$ tar -zxf docker-deployment-2.2.tar.gz $ cd docker-deployment-2.2
- Copy profiles file from docker-deployment-2.0 to docker-deployment-2.2
$ cp /opt/docker-deployment-2.0/profiles .
- Start the Docker host:
$ ./startup
If your qTest was a non-Docker deployment
IMPORTANT:
- qTest app needs to be deployed on the same machine where the older version of qTest was deployed. If you are deploying the qTest app on multiple machines with a load balancer, this machine must be one of them
- Sessions app needs to be deployed on the same machine where the older version of Sessions was deployed. If you are deploying Sessions app on multiple machines with a load balancer, this machine must be one of them
- Deploy qTest components with Docker following these instructions
- Shut down the existing qTest. If you have deployed qTest on multiple machines, access all of these machines and shut down qTest
$ cd docker-deployment-2.2 $./shutdown --apps "qtest qtestlb"
- Shut down Sessions. If you have deployed Sessions on multiple machines, access all of these machines and shut down Sessions
$ cd docker-deployment-2.2 $ ./shutdown --apps "sessions sessionslb"
NOTE: Before starting the upgrade process, please make sure to backup your data in non-docker Linux package.
- Access the machine where the older version of qTest was installed through a user which was added to the Docker user group. Import qTest data from the older version
$ ./import [directory where the older version of qTest was installed]
Eg:
$ ./import /usr/local/qtest-linux-x.x.x
- Access the machine where the older version of Sessions was installed through a user which was added to the Docker user group. Import Sessions data from the older version
$ ./import [directory where the older version of qTest Sessions was installed]
Eg:
$ ./import /usr/local/session-linux-x.x.x
- Access all the machines where qTest components were been deployed (through the Docker installation in Step 1 above) and restart all qTest components
$ ./startup