next up previous contents index
Next: 8.6 Managing Large Workflows Up: 8. Frequently Asked Questions Previous: 8.4 HTCondor on Windows   Contents   Index

Subsections

8.5 Grid Computing

What must be installed to access grid resources?

A single machine with HTCondor installed such that jobs may be submitted is the minimum software necessary. If matchmaking is desired, then a single machine must not only be running HTCondor such that jobs may be submitted, but also fill the role of a central manager. A Personal HTCondor installation may satisfy both.

I am the administrator at Physics, and I have a 64-node cluster running HTCondor. The administrator at Chemistry is also running HTCondor on her 64-node cluster. We would like to be able to share resources. How do we do this?

HTCondor's flocking feature allows multiple HTCondor pools to share resources. By setting configuration variables within each pool, jobs may be executed on either cluster. See the manual section on flocking, section 5.2, for details.


Using my Globus gatekeeper to submit jobs to the HTCondor pool does not work. What is wrong?

The HTCondor configuration file is in a non-standard location, and the Globus software does not know how to locate it, when you see either of the following error messages.

first error message

% globus-job-run \
  globus-gate-keeper.example.com/jobmanager-condor /bin/date

Neither the environment variable CONDOR_CONFIG, /etc/condor/,
nor ~condor/ contain a condor_config file.  Either set
CONDOR_CONFIG to point to a valid config file, or put a
"condor_config" file in /etc/condor or ~condor/ Exiting.

GRAM Job failed because the job failed when the job manager
attempted to run it (error code 17)

second error message

% globus-job-run \
   globus-gate-keeper.example.com/jobmanager-condor /bin/date

ERROR: Can't find address of local schedd GRAM Job failed
because the job failed when the job manager attempted to run it
(error code 17)

As described in section 3.2.2, HTCondor searches for its configuration file using the following ordering.

  1. File specified in the CONDOR_CONFIG environment variable
  2. $(HOME)/.condor/condor_config
  3. /etc/condor/condor_config
  4. /usr/local/etc/condor_config
  5. ~condor/condor_config

Presuming the configuration file is not in a standard location, you will need to set the CONDOR_CONFIG environment variable by hand, or set it in an initialization script. One of the following solutions for an initialization may be used.

  1. Wherever globus-gatekeeper is launched, replace it with a minimal shell script that sets CONDOR_CONFIG and then starts globus-gatekeeper. Something like the following should work:

      #! /bin/sh
      CONDOR_CONFIG=/path/to/condor_config
      export CONDOR_CONFIG
      exec /path/to/globus/sbin/globus-gatekeeper "$@"
    
  2. If you are starting globus-gatekeeper using inetd, xinetd, or a similar program, set the environment variable there. If you are using inetd, you can use the env program to set the environment. This example does this; the example is shown on multiple lines, but it will be all on one line in the inetd configuration.
    globus-gatekeeper stream tcp nowait root /usr/bin/env
    env CONDOR_CONFIG=/path/to/condor_config
    /path/to/globus/sbin/globus-gatekeeper
    -co /path/to/globus/etc/globus-gatekeeper.conf
    
    If you're using xinetd, add an env setting something like the following:
    service gsigatekeeper
    {
        env = CONDOR_CONFIG=/path/to/condor_config
        cps = 1000 1
        disable = no
        instances = UNLIMITED
        max_load = 300
        nice = 10
        protocol = tcp
        server = /path/to/globus/sbin/globus-gatekeeper
        server_args = -conf /path/to/globus/etc/globus-gatekeeper.conf
        socket_type = stream
        user = root
        wait = no
    }
    


next up previous contents index
Next: 8.6 Managing Large Workflows Up: 8. Frequently Asked Questions Previous: 8.4 HTCondor on Windows   Contents   Index
htcondor-admin@cs.wisc.edu