Page History
- 2013-Aug-28 11:07 smoler
- 2013-Aug-28 11:00 smoler
- 2013-May-14 14:15 gthain
First, you need to tell the machines to report that they have special software installed, and second, you need to tell the jobs to require machines that have that software.
To tell the machines to report the presence of special software, first add a parameter to their configuration files like so:
HAS_MY_SOFTWARE = True
And then, if there are already STARTD_ATTRS defined in that file, add HAS_MY_SOFTWARE to them, or, if not, add the line:
STARTD_ATTRS = HAS_MY_SOFTWARE, $(STARTD_ATTRS)
Note For these changes to take effect, each condor_startd you update needs to be reconfigured with condor_reconfig -startd.
You can double-check that this has been correctly added by running the condor_status command:
condor_status -constraint HAS_MY_SOFTWARE
Next, to tell your jobs to only run on machines that have this software, add a requirements statement to their submit files like so:
Requirements = (HAS_MY_SOFTWARE =?= True)
Note Be sure to use ?
instead of == so that if a machine doesn't have
the HAS_MY_SOFTWARE parameter defined, the job's Requirements
expression will not evaluate to ``undefined'', preventing it from
running anywhere!