diff options
author | 2008-09-08 21:28:11 +0530 | |
---|---|---|
committer | 2008-09-08 21:28:11 +0530 | |
commit | a5951ac6c6e34f58685b96cfff90f4f2e7bb5733 (patch) | |
tree | b7e34908f31ab47818c251db31f346a91ecbcba4 | |
parent | Bugfixes to master server. (diff) | |
download | autotua-a5951ac6c6e34f58685b96cfff90f4f2e7bb5733.tar.gz autotua-a5951ac6c6e34f58685b96cfff90f4f2e7bb5733.tar.bz2 autotua-a5951ac6c6e34f58685b96cfff90f4f2e7bb5733.zip |
Add README and PURPOSE
-rw-r--r-- | PURPOSE | 16 | ||||
-rw-r--r-- | README | 51 |
2 files changed, 67 insertions, 0 deletions
@@ -0,0 +1,16 @@ +The purpose of this project is to reduce the workload of Gentoo ebuild +maintainers by automating repetitive tasks which do not require constant +supervision. You see, most work done by ebuild maintainers is repetitive and +only requires the outcome to be inspected. Such as + +- Testing the effect of any change in the portage tree which affects several + packages. Ex: + * Testing the reverse dependencies of a library for a major upgrade (such as + xulrunner-1.9) + * Testing the effects of a large eclass change +- Arch testing stabilisation/keywording lists (one of the best targets for + automation) + +etc. + +TODO: Elongate this with further examples and use cases @@ -0,0 +1,51 @@ +---- DESCRIPTION ---- +- This code is currently in alpha-mode. Doing anything useful with the code + requires a certain level of knowledge of the underlying code. However, this + file aims to allow a person unacquainted with the project to test it for + purposes of arch testing etc without understanding the purpose of the project + [see ./PURPOSE] ;) + +---- STRUCTURE ---- +The project consists of two parts; a master server and a slave which runs jobs. +The master-server will be put up on a centralized server and will manage jobs by +distributing them to slaves. + +The master server is written in django and the slave in python. Currently, the +project has only been tested on Linux, but it *should* work on UNIX-like systems +as well. + +The deps of each component are as follows: +- Master: + * Django-1.0 with sqlite3 support +- Slave: + * Python 2.5 with inbuilt sqlite support + +---- SETUP ---- +The master has a runtime dependency on the modules in the slave, and the slave +itself requires the master to do any real work. If you wish, you can install the +slave using the standard `python setup.py`. However, that is not required for +testing. + +The master can be setup by executing `python setup-master.py` and following the +instructions. However, you will need to point the PYTHONPATH env variable to the +"autotua/slave/" directory while running the setup if you chose not to install +the slave modules. The same will have to be done while executing manage.py after +setup. + +---- CONFIG ---- +If you did not use the defaults, you might want to edit autotua/slave/config.py (or +/etc/autotua/slave.cfg if you installed the slave modules) and point it to the +URL where you setup the master. + + +---- TESTING ---- +The master-server and the slave are both tested by running the tests in the +slave. The whole system can be tested in one go by executing +`su -c 'PYTHONPATH=<abs path>/autotua/slave python autotua/slave/autotua/__init__.py'` + +Yes. The slave needs to be run as root :p +This is because all the work done by a jobuild is done inside a disposable chroot + +---- BUGS ---- +If you find something wrong, feel free to file a bug report at +http://soc.gentooexperimental.org/projects/autotua/issues |