google-code-export / yabi

Automatically exported from code.google.com/p/yabi
0 stars 1 forks source link

A guide to getting Yabi running for developers

Our main target deployment platform is the latest version of CentOS (currently 6.4). That's why we also develop on the same OS. Developing on other Linux distributions or other versions shouldn't be a problem, but if you don't have other preferences, developing on the latest CentOS is a good practical default (ie. doing so and following this documentation would probably mean things will just work).

Dependencies

o python (we are currently using 2.6)
o Gcc
o Mercurial
o Virtualenv
o MySQL (mysql-server, mysql, mysql-devel, MySQL-python)
o libxslt-devel, libxml2-devel
o RabbitMQ (and Erlang)

To install the dependencies on CentOS (tested on 6.4):

o Python is installed by default.

o For all the other dependencies but RabbitMQ, with the EPEL repository enabled:

# yum install gcc mercurial python-virtualenv postgresql-devel mysql-server mysql mysql-devel MySQL-python libxslt-devel libxml2-devel

o To install RabbitMQ follow the instructions at:

http://www.rabbitmq.com/install-rpm.html  

To install the dependencies on Ubuntu (tested on 13.4):

o Python is installed by default.

o For all the other dependencies but RabbitMQ:

$ sudo apt-get install gcc mercurial python-dev python-virtualenv libpq-dev mysql-server mysql-client libxml2-dev libxslt-dev python-mysqldb libmysqlclient-dev 

o To install RabbitMQ follow the instructions at:

http://www.rabbitmq.com/install-debian.html

After you've installed all dependencies, make sure you start MySQL and RabbitMQ

On CentOS:
  # service mysqld start 

On Ubuntu
  # service mysql start 

# service rabbitmq-server start

Create a development and test database in MySQL for Yabi:

$ mysql -uroot -e "create database dev_yabi default charset=UTF8;"
$ mysql -uroot -e "create database test_yabi default charset=UTF8;"

Running Yabi

To run Yabi you need to start Yabi Admin and the Yabi Admin Celery server.

All this components can be controlled from the top level directory using 'develop.sh'.

$ ./develop.sh 

To create virtual pythons for running a local development stack:

$ ./develop.sh install

To start:

$ ./develop.sh start

To stop:

$ ./develop.sh stop

Access

http://127.0.0.1:8000/ - username:demo password:demo

For admin access: use username:admin password:admin

NB: Logging into Admin as the admin user will log you out as the demo user.

Running Tests

Yabi has an end to end test suite for testing the full Yabi stack. o For the Torque tests you will need a working Torque installation o For the PBS Pro tests you will need a working PBS Pro installation o For the ssh tests, add tests/test_data/yabitests.pub to ~/.ssh/authorized_keys

$ ./develop.sh test_mysql