Personal tools

4.6.3. Using Condor

Up one level
The GRIA Job Service can submit jobs to Condor clusters. Here's how.

Configuring Condor

This section assumes you already have a working Condor installation. If not, you can follow the installation guide in the Condor manual.

Typical Condor setup

Figure 1: Typical Condor setup

Figure 1 shows a typical Condor/GRIA setup. Condor should be installed on the machine running the GRIA Job Service, and it should be allowed to submit jobs to the Condor Central Manager. To do this, you need to add the machine's hostname to the global Condor configuration file.

For example:

HOSTALLOW_WRITE = submit1.your.domain, submit2.your.domain, griaserver.your.domain

Configuring GRIA

Setting up the Condor plugin in the GRIA Job Service is simple. First click the Configure link next to Condor on the main admin page. This will open up the Condor configuration page:

Configuring the Condor plugin

Figure 2: Configuring the Condor plugin

Enter the paths to Condor's installation directory and its configuration file, then press Save configuration.

Customising Job Submissions

The job description template used for jobs submitted by GRIA is quite simple:

universe        = vanilla
executable = frame.py
shell = /bin/bash
log = loguser
should_transfer_files = IF_NEEDED
when_to_transfer_output = ON_EXIT
queue

# Resource constraints
###RESOURCE_CONSTRAINTS###

(Note that ###RESOURCE_CONSTRAINTS### will be replaced automatically by the Job Service when a job is submitted)

This template is located inside the webapp (TOMCAT_DIR/webapps/gria-basic-app-services/WEB-INF/rm-connectors/plugins/CondorTemplate.jdf), and if you need to modify it you have two choices:

  1. Change the template file inside the webapp. The disadvantage of this is that your changes will be overwritten if you redeploy or upgrade the GRIA Job Service.
  2. Copy the plugin and template files to a location outside the webapp and then modify them. You will have to change the name of your new plugin copy so that the Job Service can distinguish it from the original. To do this open up Condor.py and change
    class Condor(RMConnector):
    to something like
    class CondorCopy(RMConnector):
    You can leave the filename the same, or change it if you prefer. You should now enter the directory containing your new plugin in the Job Service configuration page.

Condor on Windows

Condor needs to switch to the user account of the submitter whenever it runs a job. This is straightforward on UNIX when Condor runs as root but, on Windows, knowledge of the user's password is required even when running at the maximum privilege level.

The GRIA Job Service runs under Tomcat, which by default runs as the NT Local System user. In this configuration, GRIA is not able to submit jobs to Condor, as the Local System user does not have a password and cannot have one set. It is recommended that you create a seperate user account for the GRIA Job Service, and have Tomcat run as that user.