Meego Wiki
Views

Quality/QA-tools/OTS/UserDocumentation/Installation rpm

From MeeGo wiki
Jump to: navigation, search

Contents

OTS 0.8.x installation RPM

These instructions have been tested with Fedora 13. Execute commands as root.

In MeeGo netbook, at least following packages needs to be installed manually:

python-amqp, python-django, minixsv, rabbitmq-server

Network Setup

Using static IP addresses on all OTS machines is strongly recommended. It is possible to setup the system also with dynamic IP addresses but it might cause problems every now and then because IP's and hostnames change.

All OTS machines need to be able to access other OTS machines based on their hostname.

Preparation

There are two ways of getting OTS binary packages: from the source code or from the MeeGo Tools:Testing repository. From the repository you can get the stable version and from the source code the development version.

  • Add Tools:Testing source to /etc/yum.repos.d/
cd /etc/yum.repos.d/
yum install wget nano
wget http://download.meego.com/live/Tools:/Testing/Fedora13/Tools:Testing.repo
  • Update the repositories
yum check-update

Build packages from source (optional)

  • Install git core
yum install git-core
  • Get sources
git clone git://gitorious.org/meego-quality-assurance/ots.git
  • Get building tools
yum rpm-build python-setuptools
  • Build packages
mv ots python-ots-0.8.x
tar czf python-ots-0.8.x.tar.gz python-ots-0.8.x
rpmbuild -tb python-ots-0.8.x.tar.gz

OTS server installation

  • Install dependencies
yum install Django python-amqplib python-configobj rabbitmq-server test-definition
easy_install minixsv
yum install python-setuptools
  • Install OTS server components
yum install python-ots-common python-ots-results python-ots-server

or if you are using own built packages

rpm -i ...
  • Add rabbitmq to start on boot
chkconfig --add rabbitmq-server
chkconfig rabbitmq-server on
  • Start rabbitmq server
/etc/init.d/rabbitmq-server start
  • Configure OTS server settings
sudo nano /etc/ots_server.ini

Recommended to change following:

'example_sw_product', example to 'meego_product'
'devicegroup', example to 'meego_n900'
  • Install OTS server plug-ins

Logger plug-in

yum install httpd mod_wsgi
rm /etc/httpd/conf.d/welcome.conf
yum install python-ots-plugin-logger

Copy the apache config from the plug-in page to /etc/httpd/conf.d/ots.conf

cp -r /usr/share/ots/plugin/logger/* /var/www

Install django_xmlrpc to /usr/lib/python2.6/site-packages/

chcon -R -t httpd_user_content_t /usr/lib/python2.6/site-packages/django_xmlrpc
chcon -R -t httpd_user_content_t /opt/ots
setsebool httpd_unified 1
NOTE: make sure selinux is enabled

chown apache /var/log/ots
chown apache /opt/ots
chown apache /opt/ots/*
chkconfig --add httpd
chkconfig httpd on
/etc/init.d/httpd start

Email plug-in (recommended)

yum install python-ots-plugin-email

See more plug-ins from OTS Plug-ins

  • Start OTS server
ots_server

OTS worker installation

  • Install dependencies
yum install python-amqplib testrunner-lite
  • Install OTS worker packages
yum install python-ots-common python-ots-worker
  • Configure OTS worker settings
sudo nano /etc/ots.ini

Change 'devicegroup', example meego_n900

Change 'host' to server's address

  • Change permissions to OTS worker log
sudo chown <user>:<group> /var/log/ots.log
  • Start OTS worker
ots_worker

OTS tools

Tools are used for triggering test runs from the command line.

  • Install OTS tools
yum install python-ots-tools
  • Trigger a test run
ots_trigger -s localhost:8080 -b test_build -i http://url_to_image -p example_sw_product -e test@man.com
  • Kickstart file for automation can be found from
http://meego.gitorious.org/meego-quality-assurance/enables-automated-testing/blobs/ks/meego-n900-autotest.ks
  • You need to build the image with mic-image-creator with parameters:
--save-kernel --package=tar.gz

How to install N900 automation tools to OTS worker

  • Install dependencies
yum install meego-ai-flaster eat-host

  • Get N900 flasher from the Nokia's tablets-dev portal
http://tablets-dev.nokia.com/maemo-dev-env-downloads.php?f=maemo_flasher-3.5_2.5.2.2.tar.gz
Compile the flasher
  • Configure conductor to use rpm and fetch /var/log/messages
sudo nano /etc/conductor.conf
  • If you want run ots_worker as user, copy SSH keys to the user and make udev rule for n900
install-eat-key.sh
sudo nano /etc/udev/rules.d/meego-n900.rules
SUBSYSTEMS=="usb", ATTR{idVendor}=="0421", ATTR{idProduct}=="0105", GROUP="<group>", MODE="0664"
  • Create a power_cycle.sh script for turning N900 on/off. This requires external accessory, like HAT
sudo nano /usr/bin/power_cycle.sh
#!/bin/bash

hat_drv &
hat_ctrl -pwr1=off
hat_ctrl -usb1data=off
hat_ctrl -usb1pwr=off
sleep 2;
hat_ctrl -usb1pwr=on
hat_ctrl -usb1data=on
hat_ctrl -pwr1=on
killall hat_drv
  • Test manually that everything is OK, this is executed in the worker
conductor -u <image url>
  • Start OTS worker
ots_worker
Personal tools