Note: There is a newer version of Pegasus available. Please see the main documentation page.

Chapter 3. Installation

3.1. Prerequisites

Pegasus has a few dependencies:

  • Java 1.6 or higher. Check with:

    # java -version
    java version "1.6.0_07"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.6.0_07-164)
    Java HotSpot(TM) Client VM (build 1.6.0_07-87, mixed mode, sharing)
  • Python 2.4 or higher. Check with:

    # python -v
    Python 2.6.2
  • Condor 7.6 or higher. See http://www.cs.wisc.edu/condor/ for more information. You should be able to run condor_q and condor_status.

3.2. Optional Software

  • Globus 4.0 or higher. Globus is only needed if you want to run against grid sites or use GridFTP for data transfers. See http://www.globus.org/ for more information. Check Globus Installation

    # echo $GLOBUS_LOCATION
    /path/to/globus/install

    Make sure you source the Globus environment

    # GLOBUS_LOCATION/etc/globus-user-env.sh

    Check the setup by running:#

    # globus-version
    5.2.0

3.3. Environment

To use Pegasus, you need ot have the pegasus-* tools in your PATH. If you have installed Pegasus from RPM/DEB packages. the tools will be in the default PATH, in /usr/bin. If you have installed Pegasus from binary tarballs or source, add the bin/ directory to your PATH.

  Example for bourne shells:

    # export PATH=/some/install/pegasus-4.0.0/bin:$PATH

Note

Pegasus 4.0 is different from previous versions of Pegasus in that it does not require PEGASUS_HOME to be set or sourcing of any environtment setup scripts.

If you want to use the DAX APIs, you might also need to set your PYTHONPATH, PERLLIB, or CLASSPATH. The right setting can be found by using pegasus-config:

# export PYTHONPATH=`pegasus-config --python`
# export PERLLIB=`pegasus-config --perl`
# export CLASSPATH=`pegasus-config --classpath`

3.4. Native Packages (RPM/DEB)

The preferred way to install Pegasus is with native (RPM/DEB) packages. It is recommended that you also install Condor (yum, debian) from native packages.

Note

Pegasus 4.0 is the first release of Pegasus which is Filesystem Hierarchy Standard (FHS) compliant. The native packages no longer installs under /opt. Instead, pegasus-* binaries are in /usr/bin/ and example workflows can be found under /usr/share/pegasus/examples/. To find Pegasus system components, a pegasus-config tool is provided. For example, to find the PYTHONPATH for the DAX API, run: export PYTHONPATH=`pegasus-config --python`

3.4.1. RHEL / CentOS / Scientific Linux

Add the Pegasus repository to yum downloading the Pegasus repos file and adding it to /etc/yum.repos.d/. For RHEL 5 based systemes:

# wget -O /etc/yum.repos.d/pegasus.repo http://download.pegasus.isi.edu/wms/download/rhel/5/pegasus.repo

For RHEL 6 based systems:

# wget -O /etc/yum.repos.d/pegasus.repo http://download.pegasus.isi.edu/wms/download/rhel/6/pegasus.repo

Search for, and install Pegasus:

# yum search pegasus
pegasus.x86_64 : Workflow management system for Condor, grids, and clouds
# yum install pegasus
Running Transaction
Installing     : pegasus

Installed:
pegasus   :4.0.0-1                                                                                                                        

Complete!

3.4.2. Debian

To be able to install and upgrade from the Pegasus apt repository, you will have to trust the repository key. You only need to add the repository key once:

# gpg --keyserver pgp.mit.edu --recv-keys 81C2A4AC
# gpg -a --export 81C2A4AC | apt-key add -  

Add the Pegasus apt repository to your /etc/apt/sources.list file:

deb http://download.pegasus.isi.edu/wms/download/debian squeeze main

Install Pegasus with apt-get :

# apt-get update
...
# apt-get install pegasus

3.5. Pegasus from Tarballs

The Pegaus prebuild tarballs can be downloaded from the Pegasus Download Page.

3.5.1. Tarball without Condor

Use these tarballs if you already have Condor installed or prefer to keep the Condor installation separate from the Pegasus installation.

  • Untar the tarball

    # tar zxf pegasus-*.tar.gz
  • include the Pegasus bin directory in your PATH

    # export PATH=/path/to/pegasus-4.0.0:$PATH

3.5.2. Tarball with Included Condor

For convenience, there is Pegasus WMS tarballs which has Condor included. This way you can install Pegasus and Condor at the same time, with just minor configuration to get up and running.

  • Untar the tarball

    # tar zxf pegasus-wms-*.tar.gz
  • Edit the Condor Configuration file. The configuration file is currently configured to run only as a submit side (Runs schedd) supporting schedule, local and grid universe. If you want to use it for gt4, lsf, pbs or condor-c additional configuration changes may be required. Please check the Condor Manual for appropriate parameters.

    2 parameters need to change at this point. Change !!PEGASUS_HOME!! to the actual path where PEGASUS_WMS is installed and CHANGE !!USER!! to the user who will receive email in case of error. (This can be just your username )

    # vim $PEGASUS_HOME/etc/condor_config
    
    
    RELEASE_DIR = !!PEGASUS_HOME!!    # CHANGE THIS TO PATH OF PEGASUS_WMS INSTALLATION
    WILL GET EMAIL IN CASE OF ERROR.
  • Set up the environment:

    # export PATH=PEGASUS_HOME/bin:PEGASUS_HOME/condor/bin:$PATH
    # export CONDOR_CONFIG=PEGASUS_HOME/etc/condor_config
  • Start Condor by running ./sbin/condor_master

    # ./sbin/condor_master
  • Verify that Condor is up by running the condor-q command

    # condor_q
    
    -- Submitter: gmehta@smarty.isi.edu : <128.9.72.26:60126> : smarty.isi.edu
     ID      OWNER            SUBMITTED     RUN_TIME ST PRI SIZE CMD               
    
    0 jobs; 0 idle, 0 running, 0 held