DevEnv

Revision 33 as of 2015-12-13 06:12:01

Clear message

ISO Tracker

The ISO Tracker is the tool that the Ubuntu QA team uses to track the results of the testing during milestone testing. To know more about ISO testing, please read the ISO procedures.

Technically, it is a Drupal instance with some in-house developed modules, hosted at the ubuntu-qa-website project in Launchpad.

Use the script!

There is now a script to make this process easy. Check out https://github.com/SmajevicIrfan/qatracker-setup-script. You can still use this guide for reference as needed.

Installing a development environment

The production qatracker runs on drupal7, php5.3 and trusty server.

These instructions are for drupal7 and PHP5 utilizing trusty, though a newer version should also work fine.

Getting the dependencies

We need php, postgres, apache and drupal. It's important that you install php5 and drupal7 in order to ensure the qatracker will work. In addition, we will also need bzr to checkout the modules for the tracker from launchpad.

$ sudo apt-get install php5-pgsql postgresql apache2 drupal7 bzr

Installation Configuration Prompts

Postfix

Note, you may be prompted to configure postfix. Feel free to configure as you wish, or leave it as no configuration.

Drupal

Drupal will ask to configure a database, choose no. We will setup the database in a moment.

Setting up apache

Now, we will make the drupal7 instance point to the Apache root folder:

$ sudo nano /etc/apache2/sites-enabled/000-default.conf 

Modify /etc/apache2/sites-enabled/000-default.conf to

<VirtualHost *:80>
        #NOWEBSTATS
        ServerName      ENTER_YOUR_SERVER_IP_HERE

        DocumentRoot    /usr/share/drupal7

        # Protect the '/scripts' directory.
        RewriteEngine on
        RewriteRule   ^/scripts(|/.*) http://%{SERVER_NAME}/ [R=301,L]
</VirtualHost>

Setting up the database

This is not needed as drupal will configure these options itself.

Populating the database

Although it is possible to load a copy of the production database, this is not recommended.

Configure Drupal7

Now, we are going to create a system user called "qatracker" and we are going to reconfigure drupal to use that user and both the user and database created before.

$ sudo adduser qatracker
$ sudo dpkg-reconfigure drupal7

When adding the user, use a password of qatracker.

Drupal7 Reconfiguration

Follow the prompts:

Reinstall database for drupal7 , select Yes
database type , select psql
Connection method for PostgreSQL database, select Unix Socket
authenticating the PostgreSQL administrator , select ident
authenticating PostgreSQL user, select ident
database name for drupal7, enter qatracker
username for drupal7, enter qatracker
password for postgres application, leave blank (it will generate random password).
 If you wish, this can be set to a password of your choosing but should not be required.
database admin user, enter postgres

Install qatracker modules

QATracker

Get the modules and theme from ubuntu-qa-website and copy them to your drupal7 installation:

$ bzr branch lp:ubuntu-qa-website
$ sudo cp -R ubuntu-qa-website/modules/* /usr/share/drupal7/modules/

Adding openid modules

Grab these 2 launchpad branches and copy them to the drupal7 modules folder. Later we will activate and configure them inside the admin interface.

$ bzr branch lp:~ubuntu-qa-website-devel/ubuntu-qa-website/drupal-launchpad-7.x drupal-launchpad
$ bzr branch lp:~ubuntu-drupal-devs/drupal-teams/7.x-dev/ drupal-teams 
$ sudo cp -R drupal-teams drupal-launchpad /usr/share/drupal7/modules

Apply the theme

The production instance uses the antonelli theme. Download and unpack it into /themes/.

$ wget http://ftp.drupal.org/files/projects/antonelli-7.x-1.0-rc1.tar.gz
$ tar xvzf antonelli-7.x-1.0-rc1.tar.gz 
$ sudo cp -R antonelli /usr/share/drupal7/themes/

Playing with your new instance

Apache

Activate the rewrite module and restart apache:

$ sudo a2enmod rewrite
$ sudo service apache2 restart

You should now have a running site.

Launch Drupal Wizard

Navigate to your new drupal site and follow the wizard.

http://localhost/install.php or http://YOUR_SITE_IP/install.php

During the wizard, make the following choices:

Modules, Standard
Language, English
Site Information
Name: IP or anything you wish
email: root@localhost.com or anything you wish
make a username and password of your choosing, and remember it!

Upon completion you should have access to a basic site, and the admin interface for the tracker.

Once inside you should apply the proper theme, check the openid configuration and setup a site in the tracker admin. Also inside the tracker admin it's recommended you setup some sample products and testcases as sample data. To do so,

  • Click the modules tab
  • Under Other, enable Launchpad OpenID and OpenID Teams if desired (the production tracker uses openid to login)
  • Under Ubuntu QA, enable all modules
  • Uncheck the search module

To set the theme,

  • Click the appearance tab
  • Find Antonelli and click enable and set default
  • Click settings
  • Change the blue to ubuntu orange to match production theme if desired. To do so, set the Link color, header top and header bottom to #DD4814.
  • Uncheck the site name
  • Uncheck the default logo, you can steal the ubuntu logo from production if you like

To set up the tracker itself, navigate to

http://YOUR_SERVER/?q=admin/config/services/qatracker

  • Setup a site to match your domain, admin/config/services/qatracker/sites
  • Add a product family, /admin/config/services/qatracker/families
  • Add a product under that product family, /admin/config/services/qatracker/products
  • Create or copy a testcase, /admin/config/services/qatracker/families
  • Create a new series, /admin/config/services/qatracker/series
  • Create a new milestone for the series, /admin/config/services/qatracker/milestones
  • Assign the testcase to a testsuite, admin/config/services/qatracker/testsuites
  • Assign the testsuite to a product, /admin/config/services/qatracker/products
  • Assign the product to a build, admin/config/services/qatracker/builds

Your tracker should now resemble production and be available under http://YOUR_SERVER_IP/?q=qatracker