14. [Docker] Update Manager to 7.7.3 and Sessions to 2.2.7

 NOTE: This document is the instruction to upgrade qTest 6.x or 7.3.x to qTest 7.7.x.

Prerequisites

  1. 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
  2. Docker Client has been installed. You will need to execute the deployment shell scripts in these instructions using the tool
  3. Docker Host is accessible using Docker Client
  4. 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

  1. 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.
  2. 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
  3. 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	
  4. Copy config.status file from docker-deployment-1.0 to docker-deployment-2.0
    $ cp /opt/docker-deployment-1.0/config.status .		
  5. 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

  1. Create a shared folder in your NFS. We currently support NFS version 4. For example, let's name it shared_datadir
  2. 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
  3. Copy all contents of datadir directory to shared_datadir
  4. 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
  1. 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>
  2. 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
  3. 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	
  4. Copy profiles file from docker-deployment-2.0 to docker-deployment-2.2
    $ cp /opt/docker-deployment-2.0/profiles .
  5. 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
  1. Deploy qTest components with Docker following these instructions
  2. 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"	
  3. 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.

  4. 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
  5. 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
  6. Access all the machines where qTest components were been deployed (through the Docker installation in Step 1 above) and restart all qTest components
    $ ./startup