source: trunk/dports/science/htcondor/files/condor_config @ 105270

Last change on this file since 105270 was 105270, checked in by aronnax@…, 7 years ago

htcondor: new port, specialized workload management system for compute-intensive jobs

File size: 107.9 KB
Line 
1######################################################################
2##
3##  condor_config
4##
5##  This is the global configuration file for condor.  Any settings
6##  made here may potentially be overridden in the local configuration
7##  file.  KEEP THAT IN MIND!  To double-check that a variable is
8##  getting set from the configuration file that you expect, use
9##  condor_config_val -v <variable name>
10##
11##  The file is divided into four main parts:
12##  Part 1:  Settings you likely want to customize
13##  Part 2:  Settings you may want to customize
14##  Part 3:  Settings that control the policy of when condor will
15##           start and stop jobs on your machines
16##  Part 4:  Settings you should probably leave alone (unless you
17##  know what you're doing)
18##
19##  Please read the INSTALL file (or the Install chapter in the
20##  Condor Administrator's Manual) for detailed explanations of the
21##  various settings in here and possible ways to configure your
22##  pool.
23##
24##  Unless otherwise specified, settings that are commented out show
25##  the defaults that are used if you don't define a value.  Settings
26##  that are defined here MUST BE DEFINED since they have no default
27##  value.
28##
29##  Unless otherwise indicated, all settings which specify a time are
30##  defined in seconds.
31##
32######################################################################
33
34######################################################################
35######################################################################
36##
37##  ######                                     #
38##  #     #    ##    #####    #####           ##
39##  #     #   #  #   #    #     #            # #
40##  ######   #    #  #    #     #              #
41##  #        ######  #####      #              #
42##  #        #    #  #   #      #              #
43##  #        #    #  #    #     #            #####
44##
45##  Part 1:  Settings you likely want to customize:
46######################################################################
47######################################################################
48
49##  What machine is your central manager?
50CONDOR_HOST     = 127.0.0.1
51
52##--------------------------------------------------------------------
53##  Pathnames:
54##--------------------------------------------------------------------
55##  Where have you installed the bin, sbin and lib condor directories?   
56RELEASE_DIR             = @prefix@
57
58##  Where is the local condor directory for each host? 
59##  This is where the local config file(s), logs and
60##  spool/execute directories are located
61LOCAL_DIR               = @prefix@/var
62#LOCAL_DIR              = $(RELEASE_DIR)/hosts/$(HOSTNAME)
63
64##  Where is the machine-specific local config file for each host?
65LOCAL_CONFIG_FILE       = @prefix@/etc/condor/condor_config.local
66#LOCAL_CONFIG_FILE      = $(RELEASE_DIR)/etc/$(HOSTNAME).local
67
68##  Where are optional machine-specific local config files located?
69##  Config files are included in lexicographic order.
70LOCAL_CONFIG_DIR        = @prefix@/etc/condor/config.d
71#LOCAL_CONFIG_DIR       = $(LOCAL_DIR)/config
72
73## Blacklist for file processing in the LOCAL_CONFIG_DIR
74## LOCAL_CONFIG_DIR_EXCLUDE_REGEXP = ^((\..*)|(.*~)|(#.*)|(.*\.rpmsave)|(.*\.rpmnew))$
75
76## If the local config file is not present, is it an error?
77## WARNING: This is a potential security issue.
78## If not specified, the default is True
79#REQUIRE_LOCAL_CONFIG_FILE = TRUE
80
81##--------------------------------------------------------------------
82##  Mail parameters:
83##--------------------------------------------------------------------
84##  When something goes wrong with condor at your site, who should get
85##  the email?
86CONDOR_ADMIN            = root@127.0.0.1
87
88##  Full path to a mail delivery program that understands that "-s"
89##  means you want to specify a subject:
90MAIL                    = /bin/mail
91
92##--------------------------------------------------------------------
93##  Network domain parameters:
94##--------------------------------------------------------------------
95##  Internet domain of machines sharing a common UID space.  If your
96##  machines don't share a common UID space, set it to
97##  UID_DOMAIN = $(FULL_HOSTNAME)
98##  to specify that each machine has its own UID space.
99UID_DOMAIN              = 127.0.0.1
100
101##  Internet domain of machines sharing a common file system.
102##  If your machines don't use a network file system, set it to
103##  FILESYSTEM_DOMAIN = $(FULL_HOSTNAME)
104##  to specify that each machine has its own file system.
105FILESYSTEM_DOMAIN       = 127.0.0.1
106
107##  This macro is used to specify a short description of your pool.
108##  It should be about 20 characters long. For example, the name of
109##  the UW-Madison Computer Science Condor Pool is ``UW-Madison CS''.
110COLLECTOR_NAME          = My Pool - $(CONDOR_HOST)
111
112######################################################################
113######################################################################
114## 
115##  ######                                   #####
116##  #     #    ##    #####    #####         #     #
117##  #     #   #  #   #    #     #                 #
118##  ######   #    #  #    #     #            #####
119##  #        ######  #####      #           #
120##  #        #    #  #   #      #           #
121##  #        #    #  #    #     #           #######
122## 
123##  Part 2:  Settings you may want to customize:
124##  (it is generally safe to leave these untouched)
125######################################################################
126######################################################################
127
128##
129##  The user/group ID <uid>.<gid> of the "Condor" user.
130##  (this can also be specified in the environment)
131##  Note: the CONDOR_IDS setting is ignored on Win32 platforms
132#CONDOR_IDS=x.x
133
134##--------------------------------------------------------------------
135##  Flocking: Submitting jobs to more than one pool
136##--------------------------------------------------------------------
137##  Flocking allows you to run your jobs in other pools, or lets
138##  others run jobs in your pool.
139##
140##  To let others flock to you, define FLOCK_FROM.
141##
142##  To flock to others, define FLOCK_TO.
143
144##  FLOCK_FROM defines the machines where you would like to grant
145##  people access to your pool via flocking. (i.e. you are granting
146##  access to these machines to join your pool).
147FLOCK_FROM =
148##  An example of this is:
149#FLOCK_FROM = somehost.friendly.domain, anotherhost.friendly.domain
150
151##  FLOCK_TO defines the central managers of the pools that you want
152##  to flock to. (i.e. you are specifying the machines that you
153##  want your jobs to be negotiated at -- thereby specifying the
154##  pools they will run in.)
155FLOCK_TO =
156##  An example of this is:
157#FLOCK_TO = central_manager.friendly.domain, condor.cs.wisc.edu
158
159##  FLOCK_COLLECTOR_HOSTS should almost always be the same as
160##  FLOCK_NEGOTIATOR_HOSTS (as shown below).  The only reason it would be
161##  different is if the collector and negotiator in the pool that you are
162##  flocking too are running on different machines (not recommended).
163##  The collectors must be specified in the same corresponding order as
164##  the FLOCK_NEGOTIATOR_HOSTS list.
165FLOCK_NEGOTIATOR_HOSTS = $(FLOCK_TO)
166FLOCK_COLLECTOR_HOSTS = $(FLOCK_TO)
167## An example of having the negotiator and the collector on different
168## machines is:
169#FLOCK_NEGOTIATOR_HOSTS = condor.cs.wisc.edu, condor-negotiator.friendly.domain
170#FLOCK_COLLECTOR_HOSTS =  condor.cs.wisc.edu, condor-collector.friendly.domain
171
172##--------------------------------------------------------------------
173##  Host/IP access levels
174##--------------------------------------------------------------------
175##  Please see the administrator's manual for details on these
176##  settings, what they're for, and how to use them.
177
178##  What machines have administrative rights for your pool?  This
179##  defaults to your central manager.  You should set it to the
180##  machine(s) where whoever is the condor administrator(s) works
181##  (assuming you trust all the users who log into that/those
182##  machine(s), since this is machine-wide access you're granting).
183ALLOW_ADMINISTRATOR = $(CONDOR_HOST), $(IP_ADDRESS)
184
185##  If there are no machines that should have administrative access
186##  to your pool (for example, there's no machine where only trusted
187##  users have accounts), you can uncomment this setting.
188##  Unfortunately, this will mean that administering your pool will
189##  be more difficult.
190#DENY_ADMINISTRATOR = *
191
192##  What machines should have "owner" access to your machines, meaning
193##  they can issue commands that a machine owner should be able to
194##  issue to their own machine (like condor_vacate).  This defaults to
195##  machines with administrator access, and the local machine.  This
196##  is probably what you want.
197ALLOW_OWNER = $(FULL_HOSTNAME), $(ALLOW_ADMINISTRATOR)
198
199##  Read access.  Machines listed as allow (and/or not listed as deny)
200##  can view the status of your pool, but cannot join your pool
201##  or run jobs.
202##  NOTE: By default, without these entries customized, you
203##  are granting read access to the whole world.  You may want to
204##  restrict that to hosts in your domain.  If possible, please also
205##  grant read access to "*.cs.wisc.edu", so the Condor developers
206##  will be able to view the status of your pool and more easily help
207##  you install, configure or debug your Condor installation.
208##  It is important to have this defined.
209ALLOW_READ = *
210#ALLOW_READ = *.your.domain, *.cs.wisc.edu
211#DENY_READ = *.bad.subnet, bad-machine.your.domain, 144.77.88.*
212
213##  Write access.  Machines listed here can join your pool, submit
214##  jobs, etc.  Note: Any machine which has WRITE access must
215##  also be granted READ access.  Granting WRITE access below does
216##  not also automatically grant READ access; you must change
217##  ALLOW_READ above as well.
218##
219##  You must set this to something else before Condor will run.
220##  This most simple option is:
221##    ALLOW_WRITE = *
222##  but note that this will allow anyone to submit jobs or add
223##  machines to your pool and is a serious security risk.
224
225ALLOW_WRITE = $(FULL_HOSTNAME), 127.0.0.1
226#ALLOW_WRITE = *.your.domain, your-friend's-machine.other.domain
227#DENY_WRITE = bad-machine.your.domain
228
229##  Are you upgrading to a new version of Condor and confused about
230##  why the above ALLOW_WRITE setting is causing Condor to refuse to
231##  start up?  If you are upgrading from a configuration that uses
232##  HOSTALLOW/HOSTDENY instead of ALLOW/DENY we recommend that you
233##  convert all uses of the former to the latter.  The syntax of the
234##  authorization settings is identical.  They both support
235##  unauthenticated IP-based authorization as well as authenticated
236##  user-based authorization.  To avoid confusion, the use of
237##  HOSTALLOW/HOSTDENY is discouraged.  Support for it may be removed
238##  in the future.
239
240##  Negotiator access.  Machines listed here are trusted central
241##  managers.  You should normally not have to change this.
242ALLOW_NEGOTIATOR = $(CONDOR_HOST), $(IP_ADDRESS)
243##  Now, with flocking we need to let the SCHEDD trust the other
244##  negotiators we are flocking with as well.  You should normally
245##  not have to change this either.
246ALLOW_NEGOTIATOR_SCHEDD = $(CONDOR_HOST), $(FLOCK_NEGOTIATOR_HOSTS), $(IP_ADDRESS)
247
248##  Config access.  Machines listed here can use the condor_config_val
249##  tool to modify all daemon configurations.  This level of host-wide
250##  access should only be granted with extreme caution.  By default,
251##  config access is denied from all hosts.
252#ALLOW_CONFIG = trusted-host.your.domain
253
254##  Flocking Configs.  These are the real things that Condor looks at,
255##  but we set them from the FLOCK_FROM/TO macros above.  It is safe
256##  to leave these unchanged.
257ALLOW_WRITE_COLLECTOR = $(ALLOW_WRITE), $(FLOCK_FROM)
258ALLOW_WRITE_STARTD    = $(ALLOW_WRITE), $(FLOCK_FROM)
259ALLOW_READ_COLLECTOR  = $(ALLOW_READ), $(FLOCK_FROM)
260ALLOW_READ_STARTD     = $(ALLOW_READ), $(FLOCK_FROM)
261
262
263##--------------------------------------------------------------------
264##  Security parameters for setting configuration values remotely:
265##--------------------------------------------------------------------
266##  These parameters define the list of attributes that can be set
267##  remotely with condor_config_val for the security access levels
268##  defined above (for example, WRITE, ADMINISTRATOR, CONFIG, etc).
269##  Please see the administrator's manual for further details on these
270##  settings, what they're for, and how to use them.  There are no
271##  default values for any of these settings.  If they are not
272##  defined, no attributes can be set with condor_config_val.
273
274## Do you want to allow condor_config_val -reset to work at all?
275## This feature is disabled by default, so to enable, you must
276## uncomment the following setting and change the value to "True".
277## Note: changing this requires a restart not just a reconfig.
278#ENABLE_RUNTIME_CONFIG = False
279
280## Do you want to allow condor_config_val -set to work at all?
281## This feature is disabled by default, so to enable, you must
282## uncomment the following setting and change the value to "True".
283## Note: changing this requires a restart not just a reconfig.
284#ENABLE_PERSISTENT_CONFIG = False
285
286## Directory where daemons should write persistent config files (used
287## to support condor_config_val -set).  This directory should *ONLY*
288## be writable by root (or the user the Condor daemons are running as
289## if non-root).  There is no default, administrators must define this.
290## Note: changing this requires a restart not just a reconfig.
291#PERSISTENT_CONFIG_DIR = /full/path/to/root-only/local/directory
292
293##  Attributes that can be set by hosts with "CONFIG" permission (as
294##  defined with ALLOW_CONFIG and DENY_CONFIG above).
295##  The commented-out value here was the default behavior of Condor
296##  prior to version 6.3.3.  If you don't need this behavior, you
297##  should leave this commented out.
298#SETTABLE_ATTRS_CONFIG = *
299
300##  Attributes that can be set by hosts with "ADMINISTRATOR"
301##  permission (as defined above)
302#SETTABLE_ATTRS_ADMINISTRATOR = *_DEBUG, MAX_*_LOG
303
304##  Attributes that can be set by hosts with "OWNER" permission (as
305##  defined above) NOTE: any Condor job running on a given host will
306##  have OWNER permission on that host by default.  If you grant this
307##  kind of access, Condor jobs will be able to modify any attributes
308##  you list below on the machine where they are running.  This has
309##  obvious security implications, so only grant this kind of
310##  permission for custom attributes that you define for your own use
311##  at your pool (custom attributes about your machines that are
312##  published with the STARTD_ATTRS setting, for example).
313#SETTABLE_ATTRS_OWNER = your_custom_attribute, another_custom_attr
314
315##  You can also define daemon-specific versions of each of these
316##  settings.  For example, to define settings that can only be
317##  changed in the condor_startd's configuration by hosts with OWNER
318##  permission, you would use:
319#STARTD_SETTABLE_ATTRS_OWNER = your_custom_attribute_name
320
321
322##--------------------------------------------------------------------
323##  Network filesystem parameters:
324##--------------------------------------------------------------------
325##  Do you want to use NFS for file access instead of remote system
326##  calls?
327#USE_NFS                = False
328
329##  Do you want to use AFS for file access instead of remote system
330##  calls?
331#USE_AFS                = False
332
333##--------------------------------------------------------------------
334##  Checkpoint server:
335##--------------------------------------------------------------------
336##  Do you want to use a checkpoint server if one is available?  If a
337##  checkpoint server isn't available or USE_CKPT_SERVER is set to
338##  False, checkpoints will be written to the local SPOOL directory on
339##  the submission machine.
340#USE_CKPT_SERVER        = True
341
342##  What's the hostname of this machine's nearest checkpoint server?
343#CKPT_SERVER_HOST       = checkpoint-server-hostname.your.domain
344
345##  Do you want the starter on the execute machine to choose the
346##  checkpoint server?  If False, the CKPT_SERVER_HOST set on
347##  the submit machine is used.  Otherwise, the CKPT_SERVER_HOST set
348##  on the execute machine is used.  The default is true.
349#STARTER_CHOOSES_CKPT_SERVER = True
350
351##--------------------------------------------------------------------
352##  Miscellaneous:
353##--------------------------------------------------------------------
354##  Try to save this much swap space by not starting new shadows. 
355##  Specified in megabytes.
356#RESERVED_SWAP          = 0
357
358##  What's the maximum number of jobs you want a single submit machine
359##  to spawn shadows for?  The default is a function of $(DETECTED_MEMORY)
360##  and a guess at the number of ephemeral ports available.
361
362## Example 1:
363#MAX_JOBS_RUNNING       = 10000
364
365## Example 2:
366## This is more complicated, but it produces the same limit as the default.
367## First define some expressions to use in our calculation.
368## Assume we can use up to 80% of memory and estimate shadow private data
369## size of 800k.
370#MAX_SHADOWS_MEM        = ceiling($(DETECTED_MEMORY)*0.8*1024/800)
371## Assume we can use ~21,000 ephemeral ports (avg ~2.1 per shadow).
372## Under Linux, the range is set in /proc/sys/net/ipv4/ip_local_port_range.
373#MAX_SHADOWS_PORTS      = 10000
374## Under windows, things are much less scalable, currently.
375## Note that this can probably be safely increased a bit under 64-bit windows.
376#MAX_SHADOWS_OPSYS      = ifThenElse(regexp("WIN.*","$(OPSYS)"),200,100000)
377## Now build up the expression for MAX_JOBS_RUNNING.  This is complicated
378## due to lack of a min() function.
379#MAX_JOBS_RUNNING       = $(MAX_SHADOWS_MEM)
380#MAX_JOBS_RUNNING       = \
381#  ifThenElse( $(MAX_SHADOWS_PORTS) < $(MAX_JOBS_RUNNING), \
382#              $(MAX_SHADOWS_PORTS), \
383#              $(MAX_JOBS_RUNNING) )
384#MAX_JOBS_RUNNING       = \
385#  ifThenElse( $(MAX_SHADOWS_OPSYS) < $(MAX_JOBS_RUNNING), \
386#              $(MAX_SHADOWS_OPSYS), \
387#              $(MAX_JOBS_RUNNING) )
388
389
390##  Maximum number of simultaneous downloads of output files from
391##  execute machines to the submit machine (limit applied per schedd).
392##  The value 0 means unlimited.
393#MAX_CONCURRENT_DOWNLOADS = 10
394
395##  Maximum number of simultaneous uploads of input files from the
396##  submit machine to execute machines (limit applied per schedd).
397##  The value 0 means unlimited.
398#MAX_CONCURRENT_UPLOADS = 10
399
400##  Condor needs to create a few lock files to synchronize access to
401##  various log files.  Because of problems we've had with network
402##  filesystems and file locking over the years, we HIGHLY recommend
403##  that you put these lock files on a local partition on each
404##  machine.  If you don't have your LOCAL_DIR on a local partition,
405##  be sure to change this entry.  Whatever user (or group) condor is
406##  running as needs to have write access to this directory.  If
407##  you're not running as root, this is whatever user you started up
408##  the condor_master as.  If you are running as root, and there's a
409##  condor account, it's probably condor.  Otherwise, it's whatever
410##  you've set in the CONDOR_IDS environment variable.  See the Admin
411##  manual for details on this.
412LOCK            = $(LOG)
413
414##  If you don't use a fully qualified name in your /etc/hosts file
415##  (or NIS, etc.) for either your official hostname or as an alias,
416##  Condor wouldn't normally be able to use fully qualified names in
417##  places that it'd like to.  You can set this parameter to the
418##  domain you'd like appended to your hostname, if changing your host
419##  information isn't a good option.  This parameter must be set in
420##  the global config file (not the LOCAL_CONFIG_FILE from above).
421#DEFAULT_DOMAIN_NAME = your.domain.name
422
423##  If you don't have DNS set up, Condor will normally fail in many
424##  places because it can't resolve hostnames to IP addresses and
425##  vice-versa. If you enable this option, Condor will use
426##  pseudo-hostnames constructed from a machine's IP address and the
427##  DEFAULT_DOMAIN_NAME. Both NO_DNS and DEFAULT_DOMAIN must be set in
428##  your top-level config file for this mode of operation to work
429##  properly.
430#NO_DNS = True
431
432##  Condor can be told whether or not you want the Condor daemons to
433##  create a core file if something really bad happens.  This just
434##  sets the resource limit for the size of a core file.  By default,
435##  we don't do anything, and leave in place whatever limit was in
436##  effect when you started the Condor daemons.  If this parameter is
437##  set and "True", we increase the limit to as large as it gets.  If
438##  it's set to "False", we set the limit at 0 (which means that no
439##  core files are even created).  Core files greatly help the Condor
440##  developers debug any problems you might be having.
441#CREATE_CORE_FILES      = True
442
443##  When Condor daemons detect a fatal internal exception, they
444##  normally log an error message and exit.  If you have turned on
445##  CREATE_CORE_FILES, in some cases you may also want to turn on
446##  ABORT_ON_EXCEPTION so that core files are generated when an
447##  exception occurs.  Set the following to True if that is what you
448##  want.
449#ABORT_ON_EXCEPTION = False
450
451##  Condor Glidein downloads binaries from a remote server for the
452##  machines into which you're gliding. This saves you from manually
453##  downloading and installing binaries for every architecture you
454##  might want to glidein to. The default server is one maintained at
455##  The University of Wisconsin. If you don't want to use the UW
456##  server, you can set up your own and change the following to
457##  point to it, instead.
458GLIDEIN_SERVER_URLS = \
459  http://www.cs.wisc.edu/condor/glidein/binaries
460
461## List the sites you want to GlideIn to on the GLIDEIN_SITES. For example,
462## if you'd like to GlideIn to some Alliance GiB resources,
463## uncomment the line below.
464## Make sure that $(GLIDEIN_SITES) is included in ALLOW_READ and
465## ALLOW_WRITE, or else your GlideIns won't be able to join your pool.
466## This is _NOT_ done for you by default, because it is an even better
467## idea to use a strong security method (such as GSI) rather than
468## host-based security for authorizing glideins.
469#GLIDEIN_SITES = *.ncsa.uiuc.edu, *.cs.wisc.edu, *.mcs.anl.gov
470#GLIDEIN_SITES =
471
472##  If your site needs to use UID_DOMAIN settings (defined above) that
473##  are not real Internet domains that match the hostnames, you can
474##  tell Condor to trust whatever UID_DOMAIN a submit machine gives to
475##  the execute machine and just make sure the two strings match.  The
476##  default for this setting is False, since it is more secure this
477##  way.
478#TRUST_UID_DOMAIN = False
479
480## If you would like to be informed in near real-time via condor_q when
481## a vanilla/standard/java job is in a suspension state, set this attribute to
482## TRUE. However, this real-time update of the condor_schedd by the shadows
483## could cause performance issues if there are thousands of concurrently
484## running vanilla/standard/java jobs under a single condor_schedd and they
485## are allowed to suspend and resume.
486#REAL_TIME_JOB_SUSPEND_UPDATES = False
487
488## A standard universe job can perform arbitrary shell calls via the
489## libc 'system()' function. This function call is routed back to the shadow
490## which performs the actual system() invocation in the initial directory of the
491## running program and as the user who submitted the job. However, since the
492## user job can request ARBITRARY shell commands to be run by the shadow, this
493## is a generally unsafe practice. This should only be made available if it is
494## actually needed. If this attribute is not defined, then it is the same as
495## it being defined to False. Set it to True to allow the shadow to execute
496## arbitrary shell code from the user job.
497#SHADOW_ALLOW_UNSAFE_REMOTE_EXEC = False
498
499## KEEP_OUTPUT_SANDBOX is an optional feature to tell Condor-G to not
500## remove the job spool when the job leaves the queue.  To use, just
501## set to TRUE.  Since you will be operating Condor-G in this manner,
502## you may want to put leave_in_queue = false in your job submit
503## description files, to tell Condor-G to simply remove the job from
504## the queue immediately when the job completes (since the output files
505## will stick around no matter what).
506#KEEP_OUTPUT_SANDBOX = False
507
508## This setting tells the negotiator to ignore user priorities.  This
509## avoids problems where jobs from different users won't run when using
510## condor_advertise instead of a full-blown startd (some of the user
511## priority system in Condor relies on information from the startd --
512## we will remove this reliance when we support the user priority
513## system for grid sites in the negotiator; for now, this setting will
514## just disable it).
515#NEGOTIATOR_IGNORE_USER_PRIORITIES = False
516
517## This is a list of libraries containing ClassAd plug-in functions.
518#CLASSAD_USER_LIBS =
519
520## This setting tells Condor whether to delegate or copy GSI X509
521## credentials when sending them over the wire between daemons.
522## Delegation can take up to a second, which is very slow when
523## submitting a large number of jobs. Copying exposes the credential
524## to third parties if Condor isn't set to encrypt communications.
525## By default, Condor will delegate rather than copy.
526#DELEGATE_JOB_GSI_CREDENTIALS = True
527
528## This setting controls whether Condor delegates a full or limited
529## X509 credential for jobs. Currently, this only affects grid-type
530## gt2 grid universe jobs. The default is False.
531#DELEGATE_FULL_JOB_GSI_CREDENTIALS = False
532
533## This setting controls the default behavior for the spooling of files
534## into, or out of, the Condor system by such tools as condor_submit
535## and condor_transfer_data. Here is the list of valid settings for this
536## parameter and what they mean:
537##
538##   stm_use_schedd_only
539##      Ask the condor_schedd to solely store/retrieve the sandbox
540##
541##   stm_use_transferd
542##      Ask the condor_schedd for a location of a condor_transferd, then
543##      store/retrieve the sandbox from the transferd itself.
544##
545## The allowed values are case insensitive.
546## The default of this parameter if not specified is: stm_use_schedd_only
547#SANDBOX_TRANSFER_METHOD = stm_use_schedd_only
548
549## This setting specifies an IP address that depends on the setting of
550## BIND_ALL_INTERFACES. If BIND_ALL_INTERFACES  is True (the default), then
551## this variable controls what IP address will be advertised as the public
552## address of the daemon. If BIND_ALL_INTERFACES is False, then this variable
553## specifies which IP address to bind network sockets to. If
554## BIND_ALL_INTERFACES is False  and NETWORK_INTERFACE is not defined, Condor
555## chooses a network interface automatically. It tries to choose a public
556## interface if one is available. If it cannot decide which of two interfaces
557## to choose from, it will pick the first one.
558NETWORK_INTERFACE = 127.0.0.1
559
560##--------------------------------------------------------------------
561##  Settings that control the daemon's debugging output:
562##--------------------------------------------------------------------
563
564##
565## The flags given in ALL_DEBUG are shared between all daemons.
566##
567
568ALL_DEBUG               =
569
570MAX_COLLECTOR_LOG       = 1000000
571COLLECTOR_DEBUG         =
572
573MAX_KBDD_LOG            = 1000000
574KBDD_DEBUG              =
575
576MAX_NEGOTIATOR_LOG      = 1000000
577NEGOTIATOR_DEBUG        = D_MATCH
578MAX_NEGOTIATOR_MATCH_LOG = 1000000
579
580MAX_SCHEDD_LOG          = 1000000
581SCHEDD_DEBUG            = D_PID
582
583MAX_SHADOW_LOG          = 1000000
584SHADOW_DEBUG            =
585
586MAX_STARTD_LOG          = 1000000
587STARTD_DEBUG            =
588
589MAX_STARTER_LOG         = 1000000
590
591MAX_MASTER_LOG          = 1000000
592MASTER_DEBUG            =
593##  When the master starts up, should it truncate it's log file?
594#TRUNC_MASTER_LOG_ON_OPEN        = False
595
596MAX_JOB_ROUTER_LOG      = 1000000
597JOB_ROUTER_DEBUG        =
598
599MAX_ROOSTER_LOG         = 1000000
600ROOSTER_DEBUG           =
601
602MAX_SHARED_PORT_LOG     = 1000000
603SHARED_PORT_DEBUG       =
604
605MAX_HDFS_LOG            = 1000000
606HDFS_DEBUG              =
607
608# High Availability Logs
609MAX_HAD_LOG             = 1000000
610HAD_DEBUG               =
611MAX_REPLICATION_LOG     = 1000000
612REPLICATION_DEBUG       =
613MAX_TRANSFERER_LOG      = 1000000
614TRANSFERER_DEBUG        =
615
616
617## The daemons touch their log file periodically, even when they have
618## nothing to write. When a daemon starts up, it prints the last time
619## the log file was modified. This lets you estimate when a previous
620## instance of a daemon stopped running. This parameter controls how often
621## the daemons touch the file (in seconds).
622#TOUCH_LOG_INTERVAL = 60
623
624######################################################################
625######################################################################
626## 
627##  ######                                   #####
628##  #     #    ##    #####    #####         #     #
629##  #     #   #  #   #    #     #                 #
630##  ######   #    #  #    #     #            #####
631##  #        ######  #####      #                 #
632##  #        #    #  #   #      #           #     #
633##  #        #    #  #    #     #            #####
634## 
635##  Part 3:  Settings control the policy for running, stopping, and
636##  periodically check-pointing condor jobs:
637######################################################################
638######################################################################
639
640##  This section contains macros are here to help write legible
641##  expressions:
642MINUTE          = 60
643HOUR            = (60 * $(MINUTE))
644StateTimer      = (time() - EnteredCurrentState)
645ActivityTimer   = (time() - EnteredCurrentActivity)
646ActivationTimer = ifThenElse(JobStart =!= UNDEFINED, (time() - JobStart), 0)
647LastCkpt        = (time() - LastPeriodicCheckpoint)
648
649##  The JobUniverse attribute is just an int.  These macros can be
650##  used to specify the universe in a human-readable way:
651STANDARD        = 1
652VANILLA         = 5
653MPI             = 8
654VM              = 13
655IsMPI           = (TARGET.JobUniverse == $(MPI))
656IsVanilla       = (TARGET.JobUniverse == $(VANILLA))
657IsStandard      = (TARGET.JobUniverse == $(STANDARD))
658IsVM            = (TARGET.JobUniverse == $(VM))
659
660NonCondorLoadAvg        = (LoadAvg - CondorLoadAvg)
661BackgroundLoad          = 0.3
662HighLoad                = 0.5
663StartIdleTime           = 15 * $(MINUTE)
664ContinueIdleTime        =  5 * $(MINUTE)
665MaxSuspendTime          = 10 * $(MINUTE)
666MaxVacateTime           = 10 * $(MINUTE)
667
668KeyboardBusy            = (KeyboardIdle < $(MINUTE))
669ConsoleBusy             = (ConsoleIdle  < $(MINUTE))
670CPUIdle                 = ($(NonCondorLoadAvg) <= $(BackgroundLoad))
671CPUBusy                 = ($(NonCondorLoadAvg) >= $(HighLoad))
672KeyboardNotBusy         = ($(KeyboardBusy) == False)
673
674BigJob          = (TARGET.ImageSize >= (50 * 1024))
675MediumJob       = (TARGET.ImageSize >= (15 * 1024) && TARGET.ImageSize < (50 * 1024))
676SmallJob        = (TARGET.ImageSize <  (15 * 1024))
677
678JustCPU                 = ($(CPUBusy) && ($(KeyboardBusy) == False))
679MachineBusy             = ($(CPUBusy) || $(KeyboardBusy))
680
681##  The RANK expression controls which jobs this machine prefers to
682##  run over others.  Some examples from the manual include:
683##    RANK = TARGET.ImageSize
684##    RANK = (Owner == "coltrane") + (Owner == "tyner") \
685##                  + ((Owner == "garrison") * 10) + (Owner == "jones")
686##  By default, RANK is always 0, meaning that all jobs have an equal
687##  ranking.
688#RANK                   = 0
689
690
691#####################################################################
692##  This where you choose the configuration that you would like to
693##  use.  It has no defaults so it must be defined.  We start this
694##  file off with the UWCS_* policy.
695######################################################################
696
697##  Also here is what is referred to as the TESTINGMODE_*, which is
698##  a quick hardwired way to test Condor with a simple no-preemption policy.
699##  Replace UWCS_* with TESTINGMODE_* if you wish to do testing mode.
700##  For example:
701##  WANT_SUSPEND                = $(UWCS_WANT_SUSPEND)
702##  becomes
703##  WANT_SUSPEND                = $(TESTINGMODE_WANT_SUSPEND)
704
705# When should we only consider SUSPEND instead of PREEMPT?
706WANT_SUSPEND            = $(TESTINGMODE_WANT_SUSPEND)
707
708# When should we preempt gracefully instead of hard-killing?
709WANT_VACATE             = $(TESTINGMODE_WANT_VACATE)
710
711##  When is this machine willing to start a job?
712START                   = $(TESTINGMODE_START)
713
714##  When should a local universe job be allowed to start?
715#START_LOCAL_UNIVERSE   = TotalLocalJobsRunning < 200
716
717##  When should a scheduler universe job be allowed to start?
718#START_SCHEDULER_UNIVERSE       = TotalSchedulerJobsRunning < 200
719
720##  When to suspend a job?
721SUSPEND                 = $(TESTINGMODE_SUSPEND)
722
723##  When to resume a suspended job?
724CONTINUE                = $(TESTINGMODE_CONTINUE)
725
726##  When to nicely stop a job?
727##  (as opposed to killing it instantaneously)
728PREEMPT                 = $(TESTINGMODE_PREEMPT)
729
730##  When to instantaneously kill a preempting job
731##  (e.g. if a job is in the pre-empting stage for too long)
732KILL                    = $(TESTINGMODE_KILL)
733
734PERIODIC_CHECKPOINT     = $(TESTINGMODE_PERIODIC_CHECKPOINT)
735PREEMPTION_REQUIREMENTS = $(TESTINGMODE_PREEMPTION_REQUIREMENTS)
736PREEMPTION_RANK         = $(TESTINGMODE_PREEMPTION_RANK)
737NEGOTIATOR_PRE_JOB_RANK = $(TESTINGMODE_NEGOTIATOR_PRE_JOB_RANK)
738NEGOTIATOR_POST_JOB_RANK = $(TESTINGMODE_NEGOTIATOR_POST_JOB_RANK)
739MaxJobRetirementTime    = $(UWCS_MaxJobRetirementTime)
740CLAIM_WORKLIFE          = $(TESTINGMODE_CLAIM_WORKLIFE)
741
742#####################################################################
743## This is the UWisc - CS Department Configuration.
744#####################################################################
745
746# When should we only consider SUSPEND instead of PREEMPT?
747# Only when SUSPEND is True and one of the following is also true:
748#   - the job is small
749#   - the keyboard is idle
750#   - it is a vanilla universe job
751UWCS_WANT_SUSPEND  = ( $(SmallJob) || $(KeyboardNotBusy) || $(IsVanilla) ) && \
752                     ( $(SUSPEND) )
753
754# When should we preempt gracefully instead of hard-killing?
755UWCS_WANT_VACATE   = ( $(ActivationTimer) > 10 * $(MINUTE) || $(IsVanilla) )
756
757# Only start jobs if:
758# 1) the keyboard has been idle long enough, AND
759# 2) the load average is low enough OR the machine is currently
760#    running a Condor job
761# (NOTE: Condor will only run 1 job at a time on a given resource.
762# The reasons Condor might consider running a different job while
763# already running one are machine Rank (defined above), and user
764# priorities.)
765UWCS_START      = ( (KeyboardIdle > $(StartIdleTime)) \
766                    && ( $(CPUIdle) || \
767                         (State != "Unclaimed" && State != "Owner")) )
768
769# Suspend jobs if:
770# 1) the keyboard has been touched, OR
771# 2a) The CPU has been busy for more than 2 minutes, AND
772# 2b) the job has been running for more than 90 seconds
773UWCS_SUSPEND = ( $(KeyboardBusy) || \
774                 ( (CpuBusyTime > 2 * $(MINUTE)) \
775                   && $(ActivationTimer) > 90 ) )
776
777# Continue jobs if:
778# 1) the cpu is idle, AND
779# 2) we've been suspended more than 10 seconds, AND
780# 3) the keyboard hasn't been touched in a while
781UWCS_CONTINUE = ( $(CPUIdle) && ($(ActivityTimer) > 10) \
782                  && (KeyboardIdle > $(ContinueIdleTime)) )
783
784# Preempt jobs if:
785# 1) The job is suspended and has been suspended longer than we want
786# 2) OR, we don't want to suspend this job, but the conditions to
787#    suspend jobs have been met (someone is using the machine)
788UWCS_PREEMPT = ( ((Activity == "Suspended") && \
789                  ($(ActivityTimer) > $(MaxSuspendTime))) \
790                 || (SUSPEND && (WANT_SUSPEND == False)) )
791
792# Maximum time (in seconds) to wait for a job to finish before kicking
793# it off (due to PREEMPT, a higher priority claim, or the startd
794# gracefully shutting down).  This is computed from the time the job
795# was started, minus any suspension time.  Once the retirement time runs
796# out, the usual preemption process will take place.  The job may
797# self-limit the retirement time to _less_ than what is given here.
798# By default, nice user jobs and standard universe jobs set their
799# MaxJobRetirementTime to 0, so they will not wait in retirement.
800
801UWCS_MaxJobRetirementTime = 0
802
803##  If you completely disable preemption of claims to machines, you
804##  should consider limiting the time span over which new jobs will be
805##  accepted on the same claim.  See the manual section on disabling
806##  preemption for a comprehensive discussion.  Since this example
807##  configuration does not disable preemption of claims, we leave
808##  CLAIM_WORKLIFE undefined (infinite).
809#UWCS_CLAIM_WORKLIFE = 1200
810
811# How long to allow a job to vacate gracefully.  After this time,
812# the job is killed.
813MachineMaxVacateTime = $(MaxVacateTime)
814
815# Abort graceful eviction of a job, even though it has not
816# yet used all the time allotted by MachineMaxVacateTime.
817UWCS_KILL = false
818
819##  Only define vanilla versions of these if you want to make them
820##  different from the above settings.
821#SUSPEND_VANILLA  = ( $(KeyboardBusy) || \
822#       ((CpuBusyTime > 2 * $(MINUTE)) && $(ActivationTimer) > 90) )
823#CONTINUE_VANILLA = ( $(CPUIdle) && ($(ActivityTimer) > 10) \
824#                     && (KeyboardIdle > $(ContinueIdleTime)) )
825#PREEMPT_VANILLA  = ( ((Activity == "Suspended") && \
826#                     ($(ActivityTimer) > $(MaxSuspendTime))) \
827#                     || (SUSPEND_VANILLA && (WANT_SUSPEND == False)) )
828#KILL_VANILLA    = false
829
830##  Checkpoint every 3 hours on average, with a +-30 minute random
831##  factor to avoid having many jobs hit the checkpoint server at
832##  the same time.
833UWCS_PERIODIC_CHECKPOINT        = $(LastCkpt) > (3 * $(HOUR) + \
834                                  $RANDOM_INTEGER(-30,30,1) * $(MINUTE) )
835
836##  You might want to checkpoint a little less often.  A good
837##  example of this is below.  For jobs smaller than 60 megabytes, we
838##  periodic checkpoint every 6 hours.  For larger jobs, we only
839##  checkpoint every 12 hours.
840#UWCS_PERIODIC_CHECKPOINT       = \
841#          ( (TARGET.ImageSize < 60000) && \
842#            ($(LastCkpt) > (6  * $(HOUR) + $RANDOM_INTEGER(-30,30,1))) ) || \
843#          (  $(LastCkpt) > (12 * $(HOUR) + $RANDOM_INTEGER(-30,30,1)) )
844
845##  The rank expressions used by the negotiator are configured below.
846##  This is the order in which ranks are applied by the negotiator:
847##    1. NEGOTIATOR_PRE_JOB_RANK
848##    2. rank in job ClassAd
849##    3. NEGOTIATOR_POST_JOB_RANK
850##    4. cause of preemption (0=user priority,1=startd rank,2=no preemption)
851##    5. PREEMPTION_RANK
852
853##  The NEGOTIATOR_PRE_JOB_RANK expression overrides all other ranks
854##  that are used to pick a match from the set of possibilities.
855##  The following expression matches jobs to unclaimed resources
856##  whenever possible, regardless of the job-supplied rank.
857UWCS_NEGOTIATOR_PRE_JOB_RANK = RemoteOwner =?= UNDEFINED
858
859##  The NEGOTIATOR_POST_JOB_RANK expression chooses between
860##  resources that are equally preferred by the job.
861##  The following example expression steers jobs toward
862##  faster machines and tends to fill a cluster of multiprocessors
863##  breadth-first instead of depth-first.  It also prefers online
864##  machines over offline (hibernating) ones.  In this example,
865##  the expression is chosen to have no effect when preemption
866##  would take place, allowing control to pass on to
867##  PREEMPTION_RANK.
868UWCS_NEGOTIATOR_POST_JOB_RANK = \
869 (RemoteOwner =?= UNDEFINED) * (KFlops - SlotID - 1.0e10*(Offline=?=True))
870
871##  The negotiator will not preempt a job running on a given machine
872##  unless the PREEMPTION_REQUIREMENTS expression evaluates to true
873##  and the owner of the idle job has a better priority than the owner
874##  of the running job.  This expression defaults to true.
875UWCS_PREEMPTION_REQUIREMENTS = ((SubmitterGroup =?= RemoteGroup) \
876        && ($(StateTimer) > (1 * $(HOUR))) \
877        && (RemoteUserPrio > TARGET.SubmitterUserPrio * 1.2)) \
878        || (MY.NiceUser == True)
879
880##  The PREEMPTION_RANK expression is used in a case where preemption
881##  is the only option and all other negotiation ranks are equal.  For
882##  example, if the job has no preference, it is usually preferable to
883##  preempt a job with a small ImageSize instead of a job with a large
884##  ImageSize.  The default is to rank all preemptable matches the
885##  same.  However, the negotiator will always prefer to match the job
886##  with an idle machine over a preemptable machine, if all other
887##  negotiation ranks are equal.
888UWCS_PREEMPTION_RANK = (RemoteUserPrio * 1000000) - TARGET.ImageSize
889
890
891#####################################################################
892##  This is a Configuration that will cause your Condor jobs to
893##  always run.  This is intended for testing only.
894######################################################################
895
896##  This mode will cause your jobs to start on a machine an will let
897##  them run to completion.  Condor will ignore all of what is going
898##  on in the machine (load average, keyboard activity, etc.)
899
900TESTINGMODE_WANT_SUSPEND        = False
901TESTINGMODE_WANT_VACATE         = False
902TESTINGMODE_START                       = True
903TESTINGMODE_SUSPEND                     = False
904TESTINGMODE_CONTINUE            = True
905TESTINGMODE_PREEMPT                     = False
906TESTINGMODE_KILL                        = False
907TESTINGMODE_PERIODIC_CHECKPOINT = False
908TESTINGMODE_PREEMPTION_REQUIREMENTS = False
909TESTINGMODE_PREEMPTION_RANK = 0
910
911# Prevent machine claims from being reused indefinitely, since
912# preemption of claims is disabled in the TESTINGMODE configuration.
913TESTINGMODE_CLAIM_WORKLIFE = 1200
914
915
916######################################################################
917######################################################################
918## 
919##  ######                                  #
920##  #     #    ##    #####    #####         #    #
921##  #     #   #  #   #    #     #           #    #
922##  ######   #    #  #    #     #           #    #
923##  #        ######  #####      #           #######
924##  #        #    #  #   #      #                #
925##  #        #    #  #    #     #                #
926## 
927##  Part 4:  Settings you should probably leave alone:
928##  (unless you know what you're doing)
929######################################################################
930######################################################################
931
932######################################################################
933##  Daemon-wide settings:
934######################################################################
935
936##  Pathnames
937LOG             = $(LOCAL_DIR)/log/condor
938SPOOL           = $(LOCAL_DIR)/lib/condor/spool
939EXECUTE         = $(LOCAL_DIR)/lib/condor/execute
940BIN             = $(RELEASE_DIR)/bin
941LIB             = $(RELEASE_DIR)/lib
942INCLUDE         = $(RELEASE_DIR)/include
943SBIN            = $(RELEASE_DIR)/sbin
944LIBEXEC         = $(RELEASE_DIR)/libexec
945
946## If you leave HISTORY undefined (comment it out), no history file
947## will be created.
948HISTORY         = $(SPOOL)/history
949
950##  Log files
951COLLECTOR_LOG   = $(LOG)/CollectorLog
952KBDD_LOG        = $(LOG)/KbdLog
953MASTER_LOG      = $(LOG)/MasterLog
954NEGOTIATOR_LOG  = $(LOG)/NegotiatorLog
955NEGOTIATOR_MATCH_LOG = $(LOG)/MatchLog
956SCHEDD_LOG      = $(LOG)/SchedLog
957SHADOW_LOG      = $(LOG)/ShadowLog
958STARTD_LOG      = $(LOG)/StartLog
959STARTER_LOG     = $(LOG)/StarterLog
960JOB_ROUTER_LOG  = $(LOG)/JobRouterLog
961ROOSTER_LOG     = $(LOG)/RoosterLog
962SHARED_PORT_LOG = $(LOG)/SharedPortLog
963# High Availability Logs
964HAD_LOG         = $(LOG)/HADLog
965REPLICATION_LOG = $(LOG)/ReplicationLog
966TRANSFERER_LOG  = $(LOG)/TransfererLog
967HDFS_LOG        = $(LOG)/HDFSLog
968
969##  Lock files
970SHADOW_LOCK     = $(LOCK)/ShadowLock
971
972## This setting controls how often any lock files currently in use have their
973## time stamp updated. Updating the time stamp prevents administrative programs
974## like 'tmpwatch' from deleting long lived lock files. The parameter is
975## an integer in seconds with a minimum of 60 seconds. The default if not
976## specified is 28800 seconds, or 8 hours.
977## This attribute only takes effect on restart of the daemons or at the next
978## update time.
979# LOCK_FILE_UPDATE_INTERVAL = 28800
980
981##  This setting primarily allows you to change the port that the
982##  collector is listening on.  By default, the collector uses port
983##  9618, but you can set the port with a ":port", such as:
984##  COLLECTOR_HOST = $(CONDOR_HOST):1234
985COLLECTOR_HOST  = $(CONDOR_HOST)
986
987## The NEGOTIATOR_HOST parameter has been deprecated.  The port where
988## the negotiator is listening is now dynamically allocated and the IP
989## and port are now obtained from the collector, just like all the
990## other daemons.  However, if your pool contains any machines that
991## are running version 6.7.3 or earlier, you can uncomment this
992## setting to go back to the old fixed-port (9614) for the negotiator.
993#NEGOTIATOR_HOST = $(CONDOR_HOST)
994
995##  How long are you willing to let daemons try their graceful
996##  shutdown methods before they do a hard shutdown? (30 minutes)
997#SHUTDOWN_GRACEFUL_TIMEOUT      = 1800
998
999##  How much disk space would you like reserved from Condor?  In
1000##  places where Condor is computing the free disk space on various
1001##  partitions, it subtracts the amount it really finds by this
1002##  many megabytes.  (If undefined, defaults to 0).
1003RESERVED_DISK           = 5
1004
1005##  If your machine is running AFS and the AFS cache lives on the same
1006##  partition as the other Condor directories, and you want Condor to
1007##  reserve the space that your AFS cache is configured to use, set
1008##  this to true.
1009#RESERVE_AFS_CACHE      = False
1010
1011##  By default, if a user does not specify "notify_user" in the submit
1012##  description file, any email Condor sends about that job will go to
1013##  "username@UID_DOMAIN".  If your machines all share a common UID
1014##  domain (so that you would set UID_DOMAIN to be the same across all
1015##  machines in your pool), *BUT* email to user@UID_DOMAIN is *NOT*
1016##  the right place for Condor to send email for your site, you can
1017##  define the default domain to use for email.  A common example
1018##  would be to set EMAIL_DOMAIN to the fully qualified hostname of
1019##  each machine in your pool, so users submitting jobs from a
1020##  specific machine would get email sent to user@machine.your.domain,
1021##  instead of user@your.domain.  In general, you should leave this
1022##  setting commented out unless two things are true: 1) UID_DOMAIN is
1023##  set to your domain, not $(FULL_HOSTNAME), and 2) email to
1024##  user@UID_DOMAIN won't work.
1025#EMAIL_DOMAIN = $(FULL_HOSTNAME)
1026
1027##  Should Condor daemons create a UDP command socket (for incoming
1028##  UDP-based commands) in addition to the TCP command socket?  By
1029##  default, classified ad updates sent to the collector use UDP, in
1030##  addition to some keep alive messages and other non-essential
1031##  communication.  However, in certain situations, it might be
1032##  desirable to disable the UDP command port (for example, to reduce
1033##  the number of ports represented by a CCB broker, etc).  If not
1034##  defined, the UDP command socket is enabled by default, and to
1035##  modify this, you must restart your Condor daemons. Also, this
1036##  setting must be defined machine-wide.  For example, setting
1037##  "STARTD.WANT_UDP_COMMAND_SOCKET = False" while the global setting
1038##  is "True" will still result in the startd creating a UDP socket.
1039#WANT_UDP_COMMAND_SOCKET = True
1040
1041##  If your site needs to use TCP updates to the collector, instead of
1042##  UDP, you can enable this feature.  HOWEVER, WE DO NOT RECOMMEND
1043##  THIS FOR MOST SITES!  In general, the only sites that might want
1044##  this feature are pools made up of machines connected via a
1045##  wide-area network where UDP packets are frequently or always
1046##  dropped.  If you enable this feature, you *MUST* turn on the
1047##  COLLECTOR_SOCKET_CACHE_SIZE setting at your collector, and each
1048##  entry in the socket cache uses another file descriptor.  If not
1049##  defined, this feature is disabled by default.
1050#UPDATE_COLLECTOR_WITH_TCP = True
1051
1052## HIGHPORT and LOWPORT let you set the range of ports that Condor
1053## will use. This may be useful if you are behind a firewall. By
1054## default, Condor uses port 9618 for the collector, 9614 for the
1055## negotiator, and system-assigned (apparently random) ports for
1056## everything else. HIGHPORT and LOWPORT only affect these
1057## system-assigned ports, but will restrict them to the range you
1058## specify here. If you want to change the well-known ports for the
1059## collector or negotiator, see COLLECTOR_HOST or NEGOTIATOR_HOST.
1060## Note that both LOWPORT and HIGHPORT must be at least 1024 if you
1061## are not starting your daemons as root.  You may also specify
1062## different port ranges for incoming and outgoing connections by
1063## using IN_HIGHPORT/IN_LOWPORT and OUT_HIGHPORT/OUT_LOWPORT.
1064#HIGHPORT = 9700
1065#LOWPORT = 9600
1066
1067##  If a daemon doesn't respond for too long, do you want go generate
1068##  a core file?  This basically controls the type of the signal
1069##  sent to the child process, and mostly affects the Condor Master
1070#NOT_RESPONDING_WANT_CORE       = False
1071
1072
1073######################################################################
1074##  Daemon-specific settings:
1075######################################################################
1076
1077##--------------------------------------------------------------------
1078##  condor_master
1079##--------------------------------------------------------------------
1080##  Daemons you want the master to keep running for you:
1081DAEMON_LIST                     = MASTER, SCHEDD, STARTD, NEGOTIATOR, COLLECTOR
1082
1083##  Which daemons use the Condor DaemonCore library (i.e., not the
1084##  checkpoint server or custom user daemons)?
1085#DC_DAEMON_LIST = \
1086#MASTER, STARTD, SCHEDD, KBDD, COLLECTOR, NEGOTIATOR, EVENTD, \
1087#VIEW_SERVER, CONDOR_VIEW, VIEW_COLLECTOR, HAWKEYE, CREDD, HAD, \
1088#DBMSD, QUILL, JOB_ROUTER, ROOSTER, LEASEMANAGER, HDFS, SHARED_PORT, \
1089#DEFRAG
1090
1091
1092##  Where are the binaries for these daemons?
1093MASTER                          = $(SBIN)/condor_master
1094STARTD                          = $(SBIN)/condor_startd
1095SCHEDD                          = $(SBIN)/condor_schedd
1096KBDD                            = $(SBIN)/condor_kbdd
1097NEGOTIATOR                      = $(SBIN)/condor_negotiator
1098COLLECTOR                       = $(SBIN)/condor_collector
1099CKPT_SERVER                     = $(SBIN)/condor_ckpt_server
1100STARTER_LOCAL                   = $(SBIN)/condor_starter
1101JOB_ROUTER                      = $(LIBEXEC)/condor_job_router
1102ROOSTER                         = $(LIBEXEC)/condor_rooster
1103HDFS                            = $(SBIN)/condor_hdfs
1104SHARED_PORT                     = $(LIBEXEC)/condor_shared_port
1105TRANSFERER                      = $(LIBEXEC)/condor_transferer
1106DEFRAG                          = $(LIBEXEC)/condor_defrag
1107
1108##  When the master starts up, it can place it's address (IP and port)
1109##  into a file.  This way, tools running on the local machine don't
1110##  need to query the central manager to find the master.  This
1111##  feature can be turned off by commenting out this setting.
1112MASTER_ADDRESS_FILE = $(LOG)/.master_address
1113
1114##  Where should the master find the condor_preen binary? If you don't
1115##  want preen to run at all, set it to nothing.
1116PREEN                           = $(SBIN)/condor_preen
1117
1118##  How do you want preen to behave?  The "-m" means you want email
1119##  about files preen finds that it thinks it should remove.  The "-r"
1120##  means you want preen to actually remove these files.  If you don't
1121##  want either of those things to happen, just remove the appropriate
1122##  one from this setting.
1123PREEN_ARGS                      = -m -r
1124
1125##  How often should the master start up condor_preen? (once a day)
1126#PREEN_INTERVAL                 = 86400
1127
1128##  If a daemon dies an unnatural death, do you want email about it?
1129#PUBLISH_OBITUARIES             = True
1130
1131##  If you're getting obituaries, how many lines of the end of that
1132##  daemon's log file do you want included in the obituary?
1133#OBITUARY_LOG_LENGTH            = 20
1134
1135##  Should the master run?
1136#START_MASTER                   = True
1137
1138##  Should the master start up the daemons you want it to?
1139#START_DAEMONS                  = True
1140
1141##  How often do you want the master to send an update to the central
1142##  manager?
1143#MASTER_UPDATE_INTERVAL         = 300
1144
1145##  How often do you want the master to check the time stamps of the
1146##  daemons it's running?  If any daemons have been modified, the
1147##  master restarts them.
1148#MASTER_CHECK_NEW_EXEC_INTERVAL = 300
1149
1150##  Once you notice new binaries, how long should you wait before you
1151##  try to execute them?
1152#MASTER_NEW_BINARY_DELAY        = 120
1153
1154##  What's the maximum amount of time you're willing to give the
1155##  daemons to quickly shutdown before you just kill them outright?
1156#SHUTDOWN_FAST_TIMEOUT          = 120
1157
1158######
1159##  Exponential back off settings:
1160######
1161##  When a daemon keeps crashing, we use "exponential back off" so we
1162##  wait longer and longer before restarting it.  This is the base of
1163##  the exponent used to determine how long to wait before starting
1164##  the daemon again:
1165#MASTER_BACKOFF_FACTOR          = 2.0
1166
1167##  What's the maximum amount of time you want the master to wait
1168##  between attempts to start a given daemon?  (With 2.0 as the
1169##  MASTER_BACKOFF_FACTOR, you'd hit 1 hour in 12 restarts...)
1170#MASTER_BACKOFF_CEILING         = 3600
1171
1172##  How long should a daemon run without crashing before we consider
1173##  it "recovered".  Once a daemon has recovered, we reset the number
1174##  of restarts so the exponential back off stuff goes back to normal.
1175#MASTER_RECOVER_FACTOR          = 300
1176
1177
1178##--------------------------------------------------------------------
1179##  condor_collector
1180##--------------------------------------------------------------------
1181## Address to which Condor will send a weekly e-mail with output of
1182## condor_status.
1183#CONDOR_DEVELOPERS = condor-admin@cs.wisc.edu
1184
1185## Global Collector to periodically advertise basic information about
1186## your pool.
1187#CONDOR_DEVELOPERS_COLLECTOR = condor.cs.wisc.edu
1188
1189##  When the collector starts up, it can place it's address (IP and port)
1190##  into a file.  This way, tools running on the local machine don't
1191##  need to query the central manager to find the collector.  This
1192##  feature can be turned off by commenting out this setting.
1193##  This is essential when using a port of "0" (automatic) for the
1194##  COLLECTOR_HOST, a useful technique for personal Condor installs.
1195COLLECTOR_ADDRESS_FILE = $(LOG)/.collector_address
1196
1197
1198##--------------------------------------------------------------------
1199##  condor_negotiator
1200##--------------------------------------------------------------------
1201## Determine if the Negotiator will honor SlotWeight attributes, which
1202## may be used to give a slot greater weight when calculating usage.
1203#NEGOTIATOR_USE_SLOT_WEIGHTS = True
1204
1205
1206## How often the Negotaitor starts a negotiation cycle, defined in
1207## seconds.
1208#NEGOTIATOR_INTERVAL = 60
1209
1210## Should the Negotiator publish an update to the Collector after
1211## every negotiation cycle. It is useful to have this set to True
1212## to get immediate updates on LastNegotiationCycle statistics.
1213#NEGOTIATOR_UPDATE_AFTER_CYCLE = False
1214
1215
1216##--------------------------------------------------------------------
1217##  condor_startd
1218##--------------------------------------------------------------------
1219##  Where are the various condor_starter binaries installed?
1220STARTER_LIST = STARTER, STARTER_STANDARD
1221STARTER                 = $(SBIN)/condor_starter
1222STARTER_STANDARD        = $(SBIN)/condor_starter.std
1223STARTER_LOCAL           = $(SBIN)/condor_starter
1224
1225##  When the startd starts up, it can place it's address (IP and port)
1226##  into a file.  This way, tools running on the local machine don't
1227##  need to query the central manager to find the startd.  This
1228##  feature can be turned off by commenting out this setting.
1229STARTD_ADDRESS_FILE     = $(LOG)/.startd_address
1230
1231##  When a machine is claimed, how often should we poll the state of
1232##  the machine to see if we need to evict/suspend the job, etc?
1233#POLLING_INTERVAL        = 5
1234
1235##  How often should the startd send updates to the central manager?
1236#UPDATE_INTERVAL         = 300
1237
1238##  How long is the startd willing to stay in the "matched" state?
1239#MATCH_TIMEOUT          = 300
1240
1241##  How long is the startd willing to stay in the preempting/killing
1242##  state before it just kills the starter directly?
1243#KILLING_TIMEOUT        = 30
1244
1245##  When a machine unclaimed, when should it run benchmarks?
1246##  LastBenchmark is initialized to 0, so this expression says as soon
1247##  as we're unclaimed, run the benchmarks.  Thereafter, if we're
1248##  unclaimed and it's been at least 4 hours since we ran the last
1249##  benchmarks, run them again.  The startd keeps a weighted average
1250##  of the benchmark results to provide more accurate values.
1251##  Note, if you don't want any benchmarks run at all, either comment
1252##  RunBenchmarks out, or set it to "False".
1253BenchmarkTimer = (time() - LastBenchmark)
1254RunBenchmarks : (LastBenchmark == 0 ) || ($(BenchmarkTimer) >= (4 * $(HOUR)))
1255#RunBenchmarks : False
1256
1257##  When the startd does benchmarks, which set of benchmarks should we
1258##  run?  The default is the same as pre-7.5.6: MIPS and KFLOPS.
1259benchmarks_joblist = mips kflops
1260
1261##  What's the max "load" of all running benchmarks?  With the default
1262##  (1.01), the startd will run the benchmarks serially.
1263benchmarks_max_job_load = 1.0
1264
1265#  MIPS (Dhrystone 2.1) benchmark: load 1.0
1266benchmarks_mips_executable = $(LIBEXEC)/condor_mips
1267benchmarks_mips_job_load = 1.0
1268
1269#  KFLOPS (clinpack) benchmark: load 1.0
1270benchmarks_kflops_executable = $(LIBEXEC)/condor_kflops
1271benchmarks_kflops_job_load = 1.0
1272
1273
1274##  Normally, when the startd is computing the idle time of all the
1275##  users of the machine (both local and remote), it checks the utmp
1276##  file to find all the currently active ttys, and only checks access
1277##  time of the devices associated with active logins.  Unfortunately,
1278##  on some systems, utmp is unreliable, and the startd might miss
1279##  keyboard activity by doing this.  So, if your utmp is unreliable,
1280##  set this setting to True and the startd will check the access time
1281##  on all tty and pty devices.
1282#STARTD_HAS_BAD_UTMP = False
1283
1284##  This entry allows the startd to monitor console (keyboard and
1285##  mouse) activity by checking the access times on special files in
1286##  /dev.  Activity on these files shows up as "ConsoleIdle" time in
1287##  the startd's ClassAd.  Just give a comma-separated list of the
1288##  names of devices you want considered the console, without the
1289##  "/dev/" portion of the pathname.
1290#CONSOLE_DEVICES = mouse, console
1291
1292
1293##  The STARTD_ATTRS (and legacy STARTD_EXPRS) entry allows you to
1294##  have the startd advertise arbitrary attributes from the config
1295##  file in its ClassAd.  Give the comma-separated list of entries
1296##  from the config file you want in the startd ClassAd.
1297##  NOTE: because of the different syntax of the config file and
1298##  ClassAds, you might have to do a little extra work to get a given
1299##  entry into the ClassAd.  In particular, ClassAds require double
1300##  quotes (") around your strings.  Numeric values can go in
1301##  directly, as can boolean expressions.  For example, if you wanted
1302##  the startd to advertise its list of console devices, when it's
1303##  configured to run benchmarks, and how often it sends updates to
1304##  the central manager, you'd have to define the following helper
1305##  macro:
1306#MY_CONSOLE_DEVICES = "$(CONSOLE_DEVICES)"
1307##  Note: this must come before you define STARTD_ATTRS because macros
1308##  must be defined before you use them in other macros or
1309##  expressions.
1310##  Then, you'd set the STARTD_ATTRS setting to this:
1311#STARTD_ATTRS = MY_CONSOLE_DEVICES, RunBenchmarks, UPDATE_INTERVAL
1312##
1313##  STARTD_ATTRS can also be defined on a per-slot basis.  The startd
1314##  builds the list of attributes to advertise by combining the lists
1315##  in this order: STARTD_ATTRS, SLOTx_STARTD_ATTRS.  In the below
1316##  example, the startd ad for slot1 will have the value for
1317##  favorite_color, favorite_season, and favorite_movie, and slot2
1318##  will have favorite_color, favorite_season, and favorite_song.
1319##
1320#STARTD_ATTRS = favorite_color, favorite_season
1321#SLOT1_STARTD_ATTRS = favorite_movie
1322#SLOT2_STARTD_ATTRS = favorite_song
1323##
1324##  Attributes in the STARTD_ATTRS list can also be on a per-slot basis.
1325##  For example, the following configuration:
1326##
1327#favorite_color = "blue"
1328#favorite_season = "spring"
1329#SLOT2_favorite_color = "green"
1330#SLOT3_favorite_season = "summer"
1331#STARTD_ATTRS = favorite_color, favorite_season
1332##
1333##  will result in the following attributes in the slot classified
1334##  ads:
1335##
1336## slot1 - favorite_color = "blue"; favorite_season = "spring"
1337## slot2 - favorite_color = "green"; favorite_season = "spring"
1338## slot3 - favorite_color = "blue"; favorite_season = "summer"
1339##
1340##  Finally, the recommended default value for this setting, is to
1341##  publish the COLLECTOR_HOST setting as a string.  This can be
1342##  useful using the "$$(COLLECTOR_HOST)" syntax in the submit file
1343##  for jobs to know (for example, via their environment) what pool
1344##  they're running in.
1345COLLECTOR_HOST_STRING = "$(COLLECTOR_HOST)"
1346STARTD_ATTRS = COLLECTOR_HOST_STRING
1347
1348##  When the startd is claimed by a remote user, it can also advertise
1349##  arbitrary attributes from the ClassAd of the job its working on.
1350##  Just list the attribute names you want advertised. 
1351##  Note: since this is already a ClassAd, you don't have to do
1352##  anything funny with strings, etc.  This feature can be turned off
1353##  by commenting out this setting (there is no default).
1354STARTD_JOB_EXPRS = ImageSize, ExecutableSize, JobUniverse, NiceUser
1355
1356##  If you want to "lie" to Condor about how many CPUs your machine
1357##  has, you can use this setting to override Condor's automatic
1358##  computation.  If you modify this, you must restart the startd for
1359##  the change to take effect (a simple condor_reconfig will not do).
1360##  Please read the section on "condor_startd Configuration File
1361##  Macros" in the Condor Administrators Manual for a further
1362##  discussion of this setting.  Its use is not recommended.  This
1363##  must be an integer ("N" isn't a valid setting, that's just used to
1364##  represent the default).
1365#NUM_CPUS = N
1366
1367##  If you never want Condor to detect more the "N" CPUs, uncomment this
1368##  line out. You must restart the startd for this setting to take
1369##  effect. If set to 0 or a negative number, it is ignored.
1370##  By default, it is ignored. Otherwise, it must be a positive 
1371##  integer ("N" isn't a valid setting, that's just used to
1372##  represent the default).
1373#MAX_NUM_CPUS = N
1374
1375##  Normally, Condor will automatically detect the amount of physical
1376##  memory available on your machine.  Define MEMORY to tell Condor
1377##  how much physical memory (in MB) your machine has, overriding the
1378##  value Condor computes automatically.  For example:
1379#MEMORY = 128
1380
1381##  How much memory would you like reserved from Condor?  By default,
1382##  Condor considers all the physical memory of your machine as
1383##  available to be used by Condor jobs.  If RESERVED_MEMORY is
1384##  defined, Condor subtracts it from the amount of memory it
1385##  advertises as available.
1386#RESERVED_MEMORY = 0
1387
1388######
1389##  SMP startd settings
1390##
1391##  By default, Condor will evenly divide the resources in an SMP
1392##  machine (such as RAM, swap space and disk space) among all the
1393##  CPUs, and advertise each CPU as its own slot with an even share of
1394##  the system resources.  If you want something other than this,
1395##  there are a few options available to you.  Please read the section
1396##  on "Configuring The Startd for SMP Machines" in the Condor
1397##  Administrator's Manual for full details.  The various settings are
1398##  only briefly listed and described here.
1399######
1400
1401##  The maximum number of different slot types.
1402#MAX_SLOT_TYPES = 10
1403
1404##  Use this setting to define your own slot types.  This
1405##  allows you to divide system resources unevenly among your CPUs.
1406##  You must use a different setting for each different type you
1407##  define.  The "<N>" in the name of the macro listed below must be
1408##  an integer from 1 to MAX_SLOT_TYPES (defined above),
1409##  and you use this number to refer to your type.  There are many
1410##  different formats these settings can take, so be sure to refer to
1411##  the section on "Configuring The Startd for SMP Machines" in the
1412##  Condor Administrator's Manual for full details.  In particular,
1413##  read the section titled "Defining Slot Types" to help
1414##  understand this setting.  If you modify any of these settings, you
1415##  must restart the condor_start for the change to take effect.
1416#SLOT_TYPE_<N> = 1/4
1417#SLOT_TYPE_<N> = cpus=1, ram=25%, swap=1/4, disk=1/4
1418#  For example:
1419#SLOT_TYPE_1 = 1/8
1420#SLOT_TYPE_2 = 1/4
1421
1422##  If you define your own slot types, you must specify how
1423##  many slots of each type you wish to advertise.  You do
1424##  this with the setting below, replacing the "<N>" with the
1425##  corresponding integer you used to define the type above.  You can
1426##  change the number of a given type being advertised at run-time,
1427##  with a simple condor_reconfig. 
1428#NUM_SLOTS_TYPE_<N> = M
1429#  For example:
1430#NUM_SLOTS_TYPE_1 = 6
1431#NUM_SLOTS_TYPE_2 = 1
1432
1433##  The number of evenly-divided slots you want Condor to
1434##  report to your pool (if less than the total number of CPUs).  This
1435##  setting is only considered if the "type" settings described above
1436##  are not in use.  By default, all CPUs are reported.  This setting
1437##  must be an integer ("N" isn't a valid setting, that's just used to
1438##  represent the default).
1439#NUM_SLOTS = N
1440
1441##  How many of the slots the startd is representing should
1442##  be "connected" to the console (in other words, notice when there's
1443##  console activity)?  This defaults to all slots (N in a
1444##  machine with N CPUs).  This must be an integer ("N" isn't a valid
1445##  setting, that's just used to represent the default).
1446#SLOTS_CONNECTED_TO_CONSOLE = N
1447
1448##  How many of the slots the startd is representing should
1449##  be "connected" to the keyboard (for remote tty activity, as well
1450##  as console activity).  Defaults to 1.
1451#SLOTS_CONNECTED_TO_KEYBOARD = 1
1452
1453##  If there are slots that aren't connected to the
1454##  keyboard or the console (see the above two settings), the
1455##  corresponding idle time reported will be the time since the startd
1456##  was spawned, plus the value of this parameter.  It defaults to 20
1457##  minutes.  We do this because, if the slot is configured
1458##  not to care about keyboard activity, we want it to be available to
1459##  Condor jobs as soon as the startd starts up, instead of having to
1460##  wait for 15 minutes or more (which is the default time a machine
1461##  must be idle before Condor will start a job).  If you don't want
1462##  this boost, just set the value to 0.  If you change your START
1463##  expression to require more than 15 minutes before a job starts,
1464##  but you still want jobs to start right away on some of your SMP
1465##  nodes, just increase this parameter.
1466#DISCONNECTED_KEYBOARD_IDLE_BOOST = 1200
1467
1468######
1469##  Settings for computing optional resource availability statistics:
1470######
1471##  If STARTD_COMPUTE_AVAIL_STATS = True, the startd will compute
1472##  statistics about resource availability to be included in the
1473##  classad(s) sent to the collector describing the resource(s) the
1474##  startd manages.  The following attributes will always be included
1475##  in the resource classad(s) if STARTD_COMPUTE_AVAIL_STATS = True:
1476##    AvailTime = What proportion of the time (between 0.0 and 1.0)
1477##      has this resource been in a state other than "Owner"?
1478##    LastAvailInterval = What was the duration (in seconds) of the
1479##      last period between "Owner" states?
1480##  The following attributes will also be included if the resource is
1481##  not in the "Owner" state:
1482##    AvailSince = At what time did the resource last leave the
1483##      "Owner" state?  Measured in the number of seconds since the
1484##      epoch (00:00:00 UTC, Jan 1, 1970).
1485##    AvailTimeEstimate = Based on past history, this is an estimate
1486##      of how long the current period between "Owner" states will
1487##      last.
1488#STARTD_COMPUTE_AVAIL_STATS = False
1489
1490##  If STARTD_COMPUTE_AVAIL_STATS = True, STARTD_AVAIL_CONFIDENCE sets
1491##  the confidence level of the AvailTimeEstimate.  By default, the
1492##  estimate is based on the 80th percentile of past values.
1493#STARTD_AVAIL_CONFIDENCE = 0.8
1494
1495##  STARTD_MAX_AVAIL_PERIOD_SAMPLES limits the number of samples of
1496##  past available intervals stored by the startd to limit memory and
1497##  disk consumption.  Each sample requires 4 bytes of memory and
1498##  approximately 10 bytes of disk space.
1499#STARTD_MAX_AVAIL_PERIOD_SAMPLES = 100
1500
1501##      CKPT_PROBE is the location of a program which computes aspects of the
1502##      CheckpointPlatform classad attribute. By default the location of this
1503##      executable will be here: $(LIBEXEC)/condor_ckpt_probe
1504CKPT_PROBE = $(LIBEXEC)/condor_ckpt_probe
1505
1506##--------------------------------------------------------------------
1507##  condor_schedd
1508##--------------------------------------------------------------------
1509##  Where are the various shadow binaries installed?
1510SHADOW_LIST = SHADOW, SHADOW_STANDARD
1511SHADOW                  = $(SBIN)/condor_shadow
1512SHADOW_STANDARD         = $(SBIN)/condor_shadow.std
1513
1514##  When the schedd starts up, it can place it's address (IP and port)
1515##  into a file.  This way, tools running on the local machine don't
1516##  need to query the central manager to find the schedd.  This
1517##  feature can be turned off by commenting out this setting.
1518SCHEDD_ADDRESS_FILE     = $(SPOOL)/.schedd_address
1519
1520##  Additionally, a daemon may store its ClassAd on the local filesystem
1521##  as well as sending it to the collector. This way, tools that need
1522##  information about a daemon do not have to contact the central manager
1523##  to get information about a daemon on the same machine.
1524##  This feature is necessary for Quill to work.
1525SCHEDD_DAEMON_AD_FILE = $(SPOOL)/.schedd_classad
1526
1527##  How often should the schedd send an update to the central manager?
1528#SCHEDD_INTERVAL        = 300
1529
1530##  How long should the schedd wait between spawning each shadow?
1531#JOB_START_DELAY        = 2
1532
1533##  How many concurrent sub-processes should the schedd spawn to handle
1534##  queries?  (Unix only)
1535#SCHEDD_QUERY_WORKERS   = 3
1536
1537##  How often should the schedd send a keep alive message to any
1538##  startds it has claimed?  (5 minutes)
1539#ALIVE_INTERVAL         = 300
1540
1541##  This setting controls the maximum number of times that a
1542##  condor_shadow processes can have a fatal error (exception) before
1543##  the condor_schedd will simply relinquish the match associated with
1544##  the dying shadow.
1545#MAX_SHADOW_EXCEPTIONS  = 5
1546
1547##  Estimated virtual memory size of each condor_shadow process.
1548##  Specified in kilobytes.
1549# SHADOW_SIZE_ESTIMATE  = 800
1550
1551##  The condor_schedd can renice the condor_shadow processes on your
1552##  submit machines.  How "nice" do you want the shadows? (1-19).
1553##  The higher the number, the lower priority the shadows have.
1554# SHADOW_RENICE_INCREMENT       = 0
1555
1556## The condor_schedd can renice scheduler universe processes
1557## (e.g. DAGMan) on your submit machines.  How "nice" do you want the
1558## scheduler universe processes? (1-19).  The higher the number, the
1559## lower priority the processes have.
1560# SCHED_UNIV_RENICE_INCREMENT = 0
1561
1562##  By default, when the schedd fails to start an idle job, it will
1563##  not try to start any other idle jobs in the same cluster during
1564##  that negotiation cycle.  This makes negotiation much more
1565##  efficient for large job clusters.  However, in some cases other
1566##  jobs in the cluster can be started even though an earlier job
1567##  can't.  For example, the jobs' requirements may differ, because of
1568##  different disk space, memory, or operating system requirements.
1569##  Or, machines may be willing to run only some jobs in the cluster,
1570##  because their requirements reference the jobs' virtual memory size
1571##  or other attribute.  Setting NEGOTIATE_ALL_JOBS_IN_CLUSTER to True
1572##  will force the schedd to try to start all idle jobs in each
1573##  negotiation cycle.  This will make negotiation cycles last longer,
1574##  but it will ensure that all jobs that can be started will be
1575##  started.
1576#NEGOTIATE_ALL_JOBS_IN_CLUSTER = False
1577
1578## This setting controls how often, in seconds, the schedd considers
1579## periodic job actions given by the user in the submit file.
1580## (Currently, these are periodic_hold, periodic_release, and periodic_remove.)
1581#PERIODIC_EXPR_INTERVAL = 60
1582
1583######
1584## Queue management settings:
1585######
1586##  How often should the schedd truncate it's job queue transaction
1587##  log?  (Specified in seconds, once a day is the default.)
1588#QUEUE_CLEAN_INTERVAL   = 86400
1589
1590##  How often should the schedd commit "wall clock" run time for jobs
1591##  to the queue, so run time statistics remain accurate when the
1592##  schedd crashes?  (Specified in seconds, once per hour is the
1593##  default.  Set to 0 to disable.)
1594#WALL_CLOCK_CKPT_INTERVAL = 3600
1595
1596##  What users do you want to grant super user access to this job
1597##  queue?  (These users will be able to remove other user's jobs).
1598##  By default, this only includes root.
1599QUEUE_SUPER_USERS       = root, condor
1600
1601
1602##--------------------------------------------------------------------
1603##  condor_shadow
1604##--------------------------------------------------------------------
1605##  If the shadow is unable to read a checkpoint file from the
1606##  checkpoint server, it keeps trying only if the job has accumulated
1607##  more than MAX_DISCARDED_RUN_TIME seconds of CPU usage.  Otherwise,
1608##  the job is started from scratch.  Defaults to 1 hour.  This
1609##  setting is only used if USE_CKPT_SERVER (from above) is True.
1610#MAX_DISCARDED_RUN_TIME = 3600
1611
1612##  Should periodic checkpoints be compressed?
1613#COMPRESS_PERIODIC_CKPT = False
1614
1615##  Should vacate checkpoints be compressed?
1616#COMPRESS_VACATE_CKPT = False
1617
1618##  Should we commit the application's dirty memory pages to swap
1619##  space during a periodic checkpoint?
1620#PERIODIC_MEMORY_SYNC = False
1621
1622##  Should we write vacate checkpoints slowly?  If nonzero, this
1623##  parameter specifies the speed at which vacate checkpoints should
1624##  be written, in kilobytes per second.
1625#SLOW_CKPT_SPEED = 0
1626
1627##  How often should the shadow update the job queue with job
1628##  attributes that periodically change?  Specified in seconds.
1629#SHADOW_QUEUE_UPDATE_INTERVAL = 15 * 60
1630
1631##  Should the shadow wait to update certain job attributes for the
1632##  next periodic update, or should it immediately these update
1633##  attributes as they change?  Due to performance concerns of
1634##  aggressive updates to a busy condor_schedd, the default is True.
1635#SHADOW_LAZY_QUEUE_UPDATE = TRUE
1636
1637
1638##--------------------------------------------------------------------
1639##  condor_starter
1640##--------------------------------------------------------------------
1641##  The condor_starter can renice the processes of Condor
1642##  jobs on your execute machines.  If you want this, uncomment the
1643##  following entry and set it to how "nice" you want the user
1644##  jobs. (1-19)  The larger the number, the lower priority the
1645##  process gets on your machines.
1646##  Note on Win32 platforms, this number needs to be greater than
1647##  zero (i.e. the job must be reniced) or the mechanism that
1648##  monitors CPU load on Win32 systems will give erratic results.
1649#JOB_RENICE_INCREMENT   = 10
1650
1651##  Should the starter do local logging to its own log file, or send
1652##  debug information back to the condor_shadow where it will end up
1653##  in the ShadowLog?
1654#STARTER_LOCAL_LOGGING  = TRUE
1655
1656##  If the UID_DOMAIN settings match on both the execute and submit
1657##  machines, but the UID of the user who submitted the job isn't in
1658##  the passwd file of the execute machine, the starter will normally
1659##  exit with an error.  Do you want the starter to just start up the
1660##  job with the specified UID, even if it's not in the passwd file?
1661#SOFT_UID_DOMAIN        = FALSE
1662
1663##  honor the run_as_owner option from the condor submit file.
1664##
1665#STARTER_ALLOW_RUNAS_OWNER = TRUE
1666
1667##  Tell the Starter/Startd what program to use to remove a directory
1668##  condor_rmdir.exe is a windows-only command that does a better job
1669##  than the built-in rmdir command when it is run with elevated privileges
1670##  Such as when when Condor is running as a service.
1671##   /s is delete sub-directories
1672##   /c is continue on error
1673WINDOWS_RMDIR = $(SBIN)\condor_rmdir.exe
1674#WINDOWS_RMDIR_OPTIONS = /s /c
1675
1676##--------------------------------------------------------------------
1677##  condor_procd
1678##--------------------------------------------------------------------
1679## 
1680# the path to the procd binary
1681#
1682PROCD = $(SBIN)/condor_procd
1683
1684# the path to the procd "address"
1685#   - on UNIX this will be a named pipe; we'll put it in the
1686#     $(LOCK) directory by default (note that multiple named pipes
1687#     will be created in this directory for when the procd responds
1688#     to its clients)
1689#   - on Windows, this will be a named pipe as well (but named pipes on
1690#     Windows are not even close to the same thing as named pipes on
1691#     UNIX); the name will be something like:
1692#         \\.\pipe\condor_procd
1693#
1694PROCD_ADDRESS = $(LOCK)/procd_pipe
1695
1696# Note that in other Condor daemons, turning on D_PROCFAMILY will
1697# result in that daemon logging all of its interactions with the
1698# ProcD.
1699#
1700PROCD_LOG = $(LOG)/ProcLog
1701
1702# This is the maximum period that the procd will use for taking
1703# snapshots (the actual period may be lower if a condor daemon registers
1704# a family for which it wants more frequent snapshots)
1705#
1706PROCD_MAX_SNAPSHOT_INTERVAL = 60
1707
1708# On Windows, we send a process a "soft kill" via a WM_CLOSE message.
1709# This binary is used by the ProcD (and other Condor daemons if PRIVSEP
1710# is not enabled) to help when sending soft kills.
1711WINDOWS_SOFTKILL = $(SBIN)/condor_softkill
1712
1713##--------------------------------------------------------------------
1714##  condor_submit
1715##--------------------------------------------------------------------
1716##  If you want condor_submit to automatically append an expression to
1717##  the Requirements expression or Rank expression of jobs at your
1718##  site, uncomment these entries.
1719#APPEND_REQUIREMENTS    = (expression to append job requirements)
1720#APPEND_RANK            = (expression to append job rank)
1721
1722##  If you want expressions only appended for either standard or
1723##  vanilla universe jobs, you can uncomment these entries.  If any of
1724##  them are defined, they are used for the given universe, instead of
1725##  the generic entries above.
1726#APPEND_REQ_VANILLA     = (expression to append to vanilla job requirements)
1727#APPEND_REQ_STANDARD    = (expression to append to standard job requirements)
1728#APPEND_RANK_STANDARD   = (expression to append to vanilla job rank)
1729#APPEND_RANK_VANILLA    = (expression to append to standard job rank)
1730
1731##  This can be used to define a default value for the rank expression
1732##  if one is not specified in the submit file.
1733#DEFAULT_RANK           = (default rank expression for all jobs)
1734
1735##  If you want universe-specific defaults, you can use the following
1736##  entries:
1737#DEFAULT_RANK_VANILLA   = (default rank expression for vanilla jobs)
1738#DEFAULT_RANK_STANDARD  = (default rank expression for standard jobs)
1739
1740##  If you want condor_submit to automatically append expressions to
1741##  the job ClassAds it creates, you can uncomment and define the
1742##  SUBMIT_EXPRS setting.  It works just like the STARTD_EXPRS
1743##  described above with respect to ClassAd vs. config file syntax,
1744##  strings, etc.  One common use would be to have the full hostname
1745##  of the machine where a job was submitted placed in the job
1746##  ClassAd.  You would do this by uncommenting the following lines:
1747#MACHINE = "$(FULL_HOSTNAME)"
1748#SUBMIT_EXPRS = MACHINE
1749
1750## Condor keeps a buffer of recently-used data for each file an
1751## application opens.  This macro specifies the default maximum number
1752## of bytes to be buffered for each open file at the executing
1753## machine.
1754#DEFAULT_IO_BUFFER_SIZE = 524288
1755
1756## Condor will attempt to consolidate small read and write operations
1757## into large blocks.  This macro specifies the default block size
1758## Condor will use.
1759#DEFAULT_IO_BUFFER_BLOCK_SIZE = 32768
1760
1761##--------------------------------------------------------------------
1762##  condor_preen
1763##--------------------------------------------------------------------
1764##  Who should condor_preen send email to?
1765#PREEN_ADMIN            = $(CONDOR_ADMIN)
1766
1767##  What files should condor_preen leave in the spool directory?
1768VALID_SPOOL_FILES       = job_queue.log, job_queue.log.tmp, history, \
1769                          Accountant.log, Accountantnew.log, \
1770                          local_univ_execute, .quillwritepassword, \
1771                                                  .pgpass, \
1772                          .schedd_address, .schedd_classad
1773
1774##  What files should condor_preen remove from the log directory?
1775INVALID_LOG_FILES       = core
1776
1777##--------------------------------------------------------------------
1778##  Java parameters:
1779##--------------------------------------------------------------------
1780##  If you would like this machine to be able to run Java jobs,
1781##  then set JAVA to the path of your JVM binary.  If you are not
1782##  interested in Java, there is no harm in leaving this entry
1783##  empty or incorrect.
1784
1785JAVA = /usr/bin/java
1786
1787## JAVA_CLASSPATH_DEFAULT gives the default set of paths in which
1788## Java classes are to be found.  Each path is separated by spaces.
1789## If your JVM needs to be informed of additional directories, add
1790## them here.  However, do not remove the existing entries, as Condor
1791## needs them.
1792
1793JAVA_CLASSPATH_DEFAULT = $(LIB) $(LIB)/scimark2lib.jar .
1794
1795##  JAVA_CLASSPATH_ARGUMENT describes the command-line parameter
1796##  used to introduce a new classpath:
1797
1798JAVA_CLASSPATH_ARGUMENT = -classpath
1799
1800##  JAVA_CLASSPATH_SEPARATOR describes the character used to mark
1801##  one path element from another:
1802
1803JAVA_CLASSPATH_SEPARATOR = :
1804
1805##  JAVA_BENCHMARK_TIME describes the number of seconds for which
1806##  to run Java benchmarks.  A longer time yields a more accurate
1807##  benchmark, but consumes more otherwise useful CPU time.
1808##  If this time is zero or undefined, no Java benchmarks will be run.
1809
1810JAVA_BENCHMARK_TIME = 2
1811
1812##  If your JVM requires any special arguments not mentioned in
1813##  the options above, then give them here.
1814
1815JAVA_EXTRA_ARGUMENTS =
1816
1817##
1818##--------------------------------------------------------------------
1819##  Condor-G settings
1820##--------------------------------------------------------------------
1821##  Where is the GridManager binary installed?
1822
1823GRIDMANAGER                     = $(SBIN)/condor_gridmanager
1824GT2_GAHP                        = $(SBIN)/gahp_server
1825GRID_MONITOR                    = $(SBIN)/grid_monitor
1826
1827##--------------------------------------------------------------------
1828##  Settings that control the daemon's debugging output:
1829##--------------------------------------------------------------------
1830##
1831## Note that the Gridmanager runs as the User, not a Condor daemon, so
1832## all users must have write permission to the directory that the
1833## Gridmanager will use for it's logfile. Our suggestion is to create a
1834## directory called GridLogs in $(LOG) with UNIX permissions 1777
1835## (just like /tmp )
1836##  Another option is to use /tmp as the location of the GridManager log.
1837##
1838
1839MAX_GRIDMANAGER_LOG     = 1000000
1840GRIDMANAGER_DEBUG       =
1841
1842GRIDMANAGER_LOG = $(LOG)/GridmanagerLog.$(USERNAME)
1843GRIDMANAGER_LOCK = $(LOCK)/GridmanagerLock.$(USERNAME)
1844
1845##--------------------------------------------------------------------
1846##  Various other settings that the Condor-G can use.
1847##--------------------------------------------------------------------
1848
1849## The number of seconds between status update requests. You can make
1850## this short (5 seconds) if you want Condor to respond quickly to
1851## instances as they terminate, or you can make it long (300 seconds = 5
1852## minutes) if you know your instances will run for awhile and don't
1853## mind delay between when they stop and when Condor responds to them
1854## stopping.
1855GRIDMANAGER_JOB_PROBE_INTERVAL = 300
1856
1857## For grid-type gt2 jobs (pre-WS GRAM), limit the number of jobmanager
1858## processes the gridmanager will let run on the headnode. Letting too
1859## many jobmanagers run causes severe load on the headnode.
1860GRIDMANAGER_MAX_JOBMANAGERS_PER_RESOURCE = 10
1861
1862## If we're talking to a Globus 2.0 resource, Condor-G will use the new
1863## version of the GRAM protocol. The first option is how often to check the
1864## proxy on the submit site of things. If the GridManager discovers a new
1865## proxy, it will restart itself and use the new proxy for all future
1866## jobs launched. In seconds,  and defaults to 10 minutes
1867#GRIDMANAGER_CHECKPROXY_INTERVAL = 600
1868
1869## The GridManager will shut things down 3 minutes before loosing Contact
1870## because of an expired proxy.
1871## In seconds, and defaults to 3 minutes
1872#GRDIMANAGER_MINIMUM_PROXY_TIME  = 180
1873
1874## Condor requires that each submitted job be designated to run under a
1875## particular "universe".
1876##
1877## If no universe is specified in the submit file, Condor must pick one
1878## for the job to use. By default, it chooses the "vanilla" universe.
1879## The default can be overridden in the config file with the DEFAULT_UNIVERSE
1880## setting, which is a string to insert into a job submit description if the
1881## job does not try and define it's own universe
1882##
1883#DEFAULT_UNIVERSE = vanilla
1884
1885#
1886# The Cred_min_time_left is the first-pass at making sure that Condor-G
1887# does not submit your job without it having enough time left for the
1888# job to finish. For example, if you have a job that runs for 20 minutes, and
1889# you might spend 40 minutes in the queue, it's a bad idea to submit with less
1890# than an hour left before your proxy expires.
1891# 2 hours seemed like a reasonable default.
1892#
1893CRED_MIN_TIME_LEFT              = 120
1894
1895
1896##
1897## The GridMonitor allows you to submit many more jobs to a GT2 GRAM server
1898## than is normally possible.
1899#ENABLE_GRID_MONITOR = TRUE
1900
1901##
1902## When an error occurs with the GridMonitor, how long should the
1903## gridmanager wait before trying to submit a new GridMonitor job?
1904## The default is 1 hour (3600 seconds).
1905#GRID_MONITOR_DISABLE_TIME = 3600
1906
1907##
1908## The location of the wrapper for invoking
1909## Condor GAHP server
1910##
1911CONDOR_GAHP = $(SBIN)/condor_c-gahp
1912CONDOR_GAHP_WORKER = $(SBIN)/condor_c-gahp_worker_thread
1913
1914##
1915## The Condor GAHP server has its own log.  Like the Gridmanager, the
1916## GAHP server is run as the User, not a Condor daemon, so all users must
1917## have write permission to the directory used for the logfile. Our
1918## suggestion is to create a directory called GridLogs in $(LOG) with
1919## UNIX permissions 1777 (just like /tmp )
1920## Another option is to use /tmp as the location of the CGAHP log.
1921##
1922MAX_C_GAHP_LOG  = 1000000
1923
1924#C_GAHP_LOG = $(LOG)/GridLogs/CGAHPLog.$(USERNAME)
1925C_GAHP_LOG = /tmp/CGAHPLog.$(USERNAME)
1926C_GAHP_LOCK = /tmp/CGAHPLock.$(USERNAME)
1927C_GAHP_WORKER_THREAD_LOG = /tmp/CGAHPWorkerLog.$(USERNAME)
1928C_GAHP_WORKER_THREAD_LOCK = /tmp/CGAHPWorkerLock.$(USERNAME)
1929
1930##
1931## Location of the PBS/LSF gahp and its associated binaries
1932##
1933GLITE_LOCATION = $(LIBEXEC)/glite
1934BATCH_GAHP = $(GLITE_LOCATION)/bin/batch_gahp
1935
1936##
1937## The location of the wrapper for invoking the Unicore GAHP server
1938##
1939UNICORE_GAHP = $(SBIN)/unicore_gahp
1940
1941##
1942## The location of the wrapper for invoking the NorduGrid GAHP server
1943##
1944NORDUGRID_GAHP = $(SBIN)/nordugrid_gahp
1945
1946## The location of the CREAM GAHP server
1947CREAM_GAHP = $(SBIN)/cream_gahp
1948
1949## Condor-G and CredD can use MyProxy to refresh GSI proxies which are
1950## about to expire.
1951#MYPROXY_GET_DELEGATION = /path/to/myproxy-get-delegation
1952
1953## The location of the Deltacloud GAHP server
1954DELTACLOUD_GAHP = $(SBIN)/deltacloud_gahp
1955
1956##
1957## EC2 (REST): Universe = Grid, Grid_Resource = ec2
1958##
1959
1960## The location of the ec2_gahp program, required
1961EC2_GAHP = $(SBIN)/ec2_gahp
1962
1963## Location of log files, useful for debugging, must be in
1964## a directory writable by any user, such as /tmp
1965#EC2_GAHP_DEBUG = D_FULLDEBUG
1966EC2_GAHP_LOG = /tmp/EC2GahpLog.$(USERNAME)
1967
1968## As of this writing EC2 has a hard limit of 20 concurrently
1969## running instances, so a limit of 20 is imposed so the GridManager
1970## does not waste its time sending requests that will be rejected.
1971GRIDMANAGER_MAX_SUBMITTED_JOBS_PER_RESOURCE_EC2 = 20
1972
1973##
1974##--------------------------------------------------------------------
1975##  condor_credd credential management daemon
1976##--------------------------------------------------------------------
1977##  Where is the CredD binary installed?
1978CREDD                           = $(SBIN)/condor_credd
1979
1980##  When the credd starts up, it can place it's address (IP and port)
1981##  into a file.  This way, tools running on the local machine don't
1982##  need an additional "-n host:port" command line option.  This
1983##  feature can be turned off by commenting out this setting.
1984CREDD_ADDRESS_FILE      = $(LOG)/.credd_address
1985
1986##  Specify a remote credd server here,
1987#CREDD_HOST  = $(CONDOR_HOST):$(CREDD_PORT)
1988
1989## CredD startup arguments
1990## Start the CredD on a well-known port.  Uncomment to to simplify
1991## connecting to a remote CredD.  Note: that this interface may change
1992## in a future release.
1993CREDD_PORT                      = 9620
1994CREDD_ARGS                      = -p $(CREDD_PORT) -f
1995
1996## CredD daemon debugging log
1997CREDD_LOG                       = $(LOG)/CredLog
1998CREDD_DEBUG                     = D_FULLDEBUG
1999MAX_CREDD_LOG           = 4000000
2000
2001## The credential owner submits the credential.  This list specififies
2002## other user who are also permitted to see all credentials.  Defaults
2003## to root on Unix systems, and Administrator on Windows systems.
2004#CRED_SUPER_USERS =
2005
2006## Credential storage location.  This directory must exist
2007## prior to starting condor_credd.  It is highly recommended to
2008## restrict access permissions to _only_ the directory owner.
2009CRED_STORE_DIR = $(LOCAL_DIR)/cred_dir
2010
2011## Index file path of saved credentials.
2012## This file will be automatically created if it does not exist.
2013#CRED_INDEX_FILE = $(CRED_STORE_DIR/cred-index
2014
2015## condor_credd  will attempt to refresh credentials when their
2016## remaining lifespan is less than this value.  Units = seconds.
2017#DEFAULT_CRED_EXPIRE_THRESHOLD = 3600
2018
2019## condor-credd periodically checks remaining lifespan of stored
2020## credentials, at this interval.
2021#CRED_CHECK_INTERVAL = 60
2022
2023##
2024##--------------------------------------------------------------------
2025##  Stork data placement server
2026##--------------------------------------------------------------------
2027##  Where is the Stork binary installed?
2028STORK                           = $(SBIN)/stork_server
2029
2030##  When Stork starts up, it can place it's address (IP and port)
2031##  into a file.  This way, tools running on the local machine don't
2032##  need an additional "-n host:port" command line option.  This
2033##  feature can be turned off by commenting out this setting.
2034STORK_ADDRESS_FILE = $(LOG)/.stork_address
2035
2036##  Specify a remote Stork server here,
2037#STORK_HOST  = $(CONDOR_HOST):$(STORK_PORT)
2038
2039## STORK_LOG_BASE specifies the basename for heritage Stork log files.
2040## Stork uses this macro to create the following output log files:
2041## $(STORK_LOG_BASE): Stork server job queue classad collection
2042## journal file.
2043## $(STORK_LOG_BASE).history: Used to track completed jobs.
2044## $(STORK_LOG_BASE).user_log: User level log, also used by DAGMan.
2045STORK_LOG_BASE          = $(LOG)/Stork
2046
2047## Modern Condor DaemonCore logging feature.
2048STORK_LOG = $(LOG)/StorkLog
2049STORK_DEBUG = D_FULLDEBUG
2050MAX_STORK_LOG = 4000000
2051
2052## Stork startup arguments
2053## Start Stork on a well-known port.  Uncomment to to simplify
2054## connecting to a remote Stork.  Note: that this interface may change
2055## in a future release.
2056#STORK_PORT                     = 34048
2057STORK_PORT                      = 9621
2058STORK_ARGS = -p $(STORK_PORT) -f -Serverlog $(STORK_LOG_BASE)
2059
2060## Stork environment.  Stork modules may require external programs and
2061## shared object libraries.  These are located using the PATH and
2062## LD_LIBRARY_PATH environments.  Further, some modules may require
2063## further specific environments.  By default, Stork inherits a full
2064## environment when invoked from condor_master or the shell.  If the
2065## default environment is not adequate for all Stork modules, specify
2066## a replacement environment here.  This environment will be set by
2067## condor_master before starting Stork, but does not apply if Stork is
2068## started directly from the command line.
2069#STORK_ENVIRONMENT = TMP=/tmp;CONDOR_CONFIG=/special/config;PATH=/lib
2070
2071## Limits the number of concurrent data placements handled by Stork.
2072#STORK_MAX_NUM_JOBS = 5
2073
2074## Limits the number of retries for a failed data placement.
2075#STORK_MAX_RETRY = 5
2076
2077## Limits the run time for a data placement job, after which the
2078## placement is considered failed.
2079#STORK_MAXDELAY_INMINUTES = 10
2080
2081## Temporary credential storage directory used by Stork.
2082#STORK_TMP_CRED_DIR = /tmp
2083
2084## Directory containing Stork modules.
2085#STORK_MODULE_DIR = $(LIBEXEC)
2086
2087##
2088##--------------------------------------------------------------------
2089##  Quill Job Queue Mirroring Server
2090##--------------------------------------------------------------------
2091##  Where is the Quill binary installed and what arguments should be passed?
2092QUILL = $(SBIN)/condor_quill
2093#QUILL_ARGS =
2094
2095# Where is the log file for the quill daemon?
2096QUILL_LOG = $(LOG)/QuillLog
2097
2098# The identification and location of the quill daemon for local clients.
2099QUILL_ADDRESS_FILE = $(LOG)/.quill_address
2100
2101# If this is set to true, then the rest of the QUILL arguments must be defined
2102# for quill to function. If it is False or left undefined, then quill will not
2103# be consulted by either the scheduler or the tools, but in the case of a
2104# remote quill query where the local client has quill turned off, but the
2105# remote client has quill turned on, things will still function normally.
2106#QUILL_ENABLED = TRUE
2107
2108#
2109# If Quill is enabled, by default it will only mirror the current job
2110# queue into the database. For historical jobs, and classads from other
2111# sources, the SQL Log must be enabled.
2112#QUILL_USE_SQL_LOG=FALSE
2113
2114#
2115# The SQL Log can be enabled on a per-daemon basis. For example, to collect
2116# historical job information, but store no information about execute machines,
2117# uncomment these two lines
2118#QUILL_USE_SQL_LOG = FALSE
2119#SCHEDD.QUILL_USE_SQL_LOG = TRUE
2120
2121# This will be the name of a quill daemon using this config file. This name
2122# should not conflict with any other quill name--or schedd name.
2123#QUILL_NAME = quill@postgresql-server.machine.com
2124
2125# The Postgreql server requires usernames that can manipulate tables. This will
2126# be the username associated with this instance of the quill daemon mirroring
2127# a schedd's job queue. Each quill daemon must have a unique username
2128# associated with it otherwise multiple quill daemons will corrupt the data
2129# held under an identical user name.
2130#QUILL_DB_NAME = name_of_db
2131
2132# The required password for the DB user which quill will use to read
2133# information from the database about the queue.
2134#QUILL_DB_QUERY_PASSWORD = foobar
2135
2136# What kind of database server is this?
2137# For now, only PGSQL is supported
2138#QUILL_DB_TYPE = PGSQL
2139
2140# The machine and port of the postgres server.
2141# Although this says IP Addr, it can be a DNS name.
2142# It must match whatever format you used for the .pgpass file, however
2143#QUILL_DB_IP_ADDR = machine.domain.com:5432
2144
2145# The login to use to attach to the database for updating information.
2146# There should be an entry in file $SPOOL/.pgpass that gives the password
2147# for this login id.
2148#QUILL_DB_USER = quillwriter
2149
2150# Polling period, in seconds, for when quill reads transactions out of the
2151# schedd's job queue log file and puts them into the database.
2152#QUILL_POLLING_PERIOD = 10
2153
2154# Allows or disallows a remote query to the quill daemon and database
2155# which is reading this log file. Defaults to true.
2156#QUILL_IS_REMOTELY_QUERYABLE = TRUE
2157
2158# Add debugging flags to here if you need to debug quill for some reason.
2159#QUILL_DEBUG = D_FULLDEBUG
2160
2161# Number of seconds the master should wait for the Quill daemon to respond
2162# before killing it. This number might need to be increased for very
2163# large logfiles.
2164# The default is 3600 (one hour), but kicking it up to a few hours won't hurt
2165#QUILL_NOT_RESPONDING_TIMEOUT = 3600
2166
2167# Should Quill hold open a database connection to the DBMSD?
2168# Each open connection consumes resources at the server, so large pools
2169# (100 or more machines) should set this variable to FALSE. Note the
2170# default is TRUE.
2171#QUILL_MAINTAIN_DB_CONN = TRUE
2172
2173##
2174##--------------------------------------------------------------------
2175##  Database Management Daemon settings
2176##--------------------------------------------------------------------
2177##  Where is the DBMSd binary installed and what arguments should be passed?
2178DBMSD = $(SBIN)/condor_dbmsd
2179DBMSD_ARGS = -f
2180
2181# Where is the log file for the quill daemon?
2182DBMSD_LOG = $(LOG)/DbmsdLog
2183
2184# Interval between consecutive purging calls (in seconds)
2185#DATABASE_PURGE_INTERVAL = 86400
2186
2187# Interval between consecutive database reindexing operations
2188# This is only used when dbtype = PGSQL
2189#DATABASE_REINDEX_INTERVAL = 86400
2190
2191# Number of days before purging resource classad history
2192# This includes things like machine ads, daemon ads, submitters
2193#QUILL_RESOURCE_HISTORY_DURATION = 7
2194
2195# Number of days before purging job run information
2196# This includes job events, file transfers, matchmaker matches, etc
2197# This does NOT include the final job ad. condor_history does not need
2198# any of this information to work.
2199#QUILL_RUN_HISTORY_DURATION = 7
2200
2201# Number of days before purging job classad history
2202# This is the information needed to run condor_history
2203#QUILL_JOB_HISTORY_DURATION = 3650
2204
2205# DB size threshold for warning the condor administrator. This is checked
2206# after every purge. The size is given in gigabytes.
2207#QUILL_DBSIZE_LIMIT = 20
2208
2209# Number of seconds the master should wait for the DBMSD to respond before
2210# killing it. This number might need to be increased for very large databases
2211# The default is 3600 (one hour).
2212#DBMSD_NOT_RESPONDING_TIMEOUT = 3600
2213
2214##
2215##--------------------------------------------------------------------
2216##  VM Universe Parameters
2217##--------------------------------------------------------------------
2218## Where is the Condor VM-GAHP installed? (Required)
2219VM_GAHP_SERVER = $(SBIN)/condor_vm-gahp
2220
2221## If the VM-GAHP is to have its own log, define
2222## the location of log file.
2223##
2224## Optionally, if you do NOT define VM_GAHP_LOG, logs of VM-GAHP will
2225## be stored in the starter's log file.
2226## However, on Windows machine you must always define VM_GAHP_LOG.
2227#
2228VM_GAHP_LOG     = $(LOG)/VMGahpLog
2229MAX_VM_GAHP_LOG = 1000000
2230#VM_GAHP_DEBUG = D_FULLDEBUG
2231
2232## What kind of virtual machine program will be used for
2233## the VM universe?
2234## The three primary options are KVM, Xen and VMware.  (Required: no default)
2235#VM_TYPE = kvm
2236
2237## How much memory can be used for the VM universe? (Required)
2238## This value is the maximum amount of memory that can be used by the
2239## virtual machine program.
2240#VM_MEMORY = 128
2241
2242## Want to support networking for VM universe?
2243## Default value is FALSE
2244#VM_NETWORKING = FALSE
2245
2246## What kind of networking types are supported?
2247##
2248## If you set VM_NETWORKING to TRUE, you must define this parameter.
2249## VM_NETWORKING_TYPE = nat
2250## VM_NETWORKING_TYPE = bridge
2251## VM_NETWORKING_TYPE = nat, bridge
2252##
2253## If multiple networking types are defined, you may define
2254## VM_NETWORKING_DEFAULT_TYPE for default networking type.
2255## Otherwise, nat is used for default networking type.
2256## VM_NETWORKING_DEFAULT_TYPE = nat
2257#VM_NETWORKING_DEFAULT_TYPE = nat
2258#VM_NETWORKING_TYPE = nat
2259
2260## In default, the number of possible virtual machines is same as
2261## NUM_CPUS.
2262## Since too many virtual machines can cause the system to be too slow
2263## and lead to unexpected problems, limit the number of running
2264## virtual machines on this machine with
2265#VM_MAX_NUMBER = 2
2266
2267## When a VM universe job is started, a status command is sent
2268## to the VM-GAHP to see if the job is finished.
2269## If the interval between checks is too short, it will consume
2270## too much of the CPU. If the VM-GAHP fails to get status 5 times in a row,
2271## an error will be reported to startd, and then startd will check
2272## the availability of VM universe.
2273## Default value is 60 seconds and minimum value is 30 seconds
2274#VM_STATUS_INTERVAL = 60
2275
2276## How long will we wait for a request sent to the VM-GAHP to be completed?
2277## If a request is not completed within the timeout, an error will be reported
2278## to the startd, and then the startd will check
2279## the availability of vm universe.  Default value is 5 minutes.
2280#VM_GAHP_REQ_TIMEOUT = 300
2281
2282## When VMware or Xen causes an error, the startd will disable the
2283## VM universe.  However, because some errors are just transient,
2284## we will test one more
2285## whether vm universe is still unavailable after some time.
2286## In default, startd will recheck vm universe after 10 minutes.
2287## If the test also fails, vm universe will be disabled.
2288#VM_RECHECK_INTERVAL = 600
2289
2290## Usually, when we suspend a VM, the memory being used by the VM
2291## will be saved into a file and then freed.
2292## However, when we use soft suspend, neither saving nor memory freeing
2293## will occur.
2294## For VMware, we send SIGSTOP to a process for VM in order to
2295## stop the VM temporarily and send SIGCONT to resume the VM.
2296## For Xen, we pause CPU. Pausing CPU doesn't save the memory of VM
2297## into a file. It only stops the execution of a VM temporarily.
2298#VM_SOFT_SUSPEND = TRUE
2299
2300## If Condor runs as root and a job comes from a different UID domain,
2301## Condor generally uses "nobody", unless SLOTx_USER is defined.
2302## If "VM_UNIV_NOBODY_USER" is defined, a VM universe job will run
2303## as the user defined in "VM_UNIV_NOBODY_USER" instead of "nobody".
2304##
2305## Notice: In VMware VM universe, "nobody" can not create a VMware VM.
2306## So we need to define "VM_UNIV_NOBODY_USER" with a regular user.
2307## For VMware, the user defined in "VM_UNIV_NOBODY_USER" must have a
2308## home directory.  So SOFT_UID_DOMAIN doesn't work for VMware VM universe job.
2309## If neither "VM_UNIV_NOBODY_USER" nor "SLOTx_VMUSER"/"SLOTx_USER" is defined,
2310## VMware VM universe job will run as "condor" instead of "nobody".
2311## As a result, the preference of local users for a VMware VM universe job
2312## which comes from the different UID domain is
2313## "VM_UNIV_NOBODY_USER" -> "SLOTx_VMUSER" -> "SLOTx_USER" -> "condor".
2314#VM_UNIV_NOBODY_USER = login name of a user who has home directory
2315
2316## If Condor runs as root and "ALWAYS_VM_UNIV_USE_NOBODY" is set to TRUE,
2317## all VM universe jobs will run as a user defined in "VM_UNIV_NOBODY_USER".
2318#ALWAYS_VM_UNIV_USE_NOBODY = FALSE
2319
2320##--------------------------------------------------------------------
2321##  VM Universe Parameters Specific to VMware
2322##--------------------------------------------------------------------
2323
2324## Where is perl program? (Required)
2325VMWARE_PERL = perl
2326
2327## Where is the Condor script program to control VMware? (Required)
2328VMWARE_SCRIPT = $(SBIN)/condor_vm_vmware
2329
2330## Networking parameters for VMware
2331##
2332## What kind of VMware networking is used?
2333##
2334## If multiple networking types are defined, you may specify different
2335## parameters for each networking type.
2336##
2337## Examples
2338## (e.g.) VMWARE_NAT_NETWORKING_TYPE = nat
2339## (e.g.) VMWARE_BRIDGE_NETWORKING_TYPE = bridged
2340##
2341##  If there is no parameter for specific networking type, VMWARE_NETWORKING_TYPE is used.
2342##
2343#VMWARE_NAT_NETWORKING_TYPE = nat
2344#VMWARE_BRIDGE_NETWORKING_TYPE = bridged
2345VMWARE_NETWORKING_TYPE = nat
2346
2347## The contents of this file will be inserted into the .vmx file of
2348## the VMware virtual machine before Condor starts it.
2349#VMWARE_LOCAL_SETTINGS_FILE = /path/to/file
2350
2351##--------------------------------------------------------------------
2352##  VM Universe Parameters common to libvirt controlled vm's (xen & kvm)
2353##--------------------------------------------------------------------
2354
2355## Networking parameters for Xen & KVM
2356##
2357## This is the path to the XML helper command; the libvirt_simple_script.awk
2358## script just reproduces what Condor already does for the kvm/xen VM
2359## universe
2360LIBVIRT_XML_SCRIPT = $(LIBEXEC)/libvirt_simple_script.awk
2361
2362## This is the optional debugging output file for the xml helper
2363## script.  Scripts that need to output debugging messages should
2364## write them to the file specified by this argument, which will be
2365## passed as the second command line argument when the script is
2366## executed
2367
2368#LIBVRT_XML_SCRIPT_ARGS = /dev/stderr
2369
2370##--------------------------------------------------------------------
2371##  VM Universe Parameters Specific to Xen
2372##--------------------------------------------------------------------
2373
2374##  Where is bootloader for Xen domainU? (Required)
2375##
2376##  The bootloader will be used in the case that a kernel image includes
2377##  a disk image
2378#XEN_BOOTLOADER = /usr/bin/pygrub
2379
2380##
2381##--------------------------------------------------------------------
2382##  condor_lease_manager lease manager daemon
2383##--------------------------------------------------------------------
2384##  Where is the LeaseManager binary installed?
2385LeaseManager                    = $(SBIN)/condor_lease_manager
2386
2387# Turn on the lease manager
2388#DAEMON_LIST                    = $(DAEMON_LIST), LeaseManager
2389
2390# The identification and location of the lease manager for local clients.
2391LeaseManger_ADDRESS_FILE        = $(LOG)/.lease_manager_address
2392
2393## LeaseManager startup arguments
2394#LeaseManager_ARGS              = -local-name generic
2395
2396## LeaseManager daemon debugging log
2397LeaseManager_LOG                = $(LOG)/LeaseManagerLog
2398LeaseManager_DEBUG              = D_FULLDEBUG
2399MAX_LeaseManager_LOG            = 1000000
2400
2401# Basic parameters
2402LeaseManager.GETADS_INTERVAL    = 60
2403LeaseManager.UPDATE_INTERVAL    = 300
2404LeaseManager.PRUNE_INTERVAL     = 60
2405LeaseManager.DEBUG_ADS          = False
2406
2407LeaseManager.CLASSAD_LOG        = $(SPOOL)/LeaseManagerState
2408#LeaseManager.QUERY_ADTYPE      = Any
2409#LeaseManager.QUERY_CONSTRAINTS = MyType == "SomeType"
2410#LeaseManager.QUERY_CONSTRAINTS = TargetType == "SomeType"
2411
2412##
2413##--------------------------------------------------------------------
2414##  KBDD - keyboard activity detection daemon
2415##--------------------------------------------------------------------
2416##  When the KBDD starts up, it can place it's address (IP and port)
2417##  into a file.  This way, tools running on the local machine don't
2418##  need an additional "-n host:port" command line option.  This
2419##  feature can be turned off by commenting out this setting.
2420KBDD_ADDRESS_FILE = $(LOG)/.kbdd_address
2421
2422##
2423##--------------------------------------------------------------------
2424##  condor_ssh_to_job
2425##--------------------------------------------------------------------
2426# NOTE: condor_ssh_to_job is not supported under Windows.
2427
2428# Tell the starter (execute side) whether to allow the job owner or
2429# queue super user on the schedd from which the job was submitted to
2430# use condor_ssh_to_job to access the job interactively (e.g. for
2431# debugging).  TARGET is the job; MY is the machine.
2432#ENABLE_SSH_TO_JOB = true
2433
2434# Tell the schedd (submit side) whether to allow the job owner or
2435# queue super user to use condor_ssh_to_job to access the job
2436# interactively (e.g. for debugging).  MY is the job; TARGET is not
2437# defined.
2438#SCHEDD_ENABLE_SSH_TO_JOB = true
2439
2440# Command condor_ssh_to_job should use to invoke the ssh client.
2441# %h --> remote host
2442# %i --> ssh key file
2443# %k --> known hosts file
2444# %u --> remote user
2445# %x --> proxy command
2446# %% --> %
2447#SSH_TO_JOB_SSH_CMD = "ssh -oUser=%u -oIdentityFile=%i -oStrictHostKeyChecking=yes -oUserKnownHostsFile=%k -oGlobalKnownHostsFile=%k -oProxyCommand=%x %h"
2448
2449# Additional ssh clients may be configured.  They all have the same
2450# default as ssh, except for scp, which omits the %h:
2451#SSH_TO_JOB_SCP_CMD = "scp -oUser=%u -oIdentityFile=%i -oStrictHostKeyChecking=yes -oUserKnownHostsFile=%k -oGlobalKnownHostsFile=%k -oProxyCommand=%x"
2452
2453# Path to sshd
2454#SSH_TO_JOB_SSHD = /usr/sbin/sshd
2455
2456# Arguments the starter should use to invoke sshd in inetd mode.
2457# %f --> sshd config file
2458# %% --> %
2459#SSH_TO_JOB_SSHD_ARGS = "-i -e -f %f"
2460
2461# sshd configuration template used by condor_ssh_to_job_sshd_setup.
2462#SSH_TO_JOB_SSHD_CONFIG_TEMPLATE = $(LIB)/condor_ssh_to_job_sshd_config_template
2463
2464# Path to ssh-keygen
2465#SSH_TO_JOB_SSH_KEYGEN = /usr/bin/ssh-keygen
2466
2467# Arguments to ssh-keygen
2468# %f --> key file to generate
2469# %% --> %
2470#SSH_TO_JOB_SSH_KEYGEN_ARGS = "-N '' -C '' -q -f %f -t rsa"
2471
2472######################################################################
2473##
2474##  Condor HDFS
2475##
2476##  This is the default local configuration file for configuring Condor
2477##  daemon responsible for running services related to hadoop
2478##  distributed storage system.  You should copy this file to the
2479##  appropriate location and customize it for your needs. 
2480##
2481##  Unless otherwise specified, settings that are commented out show
2482##  the defaults that are used if you don't define a value.  Settings
2483##  that are defined here MUST BE DEFINED since they have no default
2484##  value.
2485##
2486######################################################################
2487
2488######################################################################
2489## FOLLOWING MUST BE CHANGED
2490######################################################################
2491
2492## The location for hadoop installation directory. The default location
2493## is under 'libexec' directory. The directory pointed by HDFS_HOME
2494## should contain a lib folder that contains all the required Jars necessary
2495## to run HDFS name and data nodes.
2496#HDFS_HOME = $(RELEASE_DIR)/libexec/hdfs
2497
2498## The host and port for hadoop's name node. If this machine is the
2499## name node (see HDFS_SERVICES) then the specified port will be used
2500## to run name node.
2501HDFS_NAMENODE = hdfs://example.com:9000
2502HDFS_NAMENODE_WEB = example.com:8000
2503
2504HDFS_BACKUPNODE = hdfs://example.com:50100
2505HDFS_BACKUPNODE_WEB = example.com:50105
2506
2507## You need to pick one machine as name node by setting this parameter
2508## to HDFS_NAMENODE. The remaining machines in a storage cluster will
2509## act as data nodes (HDFS_DATANODE).
2510HDFS_NODETYPE = HDFS_DATANODE
2511
2512## If machine is selected to be NameNode then by a role should defined.
2513## If it selected to be DataNode then this parameter is ignored.
2514## Available options:
2515## ACTIVE: Active NameNode role (default value)
2516## BACKUP: Always synchronized with the active NameNode state, thus
2517##         creating a backup of the namespace. Currently the NameNode
2518##         supports one Backup node at a time.
2519## CHECKPOINT: Periodically creates checkpoints of the namespace.
2520HDFS_NAMENODE_ROLE = ACTIVE
2521
2522## The two set of directories that are required by HDFS are for name
2523## node (HDFS_NAMENODE_DIR) and data node (HDFS_DATANODE_DIR). The
2524## directory for name node is only required for a machine running
2525## name node service and  is used to store critical meta data for
2526## files. The data node needs its directory to store file blocks and
2527## their replicas.
2528HDFS_NAMENODE_DIR = /tmp/hadoop_name
2529HDFS_DATANODE_DIR = /scratch/tmp/hadoop_data
2530
2531## Unlike name node address settings (HDFS_NAMENODE), that needs to be
2532## well known across the storage cluster, data node can run on any
2533## arbitrary port of given host.
2534#HDFS_DATANODE_ADDRESS = 0.0.0.0:0
2535
2536####################################################################
2537## OPTIONAL
2538#####################################################################
2539
2540## Sets the log4j debug level. All the emitted debug output from HDFS
2541## will go in 'hdfs.log' under $(LOG) directory.
2542#HDFS_LOG4J=DEBUG
2543
2544## The access to HDFS services both name node and data node can be
2545## restricted by specifying IP/host based filters. By default settings
2546## from ALLOW_READ/ALLOW_WRITE and DENY_READ/DENY_WRITE
2547## are used to specify allow and deny list. The below two parameters can
2548## be used to override these settings. Read the Condor manual for
2549## specification of these filters.
2550## WARN: HDFS doesn't make any distinction between read or write based connection.
2551#HDFS_ALLOW=*
2552#HDFS_DENY=*
2553
2554#Fully qualified name for Name node and Datanode class.
2555#HDFS_NAMENODE_CLASS=org.apache.hadoop.hdfs.server.namenode.NameNode
2556#HDFS_DATANODE_CLASS=org.apache.hadoop.hdfs.server.datanode.DataNode
2557#HDFS_DFSADMIN_CLASS=org.apache.hadoop.hdfs.tools.DFSAdmin
2558
2559## In case an old name for hdfs configuration files is required.
2560#HDFS_SITE_FILE = hdfs-site.xml
2561
2562
2563##
2564##--------------------------------------------------------------------
2565##  file transfer plugin defaults
2566##--------------------------------------------------------------------
2567FILETRANSFER_PLUGINS = $(LIBEXEC)/curl_plugin, $(LIBEXEC)/data_plugin
2568
Note: See TracBrowser for help on using the repository browser.