Table of Contents

Quick Installation Guide on Ubuntu Server 9.10

Unattended install

DISCLAIMER
The following instructions are suggestions written with the intention of being useful for a user in the circumstances described below who follows them wisely. Please don't execute them if you are unsure what they do or how they will affect your system. No liability for damage/you_block_yourself_out/unsuccess will be accepted.

This guide proposes a quick way to get your GridWay instance up and running without prior knowledge, just on a clean Ubuntu Server 9.10. You are advised to check the commands and understand what is being done at each step. Still you might use a throughout script:

wget http://dev.gridway.org/attachments/download/43/quick_install-gridway_5.6.beta-ubuntu_9.10.sh
chmod +x quick_install-gridway_5.6.beta-ubuntu_9.10.sh
sudo ./quick_install-gridway_5.6.beta-ubuntu_9.10.sh

Step by step install

Single-user Instance

This section is intended for user willing to install GridWay without need to share the installation with other users. We will assume a installation done by a user with sudo capabilities and placed in a directory inside the $HOME folder.

Pre-requisites and download

We assume that your installation will be performed at $HOME/gridway.

sudo apt-get install subversion make libssl-dev xinetd ant
mkdir $HOME/gridway
cd $HOME/gridway
wget http://dev.gridway.org/attachments/download/44/gridway_5.6.1.tar.gz
gunzip -c gridway_5.6.1.tar.gz | tar xvf -
cd $HOME/gridway/gridway_5.6.1

Environment setup

From here on, we assume you have already installed the Globus Toolkit 4.2 and your $GLOBUS_LOCATION is /opt/globus/4.2.1. Check the Globus Quick Start Guide in order to know how to easily install Globus on your machine (you can restrict yourself there to sections 1.1, 1.2 and 1.5).

You will need to add following environmental variables in your ~/.profile

nano $HOME/.profile
Add at the end the following content:

GLOBUS_LOCATION=/opt/globus/4.2.1
GW_LOCATION=$HOME/gridway/5.6.1
JAVA_HOME=/usr/lib/jvm/java-6-openjdk
ANT_HOME=/usr/share/ant
PATH=$GW_LOCATION/bin:$GLOBUS_LOCATION/bin:${PATH}
LD_LIBRARY_PATH=$GW_LOCATION/lib:${LD_LIBRARY_PATH}
export PATH LD_LIBRARY_PATH GLOBUS_LOCATION GW_LOCATION JAVA_HOME ANT_HOME

And do not forget to source this file in order to follow:

. $HOME/.profile

Installation

This step is required only if you want to compile GridWay with support of the drmaa-ruby, ldap, ssh and Berkeley DB:

sudo apt-get install ruby-dev libnet-ldap-perl libnet-ssh-ruby1.8 libnet-sftp-ruby1.8 libdb4.7-dev

In any case, you are ready for the ./configure; make; make install phase:

./configure --enable-ldap --enable-prews --enable-drmaa-ruby --enable-ssh --enable-debug --prefix=$HOME/gridway/5.6.1
make
make install

Configuration

You will need to edit the $HOME/gridway/5.6.1/etc/gwd.conf according to the Configuration Guide.

Starting the daemon

gwd

Now you are done! Check the User's Guide to check your installation and submit your first jobs.

Multiuser Instance

If you are a sysdamin willing to give support to more than one user simultaneously, then this section is for you.

Prepare GridWay Admin and Group

sudo addgroup gwusers
sudo adduser --system --home /opt/gridway --ingroup gwusers --shell /bin/sh gwadmin

Prerequisites and download

sudo apt-get install subversion make libssl-dev xinetd ant
cd /opt/gridway
sudo -u gwadmin sh -c 'wget http://dev.gridway.org/attachments/download/44/gridway_5.6.1.tar.gz; gunzip -c gridway_5.6.1.tar.gz | tar xvf - || sudo -u gwadmin svn co http://svn.gridway.org/gridway/tags/GW_5_6_1 gridway_5.6.1'

Environment setup

From here on, we assume you have already installed the Globus Toolkit 4.2 and your $GLOBUS_LOCATION is /opt/globus/4.2.1. Check the Globus Quick Start Guide in order to know how to easily install Globus on your machine (you can restrict yourself there to sections 1.1, 1.2 and 1.5).

You will need environmental variables for the gwusers so

sudo nano /etc/profile.d/gridway.sh
and edit the /etc/profile.d/gridway.sh file with the following content:

for i in `groups`; do
 if [ "$i" = 'gwusers' ]; then
  GLOBUS_LOCATION=/opt/globus/4.2.1
  GW_LOCATION=/opt/gridway/5.6.1
  JAVA_HOME=/usr/lib/jvm/java-6-openjdk
  ANT_HOME=/usr/share/ant
  PATH=$GW_LOCATION/bin:$GLOBUS_LOCATION/bin:${PATH}
  LD_LIBRARY_PATH=$GW_LOCATION/lib:${LD_LIBRARY_PATH}
  export PATH LD_LIBRARY_PATH GLOBUS_LOCATION GW_LOCATION JAVA_HOME ANT_HOME
 fi
done

Installation

This step is required only if you want to compile GridWay with support of the drmaa-ruby and ldap:

sudo apt-get install ruby-dev libnet-ldap-perl libnet-ssh-ruby1.8 libnet-sftp-ruby1.8 libdb4.7-dev

In any case, you are ready for the ./configure; make; make install phase, but it will be trickier since the gwadmin is a system user (that's why we use sudo -u) and environmental variables are loaded when login (that's why we use sh -l)

cd /opt/gridway/gridway_5.6.1
sudo -u gwadmin sh -lc './configure --enable-ldap --enable-prews --enable-drmaa-ruby --enable-drmaa1 --enable-ssh --enable-debug'
sudo -u gwadmin sh -lc 'make'
sudo -u gwadmin sh -lc 'make install'

Configuration

You will need to edit the /opt/gridway/5.6.1/etc/gwd.conf according to the Configuration Guide.

Moreover the administrator of GridWay needs to launch the Execution and Transfer MADs as the user themselves, therefore some privileges are required to be set in the /etc/sudoers file.

sudo visudo
and add the following lines

Runas_Alias GWUSERS = %gwusers

Defaults>GWUSERS env_keep="GW_LOCATION GLOBUS_LOCATION GLOBUS_TCP_PORT_RANGE X509_USER_PROXY"

gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_em_mad_prews *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_em_mad_ws *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_em_mad_ssh *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_tm_mad_dummy *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_tm_mad_ftp *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/gridway/5.6.1/bin/gw_tm_mad_ssh *
gwadmin ALL=(GWUSERS) NOPASSWD: /opt/globus/4.2.1/bin/grid-proxy-info *

Starting the daemon (simple way)

sudo -u gwadmin sh -lc 'gwd -m'

We recommend you to insert a similar line into your /etc/rc.local to get it started every time after boot

su gwadmin -c "sh -lc 'gwd -m'"