This guide will help new developers to setup their environment to be able to test their modifications.
Follow the instructions from the installation guide.
Install the complete distribution (-type all).
There are three steps that a new developer has to setup:
The last step is to create your own VO. This will configure all the services that are needed to run a VO on your machine. This way, you will be able to run a full grid on a single node.
Once these three steps have been followed, the developer should be able to modify the code and test it with the local installation.
Once the components are installed and a Virtual Organization is configured, a number of AliEn Web
Services at central and remote sites
- Checkout the current version directory (at the time of this is writing that is "v2-21"):
Inside this directory there are three sub directories "admin" , "common" and "tests".
The installation process requires excuting few commands from within each of those directories, as follows:
- v2-21/common
$ cd ~/v2-21/common
$ ~/alien/bin/alien-perl Makefile.PL
$ make
$ make install
- v2-21/admin
$ cd ~/v2-21/admin
$ autoconf
$ ./configure
$ make install
- Create ALIEN_TESTDIR environment variable:
export ALIEN_TESTDIR=$HOME/v2-21/tests/test
- The last line should be executed every time that you start a new session. We suggest to add it to your default environment (like $HOME/.bashrc if you are using bash)
Now, you should have the following directories:
- Installation directory ($ALIEN_ROOT). By default, $HOME/alien. Place where alien has been installed
- AliEn home directory ($ALIEN_HOME). By default, $HOME/.alien. It will be created once you login to alien.
- Test directory ($ALIEN_TESTDIR). $HOME/alien-tests/test/. Directory with all the tests
Do the following commads:
$ cd $ALIEN_TESTDIR
$ ./Install.sh -create_cert
$ ./Install.sh -new_vo
$ ./Install.sh -user_tests -no_break
The second command creates a self-signed certificate that the services will use.
The third one will configure and start the central services (mysql, ldap and AliEn)
The last one will setup the site services, and check that everything works. At the moment, some of the tests are supposed to fail. Crosscheck with http://alienbuild4.cern.ch:8888/ to compare the failing tests
Debugging Guide for AliEn developers
AliEn Architecture-
Note: Installing the alien distribution using the option (-type all) all the vobox, client (or working nodes) and server are installed on the same machine. This also implies that once the Virtual Organization is configured all the services i.e. Central Services and the Site Services run on the same host machine.
For Developing AliEn code-
- AliEn directory: common/lib/AliEn
- Add or modify or play with AliEn code.
- Move back to the directory alien-common
- Build AliEn again: make install
- Restart authen: alien AuthenStart
- Run alien: alien -r admin
Procedure to start, stop and check of various AliEn services.
For Site Services:
In General this can be performed by:
- Start : alien Start[service_name] (to start a service)
- Stop : alien Stop[service_name] (to stop a currently running service)
- Status : alien Status[service_name] (In case of no output after its execution, it implies that the service is running fine. In the case of some output or return statements the service is not working and need to be started)
Examples:
- alien StartMonitor
- alien StopMonitor
- alien StatusMonitor
Some of the services namely are: CE(Computing Element), PackMan(Package Manager), Monitor(ClusterMonitor), JobManager, JobOptimizer, JobInfoManager, Authen
For Central Services:
- LDAP : $ALIEN_ROOT/etc/rc.d/init.d/alien-ldap [start] [stop]
- MySQL(DB) : $ALIEN_ROOT/etc/rc.d/init.d/alien-mysqld [start] [stop]
- AliEnd : $ALIEN_ROOT/etc/rc.d/init.d/alien-aliend [start] [stop]
AliEn Logs
- All the alien-tests logs can be found in /tmp/alien_tests/current.
- Here the logs of all user-tests that fail (for example: /tmp/alien_tests/current/81.test.job_manual.015-queueInfo => log information of the test 82 that failed)
- as well as the output of various tests that serve as input to various other tests are present (for example: /tmp/alien_tests/current/file_quota.05-agentUploadFailure.b.input serves as input for test file_quota.05-agentUploadFailure.b).
- AliEn log directory for rest of the services is /tmp/[host_name]/log
- All the jobs' logs can be found at /tmp/[host_name]/log/proc/7200/183185/ . The name of the file has the structure proc.[jobId].out
Join to Savannah group for AliEn developers
Go to E-Groups page, login with your cern account and subscribe to mailing lists of:
- alice-lcg-task-force
- - Discussion list of the ALICE LCG task force for distributing computing
- alien-developers -
- List of all the alien developers