Guide to Ganga

From GridPP Wiki
Jump to: navigation, search

Introduction

This is a guide to installing and configuring the Ganga Job Management tool for use with both local batch systems and the DIRAC workload management system. It's maintained by Mark Slater (mws<AT>hep.ph.bh.bham.ac.uk) - please email if you have any comments/problems!

For more info and more in depth user guides, please visit the main Ganga website http://ganga.web.cern.ch/ganga/

Requirements

Before you start using Ganga (assuming you want to use it to submit jobs to the grid rather than just for local batch system submission), there are a few steps you need to go through:

Installation and Configuration

Here are the steps to download and configure Ganga:

  • Download the install script from the Ganga website and make it executable:
 wget http://ganga.web.cern.ch/ganga/download/ganga-install
 chmod +x ganga-install
  • Run the script with the external plugins you want to include to download and install Ganga at ~/Ganga. Generally, this will be the GangaDirac plugin:
 ./ganga-install --extern=GangaDirac LAST
  • Now run Ganga with the -g flag to create the default .gangarc file:
 /home/<username>/Ganga/install/<version>/bin/ganga -g -o[Configuration]RUNTIME_PATH=GangaDirac
  • To configure Ganga to submit using your DIRAC client installation, setup the DIRAC client and export the environment to a file for Ganga to use:
 source ~/dirac/bashrc
 env > ~/dirac/envfile
  • Now edit your .gangarc file and set the following option:
 [Configuration] RUNTIME_PATH = GangaDirac
 [Dirac] DiracEnvFile = /home/<username>/dirac/envfile
 [defaults_GridCommand]info = dirac-proxy-info
 [defaults_GridCommand]init = dirac-proxy-init -g <dirac user group>


  • Now setup the DIRAC client (as you should before running Ganga if you want to use it) and then run Ganga. It should ask you to generate a proxy and then leave you at the IPython prompt:
 source ~/dirac/bashrc
 /home/<username>/Ganga/install/<version>/bin/ganga
  • To test that all is working, try to submit a basic job to the local machine you're running and then to DIRAC:
  Job().submit()
  Job( backend=Dirac() ).submit()

Getting Started