User:Mkrizek/Sandbox:Install and configure autotest

From FedoraProject

< User:Mkrizek
Revision as of 16:08, 19 June 2012 by Mkrizek (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page details installing and configuring Package-x-generic-16.pngautotest-server.

Contents

Package installation

Autotest is currently packaged for Fedora, but due to unpackaged dependencies, is not yet available in Fedora official repositories. The following section describes how Autotest is installed on a Fedora system using the AutoQA package repository.

Use the right repos

Setup the required package repositories.

  1. Add the same repositories as mentioned in the AutoQA installation guide.

Install

Finally, with yum repositories configured, use the yum command to install autotest and it's dependencies.

 yum install autotest-server

Configuration

With the packages installed, it's time to configure related system services.

httpd

The autotest server requires the Apache HTTP Server. No additional configuration is required, autotest provides a /etc/httpd/conf.d/autotest.conf configuration file.

  1. Start httpd:
    systemctl start httpd.service
  2. Configure httpd to start on system boot:
    chkconfig httpd on

mysql

Autotest requires access to a mysql server. You can use an existing server, or setup a new mysql server using the instructions below.

Initialization (optional)

If you are using an existing mysql-server, you may skip this section.

  1. Install and setup mysql server
    yum install mysql-server 
    chkconfig mysqld on
  2. systemctl start mysqld.service
  3. Setup a password for the root database user. Please use a password other than NEWPASSWORD.
    mysqladmin -u root password NEWPASSWORD

Tables and privileges

Whether using a local mysql-server, or connecting to an existing mysql-server, autotest requires database tables with appropriate permissions.

  1. Using the mysql command, login to the root database using the password specified above
    mysql -u root -p
  2. Create the autotest_web database and user permissions needed by autotest using the following SQL commands. It is recommended that you use a password other than NEWPASSWORD.
    create database autotest_web;
    grant all privileges on autotest_web.* TO 'autotest'@'localhost' identified by 'NEWPASSWORD';
    grant SELECT on autotest_web.* TO 'nobody'@'%';
    grant SELECT on autotest_web.* TO 'nobody'@'localhost';
    flush privileges;

autotest

With the mysql database configured, it's time to tell autotest how to connect, and to pre-populate the database with initial data.


  1. Update the autotest configuration file /etc/autotest/global_config.ini
    • In section [AUTOTEST_WEB]:
      • Enter the correct value for password.
      • Set appropriate value for job_max_runtime_hrs_default, the maximum number of hours a single test can run before it is aborted. The recommended value for AutoQA purposes is 2, but we currently use 10 because of autotest bug 117.
    • In section [SERVER], set the value of hostname
  2. At this time, autotest and SELinux do not play well together. Until autotest conforms to SELinux policy, or custom policy is available, ensure SELinux is in permissive mode.
    setenforce permissive
    vim /etc/sysconfig/selinux   # set SELINUX=permissive
    
  3. Setup the database schemas and populate initial data
    autotest-upgrade-db sync
  4. Run the Django syncdb operation. This needs to be run twice, otherwise debug_user won't have access to the Django administrative interface.
    /usr/share/autotest/frontend/manage.py syncdb --noinput
    /usr/share/autotest/frontend/manage.py syncdb --noinput
    
  5. Restart httpd
    systemctl restart httpd.service
  6. Start the autotest scheduler
    systemctl start autotestd.service
  7. If you want to have autotest scheduler automatically started on machine boot, run one more command:
    chkconfig autotestd on


Congratulations! Your autotest server should be up and running. Direct your web browser to http://localhost.