This page details installing and configuring autotest-server
.
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.
- 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.
- Start httpd:
systemctl start httpd.service
- 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.
- Install and setup mysql server
yum install mysql-server chkconfig mysqld on
-
systemctl start mysqld.service
- 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.
- Using the
mysql
command, login to the root database using the password specified abovemysql -u root -p
- 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.
- 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 is2
, but we currently use10
because of autotest bug 117.
- Enter the correct value for
- In section
[SERVER]
, set the value ofhostname
- In section
- 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
- Setup the database schemas and populate initial data
autotest-upgrade-db sync
- 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
- Restart httpd
systemctl restart httpd.service
- Start the autotest scheduler
systemctl start autotestd.service
- 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.