[105270] trunk/dports/science
aronnax at macports.org
aronnax at macports.org
Mon Apr 15 09:57:15 PDT 2013
Revision: 105270
https://trac.macports.org/changeset/105270
Author: aronnax at macports.org
Date: 2013-04-15 09:57:14 -0700 (Mon, 15 Apr 2013)
Log Message:
-----------
htcondor: new port, specialized workload management system for compute-intensive jobs
Added Paths:
-----------
trunk/dports/science/htcondor/
trunk/dports/science/htcondor/Portfile
trunk/dports/science/htcondor/files/
trunk/dports/science/htcondor/files/condor_config
trunk/dports/science/htcondor/files/condor_config.local
trunk/dports/science/htcondor/files/patch-src-condor_scripts-macosx_rewrite_libs.diff
trunk/dports/science/htcondor/files/patch-src-condor_utils-condor_config.cpp.diff
Added: trunk/dports/science/htcondor/Portfile
===================================================================
--- trunk/dports/science/htcondor/Portfile (rev 0)
+++ trunk/dports/science/htcondor/Portfile 2013-04-15 16:57:14 UTC (rev 105270)
@@ -0,0 +1,112 @@
+# -*- coding: utf-8; mode: tcl; tab-width: 4; truncate-lines: t; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
+# $Id$
+
+PortSystem 1.0
+PortGroup github 1.0
+PortGroup cmake 1.0
+PortGroup active_variants 1.1
+
+github.setup htcondor htcondor 7_8_8 V
+version [strsed ${github.version} g/_/\./]
+maintainers aronnax
+
+categories science parallel net
+license apache
+platforms darwin
+description \
+ specialized workload management system for compute-intensive jobs
+long_description \
+ HTCondor is a specialized workload management system for compute-intensive \
+ jobs. Like other full-featured batch systems, HTCondor provides a job \
+ queueing mechanism, scheduling policy, priority scheme, resource monitoring, \
+ and resource management. Users submit their serial or parallel jobs to \
+ HTCondor, HTCondor places them into a queue, chooses when and where to run \
+ the jobs based upon a policy, carefully monitors their progress, and \
+ ultimately informs the user upon completion.
+homepage http://research.cs.wisc.edu/htcondor
+
+default_variants +personal
+
+variant personal \
+ description "configure your computer as a one-node personal Condor pool" {
+
+ add_users condor group=condor
+
+ startupitem.create yes
+ startupitem.name ${name}
+ startupitem.start "${prefix}/sbin/condor_master -f"
+ startupitem.stop "${prefix}/sbin/condor_off -all -master"
+}
+
+checksums rmd160 05bf7ab149aef9590776efe3f48c83a7038f346d \
+ sha256 2077dcc0e74d84f45793b50dde84854519931649fad9c6a33550a5fa715a6f21
+
+depends_build-append port:latex2html
+
+depends_lib-append port:boost \
+ port:expat \
+ port:kerberos5 \
+ port:openssl \
+ port:pcre
+
+# FIXME: For some reason, Condor uses install_name_tool to have dynamic links
+# point to @executable_path/../lib/condor/libexpat.1.dylib, etc, instead of
+# @executable_path/../lib/libexpat.1.dylib, etc. Why?
+patchfiles patch-src-condor_scripts-macosx_rewrite_libs.diff \
+ patch-src-condor_utils-condor_config.cpp.diff
+
+post-patch {
+ reinplace "s|@prefix@|${prefix}|g" ${worksrcpath}/src/condor_utils/condor_config.cpp
+}
+
+compiler.blacklist clang
+
+# FIXME: Globus support is disabled because Globus is not available in MacPorts.
+configure.args-append -DWITH_GLOBUS:BOOL="0"
+
+post-build {
+ system -W ${worksrcpath}/doc "make just-man-pages"
+}
+
+destroot.keepdirs ${destroot}${prefix}/etc/condor/config.d \
+ ${destroot}${prefix}/var/lib/condor/execute \
+ ${destroot}${prefix}/var/lib/condor/spool \
+ ${destroot}${prefix}/var/log/condor
+
+# Condor installs some documentation into ${prefix}. Move them into
+# ${prefix}/share/doc/${name}.
+post-destroot {
+ eval xinstall [glob ${worksrcpath}/doc/man/man1/*] \
+ ${destroot}${prefix}/share/man/man1
+
+ file delete ${destroot}${prefix}/sbin/condor_configure
+ file delete ${destroot}${prefix}/sbin/condor_install
+ file mkdir ${destroot}${prefix}/share/doc/${name}
+ move \
+ ${destroot}${prefix}/DOC \
+ ${destroot}${prefix}/examples \
+ ${destroot}${prefix}/INSTALL \
+ ${destroot}${prefix}/LICENSE-2.0.txt \
+ ${destroot}${prefix}/README \
+ ${destroot}${prefix}/share/doc/${name}
+
+ if {[variant_isset personal]} {
+ xinstall -d ${destroot}${prefix}/etc/condor/config.d
+ xinstall ${filespath}/condor_config ${destroot}${prefix}/etc/condor
+ reinplace "s|@prefix@|${prefix}|g" ${destroot}${prefix}/etc/condor/condor_config
+ xinstall ${filespath}/condor_config.local ${destroot}${prefix}/etc/condor
+
+ xinstall -d ${destroot}${prefix}/var/lib
+ xinstall -d -o condor -g condor ${destroot}${prefix}/var/lib/condor/execute
+ xinstall -d -o condor -g condor ${destroot}${prefix}/var/lib/condor/spool
+ xinstall -d ${destroot}${prefix}/var/log
+ xinstall -d -o condor -g condor ${destroot}${prefix}/var/log/condor
+ }
+}
+
+# Override default GitHub livecheck because the HTCondor git repository has
+# thousands of tags, and GitHub has to paginate the tags.
+livecheck.type regexm
+livecheck.url ${homepage}/downloads/
+livecheck.version ${version}
+livecheck.regex {Current Stable Release</td>\s*<td [^>]*>([0-9]+(\.[0-9]+)+)}
Property changes on: trunk/dports/science/htcondor/Portfile
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Added: trunk/dports/science/htcondor/files/condor_config
===================================================================
--- trunk/dports/science/htcondor/files/condor_config (rev 0)
+++ trunk/dports/science/htcondor/files/condor_config 2013-04-15 16:57:14 UTC (rev 105270)
@@ -0,0 +1,2568 @@
+######################################################################
+##
+## condor_config
+##
+## This is the global configuration file for condor. Any settings
+## made here may potentially be overridden in the local configuration
+## file. KEEP THAT IN MIND! To double-check that a variable is
+## getting set from the configuration file that you expect, use
+## condor_config_val -v <variable name>
+##
+## The file is divided into four main parts:
+## Part 1: Settings you likely want to customize
+## Part 2: Settings you may want to customize
+## Part 3: Settings that control the policy of when condor will
+## start and stop jobs on your machines
+## Part 4: Settings you should probably leave alone (unless you
+## know what you're doing)
+##
+## Please read the INSTALL file (or the Install chapter in the
+## Condor Administrator's Manual) for detailed explanations of the
+## various settings in here and possible ways to configure your
+## pool.
+##
+## Unless otherwise specified, settings that are commented out show
+## the defaults that are used if you don't define a value. Settings
+## that are defined here MUST BE DEFINED since they have no default
+## value.
+##
+## Unless otherwise indicated, all settings which specify a time are
+## defined in seconds.
+##
+######################################################################
+
+######################################################################
+######################################################################
+##
+## ###### #
+## # # ## ##### ##### ##
+## # # # # # # # # #
+## ###### # # # # # #
+## # ###### ##### # #
+## # # # # # # #
+## # # # # # # #####
+##
+## Part 1: Settings you likely want to customize:
+######################################################################
+######################################################################
+
+## What machine is your central manager?
+CONDOR_HOST = 127.0.0.1
+
+##--------------------------------------------------------------------
+## Pathnames:
+##--------------------------------------------------------------------
+## Where have you installed the bin, sbin and lib condor directories?
+RELEASE_DIR = @prefix@
+
+## Where is the local condor directory for each host?
+## This is where the local config file(s), logs and
+## spool/execute directories are located
+LOCAL_DIR = @prefix@/var
+#LOCAL_DIR = $(RELEASE_DIR)/hosts/$(HOSTNAME)
+
+## Where is the machine-specific local config file for each host?
+LOCAL_CONFIG_FILE = @prefix@/etc/condor/condor_config.local
+#LOCAL_CONFIG_FILE = $(RELEASE_DIR)/etc/$(HOSTNAME).local
+
+## Where are optional machine-specific local config files located?
+## Config files are included in lexicographic order.
+LOCAL_CONFIG_DIR = @prefix@/etc/condor/config.d
+#LOCAL_CONFIG_DIR = $(LOCAL_DIR)/config
+
+## Blacklist for file processing in the LOCAL_CONFIG_DIR
+## LOCAL_CONFIG_DIR_EXCLUDE_REGEXP = ^((\..*)|(.*~)|(#.*)|(.*\.rpmsave)|(.*\.rpmnew))$
+
+## If the local config file is not present, is it an error?
+## WARNING: This is a potential security issue.
+## If not specified, the default is True
+#REQUIRE_LOCAL_CONFIG_FILE = TRUE
+
+##--------------------------------------------------------------------
+## Mail parameters:
+##--------------------------------------------------------------------
+## When something goes wrong with condor at your site, who should get
+## the email?
+CONDOR_ADMIN = root at 127.0.0.1
+
+## Full path to a mail delivery program that understands that "-s"
+## means you want to specify a subject:
+MAIL = /bin/mail
+
+##--------------------------------------------------------------------
+## Network domain parameters:
+##--------------------------------------------------------------------
+## Internet domain of machines sharing a common UID space. If your
+## machines don't share a common UID space, set it to
+## UID_DOMAIN = $(FULL_HOSTNAME)
+## to specify that each machine has its own UID space.
+UID_DOMAIN = 127.0.0.1
+
+## Internet domain of machines sharing a common file system.
+## If your machines don't use a network file system, set it to
+## FILESYSTEM_DOMAIN = $(FULL_HOSTNAME)
+## to specify that each machine has its own file system.
+FILESYSTEM_DOMAIN = 127.0.0.1
+
+## This macro is used to specify a short description of your pool.
+## It should be about 20 characters long. For example, the name of
+## the UW-Madison Computer Science Condor Pool is ``UW-Madison CS''.
+COLLECTOR_NAME = My Pool - $(CONDOR_HOST)
+
+######################################################################
+######################################################################
+##
+## ###### #####
+## # # ## ##### ##### # #
+## # # # # # # # #
+## ###### # # # # # #####
+## # ###### ##### # #
+## # # # # # # #
+## # # # # # # #######
+##
+## Part 2: Settings you may want to customize:
+## (it is generally safe to leave these untouched)
+######################################################################
+######################################################################
+
+##
+## The user/group ID <uid>.<gid> of the "Condor" user.
+## (this can also be specified in the environment)
+## Note: the CONDOR_IDS setting is ignored on Win32 platforms
+#CONDOR_IDS=x.x
+
+##--------------------------------------------------------------------
+## Flocking: Submitting jobs to more than one pool
+##--------------------------------------------------------------------
+## Flocking allows you to run your jobs in other pools, or lets
+## others run jobs in your pool.
+##
+## To let others flock to you, define FLOCK_FROM.
+##
+## To flock to others, define FLOCK_TO.
+
+## FLOCK_FROM defines the machines where you would like to grant
+## people access to your pool via flocking. (i.e. you are granting
+## access to these machines to join your pool).
+FLOCK_FROM =
+## An example of this is:
+#FLOCK_FROM = somehost.friendly.domain, anotherhost.friendly.domain
+
+## FLOCK_TO defines the central managers of the pools that you want
+## to flock to. (i.e. you are specifying the machines that you
+## want your jobs to be negotiated at -- thereby specifying the
+## pools they will run in.)
+FLOCK_TO =
+## An example of this is:
+#FLOCK_TO = central_manager.friendly.domain, condor.cs.wisc.edu
+
+## FLOCK_COLLECTOR_HOSTS should almost always be the same as
+## FLOCK_NEGOTIATOR_HOSTS (as shown below). The only reason it would be
+## different is if the collector and negotiator in the pool that you are
+## flocking too are running on different machines (not recommended).
+## The collectors must be specified in the same corresponding order as
+## the FLOCK_NEGOTIATOR_HOSTS list.
+FLOCK_NEGOTIATOR_HOSTS = $(FLOCK_TO)
+FLOCK_COLLECTOR_HOSTS = $(FLOCK_TO)
+## An example of having the negotiator and the collector on different
+## machines is:
+#FLOCK_NEGOTIATOR_HOSTS = condor.cs.wisc.edu, condor-negotiator.friendly.domain
+#FLOCK_COLLECTOR_HOSTS = condor.cs.wisc.edu, condor-collector.friendly.domain
+
+##--------------------------------------------------------------------
+## Host/IP access levels
+##--------------------------------------------------------------------
+## Please see the administrator's manual for details on these
+## settings, what they're for, and how to use them.
+
+## What machines have administrative rights for your pool? This
+## defaults to your central manager. You should set it to the
+## machine(s) where whoever is the condor administrator(s) works
+## (assuming you trust all the users who log into that/those
+## machine(s), since this is machine-wide access you're granting).
+ALLOW_ADMINISTRATOR = $(CONDOR_HOST), $(IP_ADDRESS)
+
+## If there are no machines that should have administrative access
+## to your pool (for example, there's no machine where only trusted
+## users have accounts), you can uncomment this setting.
+## Unfortunately, this will mean that administering your pool will
+## be more difficult.
+#DENY_ADMINISTRATOR = *
+
+## What machines should have "owner" access to your machines, meaning
+## they can issue commands that a machine owner should be able to
+## issue to their own machine (like condor_vacate). This defaults to
+## machines with administrator access, and the local machine. This
+## is probably what you want.
+ALLOW_OWNER = $(FULL_HOSTNAME), $(ALLOW_ADMINISTRATOR)
+
+## Read access. Machines listed as allow (and/or not listed as deny)
+## can view the status of your pool, but cannot join your pool
+## or run jobs.
+## NOTE: By default, without these entries customized, you
+## are granting read access to the whole world. You may want to
+## restrict that to hosts in your domain. If possible, please also
+## grant read access to "*.cs.wisc.edu", so the Condor developers
+## will be able to view the status of your pool and more easily help
+## you install, configure or debug your Condor installation.
+## It is important to have this defined.
+ALLOW_READ = *
+#ALLOW_READ = *.your.domain, *.cs.wisc.edu
+#DENY_READ = *.bad.subnet, bad-machine.your.domain, 144.77.88.*
+
+## Write access. Machines listed here can join your pool, submit
+## jobs, etc. Note: Any machine which has WRITE access must
+## also be granted READ access. Granting WRITE access below does
+## not also automatically grant READ access; you must change
+## ALLOW_READ above as well.
+##
+## You must set this to something else before Condor will run.
+## This most simple option is:
+## ALLOW_WRITE = *
+## but note that this will allow anyone to submit jobs or add
+## machines to your pool and is a serious security risk.
+
+ALLOW_WRITE = $(FULL_HOSTNAME), 127.0.0.1
+#ALLOW_WRITE = *.your.domain, your-friend's-machine.other.domain
+#DENY_WRITE = bad-machine.your.domain
+
+## Are you upgrading to a new version of Condor and confused about
+## why the above ALLOW_WRITE setting is causing Condor to refuse to
+## start up? If you are upgrading from a configuration that uses
+## HOSTALLOW/HOSTDENY instead of ALLOW/DENY we recommend that you
+## convert all uses of the former to the latter. The syntax of the
+## authorization settings is identical. They both support
+## unauthenticated IP-based authorization as well as authenticated
+## user-based authorization. To avoid confusion, the use of
+## HOSTALLOW/HOSTDENY is discouraged. Support for it may be removed
+## in the future.
+
+## Negotiator access. Machines listed here are trusted central
+## managers. You should normally not have to change this.
+ALLOW_NEGOTIATOR = $(CONDOR_HOST), $(IP_ADDRESS)
+## Now, with flocking we need to let the SCHEDD trust the other
+## negotiators we are flocking with as well. You should normally
+## not have to change this either.
+ALLOW_NEGOTIATOR_SCHEDD = $(CONDOR_HOST), $(FLOCK_NEGOTIATOR_HOSTS), $(IP_ADDRESS)
+
+## Config access. Machines listed here can use the condor_config_val
+## tool to modify all daemon configurations. This level of host-wide
+## access should only be granted with extreme caution. By default,
+## config access is denied from all hosts.
+#ALLOW_CONFIG = trusted-host.your.domain
+
+## Flocking Configs. These are the real things that Condor looks at,
+## but we set them from the FLOCK_FROM/TO macros above. It is safe
+## to leave these unchanged.
+ALLOW_WRITE_COLLECTOR = $(ALLOW_WRITE), $(FLOCK_FROM)
+ALLOW_WRITE_STARTD = $(ALLOW_WRITE), $(FLOCK_FROM)
+ALLOW_READ_COLLECTOR = $(ALLOW_READ), $(FLOCK_FROM)
+ALLOW_READ_STARTD = $(ALLOW_READ), $(FLOCK_FROM)
+
+
+##--------------------------------------------------------------------
+## Security parameters for setting configuration values remotely:
+##--------------------------------------------------------------------
+## These parameters define the list of attributes that can be set
+## remotely with condor_config_val for the security access levels
+## defined above (for example, WRITE, ADMINISTRATOR, CONFIG, etc).
+## Please see the administrator's manual for further details on these
+## settings, what they're for, and how to use them. There are no
+## default values for any of these settings. If they are not
+## defined, no attributes can be set with condor_config_val.
+
+## Do you want to allow condor_config_val -reset to work at all?
+## This feature is disabled by default, so to enable, you must
+## uncomment the following setting and change the value to "True".
+## Note: changing this requires a restart not just a reconfig.
+#ENABLE_RUNTIME_CONFIG = False
+
+## Do you want to allow condor_config_val -set to work at all?
+## This feature is disabled by default, so to enable, you must
+## uncomment the following setting and change the value to "True".
+## Note: changing this requires a restart not just a reconfig.
+#ENABLE_PERSISTENT_CONFIG = False
+
+## Directory where daemons should write persistent config files (used
+## to support condor_config_val -set). This directory should *ONLY*
+## be writable by root (or the user the Condor daemons are running as
+## if non-root). There is no default, administrators must define this.
+## Note: changing this requires a restart not just a reconfig.
+#PERSISTENT_CONFIG_DIR = /full/path/to/root-only/local/directory
+
+## Attributes that can be set by hosts with "CONFIG" permission (as
+## defined with ALLOW_CONFIG and DENY_CONFIG above).
+## The commented-out value here was the default behavior of Condor
+## prior to version 6.3.3. If you don't need this behavior, you
+## should leave this commented out.
+#SETTABLE_ATTRS_CONFIG = *
+
+## Attributes that can be set by hosts with "ADMINISTRATOR"
+## permission (as defined above)
+#SETTABLE_ATTRS_ADMINISTRATOR = *_DEBUG, MAX_*_LOG
+
+## Attributes that can be set by hosts with "OWNER" permission (as
+## defined above) NOTE: any Condor job running on a given host will
+## have OWNER permission on that host by default. If you grant this
+## kind of access, Condor jobs will be able to modify any attributes
+## you list below on the machine where they are running. This has
+## obvious security implications, so only grant this kind of
+## permission for custom attributes that you define for your own use
+## at your pool (custom attributes about your machines that are
+## published with the STARTD_ATTRS setting, for example).
+#SETTABLE_ATTRS_OWNER = your_custom_attribute, another_custom_attr
+
+## You can also define daemon-specific versions of each of these
+## settings. For example, to define settings that can only be
+## changed in the condor_startd's configuration by hosts with OWNER
+## permission, you would use:
+#STARTD_SETTABLE_ATTRS_OWNER = your_custom_attribute_name
+
+
+##--------------------------------------------------------------------
+## Network filesystem parameters:
+##--------------------------------------------------------------------
+## Do you want to use NFS for file access instead of remote system
+## calls?
+#USE_NFS = False
+
+## Do you want to use AFS for file access instead of remote system
+## calls?
+#USE_AFS = False
+
+##--------------------------------------------------------------------
+## Checkpoint server:
+##--------------------------------------------------------------------
+## Do you want to use a checkpoint server if one is available? If a
+## checkpoint server isn't available or USE_CKPT_SERVER is set to
+## False, checkpoints will be written to the local SPOOL directory on
+## the submission machine.
+#USE_CKPT_SERVER = True
+
+## What's the hostname of this machine's nearest checkpoint server?
+#CKPT_SERVER_HOST = checkpoint-server-hostname.your.domain
+
+## Do you want the starter on the execute machine to choose the
+## checkpoint server? If False, the CKPT_SERVER_HOST set on
+## the submit machine is used. Otherwise, the CKPT_SERVER_HOST set
+## on the execute machine is used. The default is true.
+#STARTER_CHOOSES_CKPT_SERVER = True
+
+##--------------------------------------------------------------------
+## Miscellaneous:
+##--------------------------------------------------------------------
+## Try to save this much swap space by not starting new shadows.
+## Specified in megabytes.
+#RESERVED_SWAP = 0
+
+## What's the maximum number of jobs you want a single submit machine
+## to spawn shadows for? The default is a function of $(DETECTED_MEMORY)
+## and a guess at the number of ephemeral ports available.
+
+## Example 1:
+#MAX_JOBS_RUNNING = 10000
+
+## Example 2:
+## This is more complicated, but it produces the same limit as the default.
+## First define some expressions to use in our calculation.
+## Assume we can use up to 80% of memory and estimate shadow private data
+## size of 800k.
+#MAX_SHADOWS_MEM = ceiling($(DETECTED_MEMORY)*0.8*1024/800)
+## Assume we can use ~21,000 ephemeral ports (avg ~2.1 per shadow).
+## Under Linux, the range is set in /proc/sys/net/ipv4/ip_local_port_range.
+#MAX_SHADOWS_PORTS = 10000
+## Under windows, things are much less scalable, currently.
+## Note that this can probably be safely increased a bit under 64-bit windows.
+#MAX_SHADOWS_OPSYS = ifThenElse(regexp("WIN.*","$(OPSYS)"),200,100000)
+## Now build up the expression for MAX_JOBS_RUNNING. This is complicated
+## due to lack of a min() function.
+#MAX_JOBS_RUNNING = $(MAX_SHADOWS_MEM)
+#MAX_JOBS_RUNNING = \
+# ifThenElse( $(MAX_SHADOWS_PORTS) < $(MAX_JOBS_RUNNING), \
+# $(MAX_SHADOWS_PORTS), \
+# $(MAX_JOBS_RUNNING) )
+#MAX_JOBS_RUNNING = \
+# ifThenElse( $(MAX_SHADOWS_OPSYS) < $(MAX_JOBS_RUNNING), \
+# $(MAX_SHADOWS_OPSYS), \
+# $(MAX_JOBS_RUNNING) )
+
+
+## Maximum number of simultaneous downloads of output files from
+## execute machines to the submit machine (limit applied per schedd).
+## The value 0 means unlimited.
+#MAX_CONCURRENT_DOWNLOADS = 10
+
+## Maximum number of simultaneous uploads of input files from the
+## submit machine to execute machines (limit applied per schedd).
+## The value 0 means unlimited.
+#MAX_CONCURRENT_UPLOADS = 10
+
+## Condor needs to create a few lock files to synchronize access to
+## various log files. Because of problems we've had with network
+## filesystems and file locking over the years, we HIGHLY recommend
+## that you put these lock files on a local partition on each
+## machine. If you don't have your LOCAL_DIR on a local partition,
+## be sure to change this entry. Whatever user (or group) condor is
+## running as needs to have write access to this directory. If
+## you're not running as root, this is whatever user you started up
+## the condor_master as. If you are running as root, and there's a
+## condor account, it's probably condor. Otherwise, it's whatever
+## you've set in the CONDOR_IDS environment variable. See the Admin
+## manual for details on this.
+LOCK = $(LOG)
+
+## If you don't use a fully qualified name in your /etc/hosts file
+## (or NIS, etc.) for either your official hostname or as an alias,
+## Condor wouldn't normally be able to use fully qualified names in
+## places that it'd like to. You can set this parameter to the
+## domain you'd like appended to your hostname, if changing your host
+## information isn't a good option. This parameter must be set in
+## the global config file (not the LOCAL_CONFIG_FILE from above).
+#DEFAULT_DOMAIN_NAME = your.domain.name
+
+## If you don't have DNS set up, Condor will normally fail in many
+## places because it can't resolve hostnames to IP addresses and
+## vice-versa. If you enable this option, Condor will use
+## pseudo-hostnames constructed from a machine's IP address and the
+## DEFAULT_DOMAIN_NAME. Both NO_DNS and DEFAULT_DOMAIN must be set in
+## your top-level config file for this mode of operation to work
+## properly.
+#NO_DNS = True
+
+## Condor can be told whether or not you want the Condor daemons to
+## create a core file if something really bad happens. This just
+## sets the resource limit for the size of a core file. By default,
+## we don't do anything, and leave in place whatever limit was in
+## effect when you started the Condor daemons. If this parameter is
+## set and "True", we increase the limit to as large as it gets. If
+## it's set to "False", we set the limit at 0 (which means that no
+## core files are even created). Core files greatly help the Condor
+## developers debug any problems you might be having.
+#CREATE_CORE_FILES = True
+
+## When Condor daemons detect a fatal internal exception, they
+## normally log an error message and exit. If you have turned on
+## CREATE_CORE_FILES, in some cases you may also want to turn on
+## ABORT_ON_EXCEPTION so that core files are generated when an
+## exception occurs. Set the following to True if that is what you
+## want.
+#ABORT_ON_EXCEPTION = False
+
+## Condor Glidein downloads binaries from a remote server for the
+## machines into which you're gliding. This saves you from manually
+## downloading and installing binaries for every architecture you
+## might want to glidein to. The default server is one maintained at
+## The University of Wisconsin. If you don't want to use the UW
+## server, you can set up your own and change the following to
+## point to it, instead.
+GLIDEIN_SERVER_URLS = \
+ http://www.cs.wisc.edu/condor/glidein/binaries
+
+## List the sites you want to GlideIn to on the GLIDEIN_SITES. For example,
+## if you'd like to GlideIn to some Alliance GiB resources,
+## uncomment the line below.
+## Make sure that $(GLIDEIN_SITES) is included in ALLOW_READ and
+## ALLOW_WRITE, or else your GlideIns won't be able to join your pool.
+## This is _NOT_ done for you by default, because it is an even better
+## idea to use a strong security method (such as GSI) rather than
+## host-based security for authorizing glideins.
+#GLIDEIN_SITES = *.ncsa.uiuc.edu, *.cs.wisc.edu, *.mcs.anl.gov
+#GLIDEIN_SITES =
+
+## If your site needs to use UID_DOMAIN settings (defined above) that
+## are not real Internet domains that match the hostnames, you can
+## tell Condor to trust whatever UID_DOMAIN a submit machine gives to
+## the execute machine and just make sure the two strings match. The
+## default for this setting is False, since it is more secure this
+## way.
+#TRUST_UID_DOMAIN = False
+
+## If you would like to be informed in near real-time via condor_q when
+## a vanilla/standard/java job is in a suspension state, set this attribute to
+## TRUE. However, this real-time update of the condor_schedd by the shadows
+## could cause performance issues if there are thousands of concurrently
+## running vanilla/standard/java jobs under a single condor_schedd and they
+## are allowed to suspend and resume.
+#REAL_TIME_JOB_SUSPEND_UPDATES = False
+
+## A standard universe job can perform arbitrary shell calls via the
+## libc 'system()' function. This function call is routed back to the shadow
+## which performs the actual system() invocation in the initial directory of the
+## running program and as the user who submitted the job. However, since the
+## user job can request ARBITRARY shell commands to be run by the shadow, this
+## is a generally unsafe practice. This should only be made available if it is
+## actually needed. If this attribute is not defined, then it is the same as
+## it being defined to False. Set it to True to allow the shadow to execute
+## arbitrary shell code from the user job.
+#SHADOW_ALLOW_UNSAFE_REMOTE_EXEC = False
+
+## KEEP_OUTPUT_SANDBOX is an optional feature to tell Condor-G to not
+## remove the job spool when the job leaves the queue. To use, just
+## set to TRUE. Since you will be operating Condor-G in this manner,
+## you may want to put leave_in_queue = false in your job submit
+## description files, to tell Condor-G to simply remove the job from
+## the queue immediately when the job completes (since the output files
+## will stick around no matter what).
+#KEEP_OUTPUT_SANDBOX = False
+
+## This setting tells the negotiator to ignore user priorities. This
+## avoids problems where jobs from different users won't run when using
+## condor_advertise instead of a full-blown startd (some of the user
+## priority system in Condor relies on information from the startd --
+## we will remove this reliance when we support the user priority
+## system for grid sites in the negotiator; for now, this setting will
+## just disable it).
+#NEGOTIATOR_IGNORE_USER_PRIORITIES = False
+
+## This is a list of libraries containing ClassAd plug-in functions.
+#CLASSAD_USER_LIBS =
+
+## This setting tells Condor whether to delegate or copy GSI X509
+## credentials when sending them over the wire between daemons.
+## Delegation can take up to a second, which is very slow when
+## submitting a large number of jobs. Copying exposes the credential
+## to third parties if Condor isn't set to encrypt communications.
+## By default, Condor will delegate rather than copy.
+#DELEGATE_JOB_GSI_CREDENTIALS = True
+
+## This setting controls whether Condor delegates a full or limited
+## X509 credential for jobs. Currently, this only affects grid-type
+## gt2 grid universe jobs. The default is False.
+#DELEGATE_FULL_JOB_GSI_CREDENTIALS = False
+
+## This setting controls the default behavior for the spooling of files
+## into, or out of, the Condor system by such tools as condor_submit
+## and condor_transfer_data. Here is the list of valid settings for this
+## parameter and what they mean:
+##
+## stm_use_schedd_only
+## Ask the condor_schedd to solely store/retrieve the sandbox
+##
+## stm_use_transferd
+## Ask the condor_schedd for a location of a condor_transferd, then
+## store/retrieve the sandbox from the transferd itself.
+##
+## The allowed values are case insensitive.
+## The default of this parameter if not specified is: stm_use_schedd_only
+#SANDBOX_TRANSFER_METHOD = stm_use_schedd_only
+
+## This setting specifies an IP address that depends on the setting of
+## BIND_ALL_INTERFACES. If BIND_ALL_INTERFACES is True (the default), then
+## this variable controls what IP address will be advertised as the public
+## address of the daemon. If BIND_ALL_INTERFACES is False, then this variable
+## specifies which IP address to bind network sockets to. If
+## BIND_ALL_INTERFACES is False and NETWORK_INTERFACE is not defined, Condor
+## chooses a network interface automatically. It tries to choose a public
+## interface if one is available. If it cannot decide which of two interfaces
+## to choose from, it will pick the first one.
+NETWORK_INTERFACE = 127.0.0.1
+
+##--------------------------------------------------------------------
+## Settings that control the daemon's debugging output:
+##--------------------------------------------------------------------
+
+##
+## The flags given in ALL_DEBUG are shared between all daemons.
+##
+
+ALL_DEBUG =
+
+MAX_COLLECTOR_LOG = 1000000
+COLLECTOR_DEBUG =
+
+MAX_KBDD_LOG = 1000000
+KBDD_DEBUG =
+
+MAX_NEGOTIATOR_LOG = 1000000
+NEGOTIATOR_DEBUG = D_MATCH
+MAX_NEGOTIATOR_MATCH_LOG = 1000000
+
+MAX_SCHEDD_LOG = 1000000
+SCHEDD_DEBUG = D_PID
+
+MAX_SHADOW_LOG = 1000000
+SHADOW_DEBUG =
+
+MAX_STARTD_LOG = 1000000
+STARTD_DEBUG =
+
+MAX_STARTER_LOG = 1000000
+
+MAX_MASTER_LOG = 1000000
+MASTER_DEBUG =
+## When the master starts up, should it truncate it's log file?
+#TRUNC_MASTER_LOG_ON_OPEN = False
+
+MAX_JOB_ROUTER_LOG = 1000000
+JOB_ROUTER_DEBUG =
+
+MAX_ROOSTER_LOG = 1000000
+ROOSTER_DEBUG =
+
+MAX_SHARED_PORT_LOG = 1000000
+SHARED_PORT_DEBUG =
+
+MAX_HDFS_LOG = 1000000
+HDFS_DEBUG =
+
+# High Availability Logs
+MAX_HAD_LOG = 1000000
+HAD_DEBUG =
+MAX_REPLICATION_LOG = 1000000
+REPLICATION_DEBUG =
+MAX_TRANSFERER_LOG = 1000000
+TRANSFERER_DEBUG =
+
+
+## The daemons touch their log file periodically, even when they have
+## nothing to write. When a daemon starts up, it prints the last time
+## the log file was modified. This lets you estimate when a previous
+## instance of a daemon stopped running. This parameter controls how often
+## the daemons touch the file (in seconds).
+#TOUCH_LOG_INTERVAL = 60
+
+######################################################################
+######################################################################
+##
+## ###### #####
+## # # ## ##### ##### # #
+## # # # # # # # #
+## ###### # # # # # #####
+## # ###### ##### # #
+## # # # # # # # #
+## # # # # # # #####
+##
+## Part 3: Settings control the policy for running, stopping, and
+## periodically check-pointing condor jobs:
+######################################################################
+######################################################################
+
+## This section contains macros are here to help write legible
+## expressions:
+MINUTE = 60
+HOUR = (60 * $(MINUTE))
+StateTimer = (time() - EnteredCurrentState)
+ActivityTimer = (time() - EnteredCurrentActivity)
+ActivationTimer = ifThenElse(JobStart =!= UNDEFINED, (time() - JobStart), 0)
+LastCkpt = (time() - LastPeriodicCheckpoint)
+
+## The JobUniverse attribute is just an int. These macros can be
+## used to specify the universe in a human-readable way:
+STANDARD = 1
+VANILLA = 5
+MPI = 8
+VM = 13
+IsMPI = (TARGET.JobUniverse == $(MPI))
+IsVanilla = (TARGET.JobUniverse == $(VANILLA))
+IsStandard = (TARGET.JobUniverse == $(STANDARD))
+IsVM = (TARGET.JobUniverse == $(VM))
+
+NonCondorLoadAvg = (LoadAvg - CondorLoadAvg)
+BackgroundLoad = 0.3
+HighLoad = 0.5
+StartIdleTime = 15 * $(MINUTE)
+ContinueIdleTime = 5 * $(MINUTE)
+MaxSuspendTime = 10 * $(MINUTE)
+MaxVacateTime = 10 * $(MINUTE)
+
+KeyboardBusy = (KeyboardIdle < $(MINUTE))
+ConsoleBusy = (ConsoleIdle < $(MINUTE))
+CPUIdle = ($(NonCondorLoadAvg) <= $(BackgroundLoad))
+CPUBusy = ($(NonCondorLoadAvg) >= $(HighLoad))
+KeyboardNotBusy = ($(KeyboardBusy) == False)
+
+BigJob = (TARGET.ImageSize >= (50 * 1024))
+MediumJob = (TARGET.ImageSize >= (15 * 1024) && TARGET.ImageSize < (50 * 1024))
+SmallJob = (TARGET.ImageSize < (15 * 1024))
+
+JustCPU = ($(CPUBusy) && ($(KeyboardBusy) == False))
+MachineBusy = ($(CPUBusy) || $(KeyboardBusy))
+
+## The RANK expression controls which jobs this machine prefers to
+## run over others. Some examples from the manual include:
+## RANK = TARGET.ImageSize
+## RANK = (Owner == "coltrane") + (Owner == "tyner") \
+## + ((Owner == "garrison") * 10) + (Owner == "jones")
+## By default, RANK is always 0, meaning that all jobs have an equal
+## ranking.
+#RANK = 0
+
+
+#####################################################################
+## This where you choose the configuration that you would like to
+## use. It has no defaults so it must be defined. We start this
+## file off with the UWCS_* policy.
+######################################################################
+
+## Also here is what is referred to as the TESTINGMODE_*, which is
+## a quick hardwired way to test Condor with a simple no-preemption policy.
+## Replace UWCS_* with TESTINGMODE_* if you wish to do testing mode.
+## For example:
+## WANT_SUSPEND = $(UWCS_WANT_SUSPEND)
+## becomes
+## WANT_SUSPEND = $(TESTINGMODE_WANT_SUSPEND)
+
+# When should we only consider SUSPEND instead of PREEMPT?
+WANT_SUSPEND = $(TESTINGMODE_WANT_SUSPEND)
+
+# When should we preempt gracefully instead of hard-killing?
+WANT_VACATE = $(TESTINGMODE_WANT_VACATE)
+
+## When is this machine willing to start a job?
+START = $(TESTINGMODE_START)
+
+## When should a local universe job be allowed to start?
+#START_LOCAL_UNIVERSE = TotalLocalJobsRunning < 200
+
+## When should a scheduler universe job be allowed to start?
+#START_SCHEDULER_UNIVERSE = TotalSchedulerJobsRunning < 200
+
+## When to suspend a job?
+SUSPEND = $(TESTINGMODE_SUSPEND)
+
+## When to resume a suspended job?
+CONTINUE = $(TESTINGMODE_CONTINUE)
+
+## When to nicely stop a job?
+## (as opposed to killing it instantaneously)
+PREEMPT = $(TESTINGMODE_PREEMPT)
+
+## When to instantaneously kill a preempting job
+## (e.g. if a job is in the pre-empting stage for too long)
+KILL = $(TESTINGMODE_KILL)
+
+PERIODIC_CHECKPOINT = $(TESTINGMODE_PERIODIC_CHECKPOINT)
+PREEMPTION_REQUIREMENTS = $(TESTINGMODE_PREEMPTION_REQUIREMENTS)
+PREEMPTION_RANK = $(TESTINGMODE_PREEMPTION_RANK)
+NEGOTIATOR_PRE_JOB_RANK = $(TESTINGMODE_NEGOTIATOR_PRE_JOB_RANK)
+NEGOTIATOR_POST_JOB_RANK = $(TESTINGMODE_NEGOTIATOR_POST_JOB_RANK)
+MaxJobRetirementTime = $(UWCS_MaxJobRetirementTime)
+CLAIM_WORKLIFE = $(TESTINGMODE_CLAIM_WORKLIFE)
+
+#####################################################################
+## This is the UWisc - CS Department Configuration.
+#####################################################################
+
+# When should we only consider SUSPEND instead of PREEMPT?
+# Only when SUSPEND is True and one of the following is also true:
+# - the job is small
+# - the keyboard is idle
+# - it is a vanilla universe job
+UWCS_WANT_SUSPEND = ( $(SmallJob) || $(KeyboardNotBusy) || $(IsVanilla) ) && \
+ ( $(SUSPEND) )
+
+# When should we preempt gracefully instead of hard-killing?
+UWCS_WANT_VACATE = ( $(ActivationTimer) > 10 * $(MINUTE) || $(IsVanilla) )
+
+# Only start jobs if:
+# 1) the keyboard has been idle long enough, AND
+# 2) the load average is low enough OR the machine is currently
+# running a Condor job
+# (NOTE: Condor will only run 1 job at a time on a given resource.
+# The reasons Condor might consider running a different job while
+# already running one are machine Rank (defined above), and user
+# priorities.)
+UWCS_START = ( (KeyboardIdle > $(StartIdleTime)) \
+ && ( $(CPUIdle) || \
+ (State != "Unclaimed" && State != "Owner")) )
+
+# Suspend jobs if:
+# 1) the keyboard has been touched, OR
+# 2a) The CPU has been busy for more than 2 minutes, AND
+# 2b) the job has been running for more than 90 seconds
+UWCS_SUSPEND = ( $(KeyboardBusy) || \
+ ( (CpuBusyTime > 2 * $(MINUTE)) \
+ && $(ActivationTimer) > 90 ) )
+
+# Continue jobs if:
+# 1) the cpu is idle, AND
+# 2) we've been suspended more than 10 seconds, AND
+# 3) the keyboard hasn't been touched in a while
+UWCS_CONTINUE = ( $(CPUIdle) && ($(ActivityTimer) > 10) \
+ && (KeyboardIdle > $(ContinueIdleTime)) )
+
+# Preempt jobs if:
+# 1) The job is suspended and has been suspended longer than we want
+# 2) OR, we don't want to suspend this job, but the conditions to
+# suspend jobs have been met (someone is using the machine)
+UWCS_PREEMPT = ( ((Activity == "Suspended") && \
+ ($(ActivityTimer) > $(MaxSuspendTime))) \
+ || (SUSPEND && (WANT_SUSPEND == False)) )
+
+# Maximum time (in seconds) to wait for a job to finish before kicking
+# it off (due to PREEMPT, a higher priority claim, or the startd
+# gracefully shutting down). This is computed from the time the job
+# was started, minus any suspension time. Once the retirement time runs
+# out, the usual preemption process will take place. The job may
+# self-limit the retirement time to _less_ than what is given here.
+# By default, nice user jobs and standard universe jobs set their
+# MaxJobRetirementTime to 0, so they will not wait in retirement.
+
+UWCS_MaxJobRetirementTime = 0
+
+## If you completely disable preemption of claims to machines, you
+## should consider limiting the time span over which new jobs will be
+## accepted on the same claim. See the manual section on disabling
+## preemption for a comprehensive discussion. Since this example
+## configuration does not disable preemption of claims, we leave
+## CLAIM_WORKLIFE undefined (infinite).
+#UWCS_CLAIM_WORKLIFE = 1200
+
+# How long to allow a job to vacate gracefully. After this time,
+# the job is killed.
+MachineMaxVacateTime = $(MaxVacateTime)
+
+# Abort graceful eviction of a job, even though it has not
+# yet used all the time allotted by MachineMaxVacateTime.
+UWCS_KILL = false
+
+## Only define vanilla versions of these if you want to make them
+## different from the above settings.
+#SUSPEND_VANILLA = ( $(KeyboardBusy) || \
+# ((CpuBusyTime > 2 * $(MINUTE)) && $(ActivationTimer) > 90) )
+#CONTINUE_VANILLA = ( $(CPUIdle) && ($(ActivityTimer) > 10) \
+# && (KeyboardIdle > $(ContinueIdleTime)) )
+#PREEMPT_VANILLA = ( ((Activity == "Suspended") && \
+# ($(ActivityTimer) > $(MaxSuspendTime))) \
+# || (SUSPEND_VANILLA && (WANT_SUSPEND == False)) )
+#KILL_VANILLA = false
+
+## Checkpoint every 3 hours on average, with a +-30 minute random
+## factor to avoid having many jobs hit the checkpoint server at
+## the same time.
+UWCS_PERIODIC_CHECKPOINT = $(LastCkpt) > (3 * $(HOUR) + \
+ $RANDOM_INTEGER(-30,30,1) * $(MINUTE) )
+
+## You might want to checkpoint a little less often. A good
+## example of this is below. For jobs smaller than 60 megabytes, we
+## periodic checkpoint every 6 hours. For larger jobs, we only
+## checkpoint every 12 hours.
+#UWCS_PERIODIC_CHECKPOINT = \
+# ( (TARGET.ImageSize < 60000) && \
+# ($(LastCkpt) > (6 * $(HOUR) + $RANDOM_INTEGER(-30,30,1))) ) || \
+# ( $(LastCkpt) > (12 * $(HOUR) + $RANDOM_INTEGER(-30,30,1)) )
+
+## The rank expressions used by the negotiator are configured below.
+## This is the order in which ranks are applied by the negotiator:
+## 1. NEGOTIATOR_PRE_JOB_RANK
+## 2. rank in job ClassAd
+## 3. NEGOTIATOR_POST_JOB_RANK
+## 4. cause of preemption (0=user priority,1=startd rank,2=no preemption)
+## 5. PREEMPTION_RANK
+
+## The NEGOTIATOR_PRE_JOB_RANK expression overrides all other ranks
+## that are used to pick a match from the set of possibilities.
+## The following expression matches jobs to unclaimed resources
+## whenever possible, regardless of the job-supplied rank.
+UWCS_NEGOTIATOR_PRE_JOB_RANK = RemoteOwner =?= UNDEFINED
+
+## The NEGOTIATOR_POST_JOB_RANK expression chooses between
+## resources that are equally preferred by the job.
+## The following example expression steers jobs toward
+## faster machines and tends to fill a cluster of multiprocessors
+## breadth-first instead of depth-first. It also prefers online
+## machines over offline (hibernating) ones. In this example,
+## the expression is chosen to have no effect when preemption
+## would take place, allowing control to pass on to
+## PREEMPTION_RANK.
+UWCS_NEGOTIATOR_POST_JOB_RANK = \
+ (RemoteOwner =?= UNDEFINED) * (KFlops - SlotID - 1.0e10*(Offline=?=True))
+
+## The negotiator will not preempt a job running on a given machine
+## unless the PREEMPTION_REQUIREMENTS expression evaluates to true
+## and the owner of the idle job has a better priority than the owner
+## of the running job. This expression defaults to true.
+UWCS_PREEMPTION_REQUIREMENTS = ((SubmitterGroup =?= RemoteGroup) \
+ && ($(StateTimer) > (1 * $(HOUR))) \
+ && (RemoteUserPrio > TARGET.SubmitterUserPrio * 1.2)) \
+ || (MY.NiceUser == True)
+
+## The PREEMPTION_RANK expression is used in a case where preemption
+## is the only option and all other negotiation ranks are equal. For
+## example, if the job has no preference, it is usually preferable to
+## preempt a job with a small ImageSize instead of a job with a large
+## ImageSize. The default is to rank all preemptable matches the
+## same. However, the negotiator will always prefer to match the job
+## with an idle machine over a preemptable machine, if all other
+## negotiation ranks are equal.
+UWCS_PREEMPTION_RANK = (RemoteUserPrio * 1000000) - TARGET.ImageSize
+
+
+#####################################################################
+## This is a Configuration that will cause your Condor jobs to
+## always run. This is intended for testing only.
+######################################################################
+
+## This mode will cause your jobs to start on a machine an will let
+## them run to completion. Condor will ignore all of what is going
+## on in the machine (load average, keyboard activity, etc.)
+
+TESTINGMODE_WANT_SUSPEND = False
+TESTINGMODE_WANT_VACATE = False
+TESTINGMODE_START = True
+TESTINGMODE_SUSPEND = False
+TESTINGMODE_CONTINUE = True
+TESTINGMODE_PREEMPT = False
+TESTINGMODE_KILL = False
+TESTINGMODE_PERIODIC_CHECKPOINT = False
+TESTINGMODE_PREEMPTION_REQUIREMENTS = False
+TESTINGMODE_PREEMPTION_RANK = 0
+
+# Prevent machine claims from being reused indefinitely, since
+# preemption of claims is disabled in the TESTINGMODE configuration.
+TESTINGMODE_CLAIM_WORKLIFE = 1200
+
+
+######################################################################
+######################################################################
+##
+## ###### #
+## # # ## ##### ##### # #
+## # # # # # # # # #
+## ###### # # # # # # #
+## # ###### ##### # #######
+## # # # # # # #
+## # # # # # # #
+##
+## Part 4: Settings you should probably leave alone:
+## (unless you know what you're doing)
+######################################################################
+######################################################################
+
+######################################################################
+## Daemon-wide settings:
+######################################################################
+
+## Pathnames
+LOG = $(LOCAL_DIR)/log/condor
+SPOOL = $(LOCAL_DIR)/lib/condor/spool
+EXECUTE = $(LOCAL_DIR)/lib/condor/execute
+BIN = $(RELEASE_DIR)/bin
+LIB = $(RELEASE_DIR)/lib
+INCLUDE = $(RELEASE_DIR)/include
+SBIN = $(RELEASE_DIR)/sbin
+LIBEXEC = $(RELEASE_DIR)/libexec
+
+## If you leave HISTORY undefined (comment it out), no history file
+## will be created.
+HISTORY = $(SPOOL)/history
+
+## Log files
+COLLECTOR_LOG = $(LOG)/CollectorLog
+KBDD_LOG = $(LOG)/KbdLog
+MASTER_LOG = $(LOG)/MasterLog
+NEGOTIATOR_LOG = $(LOG)/NegotiatorLog
+NEGOTIATOR_MATCH_LOG = $(LOG)/MatchLog
+SCHEDD_LOG = $(LOG)/SchedLog
+SHADOW_LOG = $(LOG)/ShadowLog
+STARTD_LOG = $(LOG)/StartLog
+STARTER_LOG = $(LOG)/StarterLog
+JOB_ROUTER_LOG = $(LOG)/JobRouterLog
+ROOSTER_LOG = $(LOG)/RoosterLog
+SHARED_PORT_LOG = $(LOG)/SharedPortLog
+# High Availability Logs
+HAD_LOG = $(LOG)/HADLog
+REPLICATION_LOG = $(LOG)/ReplicationLog
+TRANSFERER_LOG = $(LOG)/TransfererLog
+HDFS_LOG = $(LOG)/HDFSLog
+
+## Lock files
+SHADOW_LOCK = $(LOCK)/ShadowLock
+
+## This setting controls how often any lock files currently in use have their
+## time stamp updated. Updating the time stamp prevents administrative programs
+## like 'tmpwatch' from deleting long lived lock files. The parameter is
+## an integer in seconds with a minimum of 60 seconds. The default if not
+## specified is 28800 seconds, or 8 hours.
+## This attribute only takes effect on restart of the daemons or at the next
+## update time.
+# LOCK_FILE_UPDATE_INTERVAL = 28800
+
+## This setting primarily allows you to change the port that the
+## collector is listening on. By default, the collector uses port
+## 9618, but you can set the port with a ":port", such as:
+## COLLECTOR_HOST = $(CONDOR_HOST):1234
+COLLECTOR_HOST = $(CONDOR_HOST)
+
+## The NEGOTIATOR_HOST parameter has been deprecated. The port where
+## the negotiator is listening is now dynamically allocated and the IP
+## and port are now obtained from the collector, just like all the
+## other daemons. However, if your pool contains any machines that
+## are running version 6.7.3 or earlier, you can uncomment this
+## setting to go back to the old fixed-port (9614) for the negotiator.
+#NEGOTIATOR_HOST = $(CONDOR_HOST)
+
+## How long are you willing to let daemons try their graceful
+## shutdown methods before they do a hard shutdown? (30 minutes)
+#SHUTDOWN_GRACEFUL_TIMEOUT = 1800
+
+## How much disk space would you like reserved from Condor? In
+## places where Condor is computing the free disk space on various
+## partitions, it subtracts the amount it really finds by this
+## many megabytes. (If undefined, defaults to 0).
+RESERVED_DISK = 5
+
+## If your machine is running AFS and the AFS cache lives on the same
+## partition as the other Condor directories, and you want Condor to
+## reserve the space that your AFS cache is configured to use, set
+## this to true.
+#RESERVE_AFS_CACHE = False
+
+## By default, if a user does not specify "notify_user" in the submit
+## description file, any email Condor sends about that job will go to
+## "username at UID_DOMAIN". If your machines all share a common UID
+## domain (so that you would set UID_DOMAIN to be the same across all
+## machines in your pool), *BUT* email to user at UID_DOMAIN is *NOT*
+## the right place for Condor to send email for your site, you can
+## define the default domain to use for email. A common example
+## would be to set EMAIL_DOMAIN to the fully qualified hostname of
+## each machine in your pool, so users submitting jobs from a
+## specific machine would get email sent to user at machine.your.domain,
+## instead of user at your.domain. In general, you should leave this
+## setting commented out unless two things are true: 1) UID_DOMAIN is
+## set to your domain, not $(FULL_HOSTNAME), and 2) email to
+## user at UID_DOMAIN won't work.
+#EMAIL_DOMAIN = $(FULL_HOSTNAME)
+
+## Should Condor daemons create a UDP command socket (for incoming
+## UDP-based commands) in addition to the TCP command socket? By
+## default, classified ad updates sent to the collector use UDP, in
+## addition to some keep alive messages and other non-essential
+## communication. However, in certain situations, it might be
+## desirable to disable the UDP command port (for example, to reduce
+## the number of ports represented by a CCB broker, etc). If not
+## defined, the UDP command socket is enabled by default, and to
+## modify this, you must restart your Condor daemons. Also, this
+## setting must be defined machine-wide. For example, setting
+## "STARTD.WANT_UDP_COMMAND_SOCKET = False" while the global setting
+## is "True" will still result in the startd creating a UDP socket.
+#WANT_UDP_COMMAND_SOCKET = True
+
+## If your site needs to use TCP updates to the collector, instead of
+## UDP, you can enable this feature. HOWEVER, WE DO NOT RECOMMEND
+## THIS FOR MOST SITES! In general, the only sites that might want
+## this feature are pools made up of machines connected via a
+## wide-area network where UDP packets are frequently or always
+## dropped. If you enable this feature, you *MUST* turn on the
+## COLLECTOR_SOCKET_CACHE_SIZE setting at your collector, and each
+## entry in the socket cache uses another file descriptor. If not
+## defined, this feature is disabled by default.
+#UPDATE_COLLECTOR_WITH_TCP = True
+
+## HIGHPORT and LOWPORT let you set the range of ports that Condor
+## will use. This may be useful if you are behind a firewall. By
+## default, Condor uses port 9618 for the collector, 9614 for the
+## negotiator, and system-assigned (apparently random) ports for
+## everything else. HIGHPORT and LOWPORT only affect these
+## system-assigned ports, but will restrict them to the range you
+## specify here. If you want to change the well-known ports for the
+## collector or negotiator, see COLLECTOR_HOST or NEGOTIATOR_HOST.
+## Note that both LOWPORT and HIGHPORT must be at least 1024 if you
+## are not starting your daemons as root. You may also specify
+## different port ranges for incoming and outgoing connections by
+## using IN_HIGHPORT/IN_LOWPORT and OUT_HIGHPORT/OUT_LOWPORT.
+#HIGHPORT = 9700
+#LOWPORT = 9600
+
+## If a daemon doesn't respond for too long, do you want go generate
+## a core file? This basically controls the type of the signal
+## sent to the child process, and mostly affects the Condor Master
+#NOT_RESPONDING_WANT_CORE = False
+
+
+######################################################################
+## Daemon-specific settings:
+######################################################################
+
+##--------------------------------------------------------------------
+## condor_master
+##--------------------------------------------------------------------
+## Daemons you want the master to keep running for you:
+DAEMON_LIST = MASTER, SCHEDD, STARTD, NEGOTIATOR, COLLECTOR
+
+## Which daemons use the Condor DaemonCore library (i.e., not the
+## checkpoint server or custom user daemons)?
+#DC_DAEMON_LIST = \
+#MASTER, STARTD, SCHEDD, KBDD, COLLECTOR, NEGOTIATOR, EVENTD, \
+#VIEW_SERVER, CONDOR_VIEW, VIEW_COLLECTOR, HAWKEYE, CREDD, HAD, \
+#DBMSD, QUILL, JOB_ROUTER, ROOSTER, LEASEMANAGER, HDFS, SHARED_PORT, \
+#DEFRAG
+
+
+## Where are the binaries for these daemons?
+MASTER = $(SBIN)/condor_master
+STARTD = $(SBIN)/condor_startd
+SCHEDD = $(SBIN)/condor_schedd
+KBDD = $(SBIN)/condor_kbdd
+NEGOTIATOR = $(SBIN)/condor_negotiator
+COLLECTOR = $(SBIN)/condor_collector
+CKPT_SERVER = $(SBIN)/condor_ckpt_server
+STARTER_LOCAL = $(SBIN)/condor_starter
+JOB_ROUTER = $(LIBEXEC)/condor_job_router
+ROOSTER = $(LIBEXEC)/condor_rooster
+HDFS = $(SBIN)/condor_hdfs
+SHARED_PORT = $(LIBEXEC)/condor_shared_port
+TRANSFERER = $(LIBEXEC)/condor_transferer
+DEFRAG = $(LIBEXEC)/condor_defrag
+
+## When the master starts up, it can place it's address (IP and port)
+## into a file. This way, tools running on the local machine don't
+## need to query the central manager to find the master. This
+## feature can be turned off by commenting out this setting.
+MASTER_ADDRESS_FILE = $(LOG)/.master_address
+
+## Where should the master find the condor_preen binary? If you don't
+## want preen to run at all, set it to nothing.
+PREEN = $(SBIN)/condor_preen
+
+## How do you want preen to behave? The "-m" means you want email
+## about files preen finds that it thinks it should remove. The "-r"
+## means you want preen to actually remove these files. If you don't
+## want either of those things to happen, just remove the appropriate
+## one from this setting.
+PREEN_ARGS = -m -r
+
+## How often should the master start up condor_preen? (once a day)
+#PREEN_INTERVAL = 86400
+
+## If a daemon dies an unnatural death, do you want email about it?
+#PUBLISH_OBITUARIES = True
+
+## If you're getting obituaries, how many lines of the end of that
+## daemon's log file do you want included in the obituary?
+#OBITUARY_LOG_LENGTH = 20
+
+## Should the master run?
+#START_MASTER = True
+
+## Should the master start up the daemons you want it to?
+#START_DAEMONS = True
+
+## How often do you want the master to send an update to the central
+## manager?
+#MASTER_UPDATE_INTERVAL = 300
+
+## How often do you want the master to check the time stamps of the
+## daemons it's running? If any daemons have been modified, the
+## master restarts them.
+#MASTER_CHECK_NEW_EXEC_INTERVAL = 300
+
+## Once you notice new binaries, how long should you wait before you
+## try to execute them?
+#MASTER_NEW_BINARY_DELAY = 120
+
+## What's the maximum amount of time you're willing to give the
+## daemons to quickly shutdown before you just kill them outright?
+#SHUTDOWN_FAST_TIMEOUT = 120
+
+######
+## Exponential back off settings:
+######
+## When a daemon keeps crashing, we use "exponential back off" so we
+## wait longer and longer before restarting it. This is the base of
+## the exponent used to determine how long to wait before starting
+## the daemon again:
+#MASTER_BACKOFF_FACTOR = 2.0
+
+## What's the maximum amount of time you want the master to wait
+## between attempts to start a given daemon? (With 2.0 as the
+## MASTER_BACKOFF_FACTOR, you'd hit 1 hour in 12 restarts...)
+#MASTER_BACKOFF_CEILING = 3600
+
+## How long should a daemon run without crashing before we consider
+## it "recovered". Once a daemon has recovered, we reset the number
+## of restarts so the exponential back off stuff goes back to normal.
+#MASTER_RECOVER_FACTOR = 300
+
+
+##--------------------------------------------------------------------
+## condor_collector
+##--------------------------------------------------------------------
+## Address to which Condor will send a weekly e-mail with output of
+## condor_status.
+#CONDOR_DEVELOPERS = condor-admin at cs.wisc.edu
+
+## Global Collector to periodically advertise basic information about
+## your pool.
+#CONDOR_DEVELOPERS_COLLECTOR = condor.cs.wisc.edu
+
+## When the collector starts up, it can place it's address (IP and port)
+## into a file. This way, tools running on the local machine don't
+## need to query the central manager to find the collector. This
+## feature can be turned off by commenting out this setting.
+## This is essential when using a port of "0" (automatic) for the
+## COLLECTOR_HOST, a useful technique for personal Condor installs.
+COLLECTOR_ADDRESS_FILE = $(LOG)/.collector_address
+
+
+##--------------------------------------------------------------------
+## condor_negotiator
+##--------------------------------------------------------------------
+## Determine if the Negotiator will honor SlotWeight attributes, which
+## may be used to give a slot greater weight when calculating usage.
+#NEGOTIATOR_USE_SLOT_WEIGHTS = True
+
+
+## How often the Negotaitor starts a negotiation cycle, defined in
+## seconds.
+#NEGOTIATOR_INTERVAL = 60
+
+## Should the Negotiator publish an update to the Collector after
+## every negotiation cycle. It is useful to have this set to True
+## to get immediate updates on LastNegotiationCycle statistics.
+#NEGOTIATOR_UPDATE_AFTER_CYCLE = False
+
+
+##--------------------------------------------------------------------
+## condor_startd
+##--------------------------------------------------------------------
+## Where are the various condor_starter binaries installed?
+STARTER_LIST = STARTER, STARTER_STANDARD
+STARTER = $(SBIN)/condor_starter
+STARTER_STANDARD = $(SBIN)/condor_starter.std
+STARTER_LOCAL = $(SBIN)/condor_starter
+
+## When the startd starts up, it can place it's address (IP and port)
+## into a file. This way, tools running on the local machine don't
+## need to query the central manager to find the startd. This
+## feature can be turned off by commenting out this setting.
+STARTD_ADDRESS_FILE = $(LOG)/.startd_address
+
+## When a machine is claimed, how often should we poll the state of
+## the machine to see if we need to evict/suspend the job, etc?
+#POLLING_INTERVAL = 5
+
+## How often should the startd send updates to the central manager?
+#UPDATE_INTERVAL = 300
+
+## How long is the startd willing to stay in the "matched" state?
+#MATCH_TIMEOUT = 300
+
+## How long is the startd willing to stay in the preempting/killing
+## state before it just kills the starter directly?
+#KILLING_TIMEOUT = 30
+
+## When a machine unclaimed, when should it run benchmarks?
+## LastBenchmark is initialized to 0, so this expression says as soon
+## as we're unclaimed, run the benchmarks. Thereafter, if we're
+## unclaimed and it's been at least 4 hours since we ran the last
+## benchmarks, run them again. The startd keeps a weighted average
+## of the benchmark results to provide more accurate values.
+## Note, if you don't want any benchmarks run at all, either comment
+## RunBenchmarks out, or set it to "False".
+BenchmarkTimer = (time() - LastBenchmark)
+RunBenchmarks : (LastBenchmark == 0 ) || ($(BenchmarkTimer) >= (4 * $(HOUR)))
+#RunBenchmarks : False
+
+## When the startd does benchmarks, which set of benchmarks should we
+## run? The default is the same as pre-7.5.6: MIPS and KFLOPS.
+benchmarks_joblist = mips kflops
+
+## What's the max "load" of all running benchmarks? With the default
+## (1.01), the startd will run the benchmarks serially.
+benchmarks_max_job_load = 1.0
+
+# MIPS (Dhrystone 2.1) benchmark: load 1.0
+benchmarks_mips_executable = $(LIBEXEC)/condor_mips
+benchmarks_mips_job_load = 1.0
+
+# KFLOPS (clinpack) benchmark: load 1.0
+benchmarks_kflops_executable = $(LIBEXEC)/condor_kflops
+benchmarks_kflops_job_load = 1.0
+
+
+## Normally, when the startd is computing the idle time of all the
+## users of the machine (both local and remote), it checks the utmp
+## file to find all the currently active ttys, and only checks access
+## time of the devices associated with active logins. Unfortunately,
+## on some systems, utmp is unreliable, and the startd might miss
+## keyboard activity by doing this. So, if your utmp is unreliable,
+## set this setting to True and the startd will check the access time
+## on all tty and pty devices.
+#STARTD_HAS_BAD_UTMP = False
+
+## This entry allows the startd to monitor console (keyboard and
+## mouse) activity by checking the access times on special files in
+## /dev. Activity on these files shows up as "ConsoleIdle" time in
+## the startd's ClassAd. Just give a comma-separated list of the
+## names of devices you want considered the console, without the
+## "/dev/" portion of the pathname.
+#CONSOLE_DEVICES = mouse, console
+
+
+## The STARTD_ATTRS (and legacy STARTD_EXPRS) entry allows you to
+## have the startd advertise arbitrary attributes from the config
+## file in its ClassAd. Give the comma-separated list of entries
+## from the config file you want in the startd ClassAd.
+## NOTE: because of the different syntax of the config file and
+## ClassAds, you might have to do a little extra work to get a given
+## entry into the ClassAd. In particular, ClassAds require double
+## quotes (") around your strings. Numeric values can go in
+## directly, as can boolean expressions. For example, if you wanted
+## the startd to advertise its list of console devices, when it's
+## configured to run benchmarks, and how often it sends updates to
+## the central manager, you'd have to define the following helper
+## macro:
+#MY_CONSOLE_DEVICES = "$(CONSOLE_DEVICES)"
+## Note: this must come before you define STARTD_ATTRS because macros
+## must be defined before you use them in other macros or
+## expressions.
+## Then, you'd set the STARTD_ATTRS setting to this:
+#STARTD_ATTRS = MY_CONSOLE_DEVICES, RunBenchmarks, UPDATE_INTERVAL
+##
+## STARTD_ATTRS can also be defined on a per-slot basis. The startd
+## builds the list of attributes to advertise by combining the lists
+## in this order: STARTD_ATTRS, SLOTx_STARTD_ATTRS. In the below
+## example, the startd ad for slot1 will have the value for
+## favorite_color, favorite_season, and favorite_movie, and slot2
+## will have favorite_color, favorite_season, and favorite_song.
+##
+#STARTD_ATTRS = favorite_color, favorite_season
+#SLOT1_STARTD_ATTRS = favorite_movie
+#SLOT2_STARTD_ATTRS = favorite_song
+##
+## Attributes in the STARTD_ATTRS list can also be on a per-slot basis.
+## For example, the following configuration:
+##
+#favorite_color = "blue"
+#favorite_season = "spring"
+#SLOT2_favorite_color = "green"
+#SLOT3_favorite_season = "summer"
+#STARTD_ATTRS = favorite_color, favorite_season
+##
+## will result in the following attributes in the slot classified
+## ads:
+##
+## slot1 - favorite_color = "blue"; favorite_season = "spring"
+## slot2 - favorite_color = "green"; favorite_season = "spring"
+## slot3 - favorite_color = "blue"; favorite_season = "summer"
+##
+## Finally, the recommended default value for this setting, is to
+## publish the COLLECTOR_HOST setting as a string. This can be
+## useful using the "$$(COLLECTOR_HOST)" syntax in the submit file
+## for jobs to know (for example, via their environment) what pool
+## they're running in.
+COLLECTOR_HOST_STRING = "$(COLLECTOR_HOST)"
+STARTD_ATTRS = COLLECTOR_HOST_STRING
+
+## When the startd is claimed by a remote user, it can also advertise
+## arbitrary attributes from the ClassAd of the job its working on.
+## Just list the attribute names you want advertised.
+## Note: since this is already a ClassAd, you don't have to do
+## anything funny with strings, etc. This feature can be turned off
+## by commenting out this setting (there is no default).
+STARTD_JOB_EXPRS = ImageSize, ExecutableSize, JobUniverse, NiceUser
+
+## If you want to "lie" to Condor about how many CPUs your machine
+## has, you can use this setting to override Condor's automatic
+## computation. If you modify this, you must restart the startd for
+## the change to take effect (a simple condor_reconfig will not do).
+## Please read the section on "condor_startd Configuration File
+## Macros" in the Condor Administrators Manual for a further
+## discussion of this setting. Its use is not recommended. This
+## must be an integer ("N" isn't a valid setting, that's just used to
+## represent the default).
+#NUM_CPUS = N
+
+## If you never want Condor to detect more the "N" CPUs, uncomment this
+## line out. You must restart the startd for this setting to take
+## effect. If set to 0 or a negative number, it is ignored.
+## By default, it is ignored. Otherwise, it must be a positive
+## integer ("N" isn't a valid setting, that's just used to
+## represent the default).
+#MAX_NUM_CPUS = N
+
+## Normally, Condor will automatically detect the amount of physical
+## memory available on your machine. Define MEMORY to tell Condor
+## how much physical memory (in MB) your machine has, overriding the
+## value Condor computes automatically. For example:
+#MEMORY = 128
+
+## How much memory would you like reserved from Condor? By default,
+## Condor considers all the physical memory of your machine as
+## available to be used by Condor jobs. If RESERVED_MEMORY is
+## defined, Condor subtracts it from the amount of memory it
+## advertises as available.
+#RESERVED_MEMORY = 0
+
+######
+## SMP startd settings
+##
+## By default, Condor will evenly divide the resources in an SMP
+## machine (such as RAM, swap space and disk space) among all the
+## CPUs, and advertise each CPU as its own slot with an even share of
+## the system resources. If you want something other than this,
+## there are a few options available to you. Please read the section
+## on "Configuring The Startd for SMP Machines" in the Condor
+## Administrator's Manual for full details. The various settings are
+## only briefly listed and described here.
+######
+
+## The maximum number of different slot types.
+#MAX_SLOT_TYPES = 10
+
+## Use this setting to define your own slot types. This
+## allows you to divide system resources unevenly among your CPUs.
+## You must use a different setting for each different type you
+## define. The "<N>" in the name of the macro listed below must be
+## an integer from 1 to MAX_SLOT_TYPES (defined above),
+## and you use this number to refer to your type. There are many
+## different formats these settings can take, so be sure to refer to
+## the section on "Configuring The Startd for SMP Machines" in the
+## Condor Administrator's Manual for full details. In particular,
+## read the section titled "Defining Slot Types" to help
+## understand this setting. If you modify any of these settings, you
+## must restart the condor_start for the change to take effect.
+#SLOT_TYPE_<N> = 1/4
+#SLOT_TYPE_<N> = cpus=1, ram=25%, swap=1/4, disk=1/4
+# For example:
+#SLOT_TYPE_1 = 1/8
+#SLOT_TYPE_2 = 1/4
+
+## If you define your own slot types, you must specify how
+## many slots of each type you wish to advertise. You do
+## this with the setting below, replacing the "<N>" with the
+## corresponding integer you used to define the type above. You can
+## change the number of a given type being advertised at run-time,
+## with a simple condor_reconfig.
+#NUM_SLOTS_TYPE_<N> = M
+# For example:
+#NUM_SLOTS_TYPE_1 = 6
+#NUM_SLOTS_TYPE_2 = 1
+
+## The number of evenly-divided slots you want Condor to
+## report to your pool (if less than the total number of CPUs). This
+## setting is only considered if the "type" settings described above
+## are not in use. By default, all CPUs are reported. This setting
+## must be an integer ("N" isn't a valid setting, that's just used to
+## represent the default).
+#NUM_SLOTS = N
+
+## How many of the slots the startd is representing should
+## be "connected" to the console (in other words, notice when there's
+## console activity)? This defaults to all slots (N in a
+## machine with N CPUs). This must be an integer ("N" isn't a valid
+## setting, that's just used to represent the default).
+#SLOTS_CONNECTED_TO_CONSOLE = N
+
+## How many of the slots the startd is representing should
+## be "connected" to the keyboard (for remote tty activity, as well
+## as console activity). Defaults to 1.
+#SLOTS_CONNECTED_TO_KEYBOARD = 1
+
+## If there are slots that aren't connected to the
+## keyboard or the console (see the above two settings), the
+## corresponding idle time reported will be the time since the startd
+## was spawned, plus the value of this parameter. It defaults to 20
+## minutes. We do this because, if the slot is configured
+## not to care about keyboard activity, we want it to be available to
+## Condor jobs as soon as the startd starts up, instead of having to
+## wait for 15 minutes or more (which is the default time a machine
+## must be idle before Condor will start a job). If you don't want
+## this boost, just set the value to 0. If you change your START
+## expression to require more than 15 minutes before a job starts,
+## but you still want jobs to start right away on some of your SMP
+## nodes, just increase this parameter.
+#DISCONNECTED_KEYBOARD_IDLE_BOOST = 1200
+
+######
+## Settings for computing optional resource availability statistics:
+######
+## If STARTD_COMPUTE_AVAIL_STATS = True, the startd will compute
+## statistics about resource availability to be included in the
+## classad(s) sent to the collector describing the resource(s) the
+## startd manages. The following attributes will always be included
+## in the resource classad(s) if STARTD_COMPUTE_AVAIL_STATS = True:
+## AvailTime = What proportion of the time (between 0.0 and 1.0)
+## has this resource been in a state other than "Owner"?
+## LastAvailInterval = What was the duration (in seconds) of the
+## last period between "Owner" states?
+## The following attributes will also be included if the resource is
+## not in the "Owner" state:
+## AvailSince = At what time did the resource last leave the
+## "Owner" state? Measured in the number of seconds since the
+## epoch (00:00:00 UTC, Jan 1, 1970).
+## AvailTimeEstimate = Based on past history, this is an estimate
+## of how long the current period between "Owner" states will
+## last.
+#STARTD_COMPUTE_AVAIL_STATS = False
+
+## If STARTD_COMPUTE_AVAIL_STATS = True, STARTD_AVAIL_CONFIDENCE sets
+## the confidence level of the AvailTimeEstimate. By default, the
+## estimate is based on the 80th percentile of past values.
+#STARTD_AVAIL_CONFIDENCE = 0.8
+
+## STARTD_MAX_AVAIL_PERIOD_SAMPLES limits the number of samples of
+## past available intervals stored by the startd to limit memory and
+## disk consumption. Each sample requires 4 bytes of memory and
+## approximately 10 bytes of disk space.
+#STARTD_MAX_AVAIL_PERIOD_SAMPLES = 100
+
+## CKPT_PROBE is the location of a program which computes aspects of the
+## CheckpointPlatform classad attribute. By default the location of this
+## executable will be here: $(LIBEXEC)/condor_ckpt_probe
+CKPT_PROBE = $(LIBEXEC)/condor_ckpt_probe
+
+##--------------------------------------------------------------------
+## condor_schedd
+##--------------------------------------------------------------------
+## Where are the various shadow binaries installed?
+SHADOW_LIST = SHADOW, SHADOW_STANDARD
+SHADOW = $(SBIN)/condor_shadow
+SHADOW_STANDARD = $(SBIN)/condor_shadow.std
+
+## When the schedd starts up, it can place it's address (IP and port)
+## into a file. This way, tools running on the local machine don't
+## need to query the central manager to find the schedd. This
+## feature can be turned off by commenting out this setting.
+SCHEDD_ADDRESS_FILE = $(SPOOL)/.schedd_address
+
+## Additionally, a daemon may store its ClassAd on the local filesystem
+## as well as sending it to the collector. This way, tools that need
+## information about a daemon do not have to contact the central manager
+## to get information about a daemon on the same machine.
+## This feature is necessary for Quill to work.
+SCHEDD_DAEMON_AD_FILE = $(SPOOL)/.schedd_classad
+
+## How often should the schedd send an update to the central manager?
+#SCHEDD_INTERVAL = 300
+
+## How long should the schedd wait between spawning each shadow?
+#JOB_START_DELAY = 2
+
+## How many concurrent sub-processes should the schedd spawn to handle
+## queries? (Unix only)
+#SCHEDD_QUERY_WORKERS = 3
+
+## How often should the schedd send a keep alive message to any
+## startds it has claimed? (5 minutes)
+#ALIVE_INTERVAL = 300
+
+## This setting controls the maximum number of times that a
+## condor_shadow processes can have a fatal error (exception) before
+## the condor_schedd will simply relinquish the match associated with
+## the dying shadow.
+#MAX_SHADOW_EXCEPTIONS = 5
+
+## Estimated virtual memory size of each condor_shadow process.
+## Specified in kilobytes.
+# SHADOW_SIZE_ESTIMATE = 800
+
+## The condor_schedd can renice the condor_shadow processes on your
+## submit machines. How "nice" do you want the shadows? (1-19).
+## The higher the number, the lower priority the shadows have.
+# SHADOW_RENICE_INCREMENT = 0
+
+## The condor_schedd can renice scheduler universe processes
+## (e.g. DAGMan) on your submit machines. How "nice" do you want the
+## scheduler universe processes? (1-19). The higher the number, the
+## lower priority the processes have.
+# SCHED_UNIV_RENICE_INCREMENT = 0
+
+## By default, when the schedd fails to start an idle job, it will
+## not try to start any other idle jobs in the same cluster during
+## that negotiation cycle. This makes negotiation much more
+## efficient for large job clusters. However, in some cases other
+## jobs in the cluster can be started even though an earlier job
+## can't. For example, the jobs' requirements may differ, because of
+## different disk space, memory, or operating system requirements.
+## Or, machines may be willing to run only some jobs in the cluster,
+## because their requirements reference the jobs' virtual memory size
+## or other attribute. Setting NEGOTIATE_ALL_JOBS_IN_CLUSTER to True
+## will force the schedd to try to start all idle jobs in each
+## negotiation cycle. This will make negotiation cycles last longer,
+## but it will ensure that all jobs that can be started will be
+## started.
+#NEGOTIATE_ALL_JOBS_IN_CLUSTER = False
+
+## This setting controls how often, in seconds, the schedd considers
+## periodic job actions given by the user in the submit file.
+## (Currently, these are periodic_hold, periodic_release, and periodic_remove.)
+#PERIODIC_EXPR_INTERVAL = 60
+
+######
+## Queue management settings:
+######
+## How often should the schedd truncate it's job queue transaction
+## log? (Specified in seconds, once a day is the default.)
+#QUEUE_CLEAN_INTERVAL = 86400
+
+## How often should the schedd commit "wall clock" run time for jobs
+## to the queue, so run time statistics remain accurate when the
+## schedd crashes? (Specified in seconds, once per hour is the
+## default. Set to 0 to disable.)
+#WALL_CLOCK_CKPT_INTERVAL = 3600
+
+## What users do you want to grant super user access to this job
+## queue? (These users will be able to remove other user's jobs).
+## By default, this only includes root.
+QUEUE_SUPER_USERS = root, condor
+
+
+##--------------------------------------------------------------------
+## condor_shadow
+##--------------------------------------------------------------------
+## If the shadow is unable to read a checkpoint file from the
+## checkpoint server, it keeps trying only if the job has accumulated
+## more than MAX_DISCARDED_RUN_TIME seconds of CPU usage. Otherwise,
+## the job is started from scratch. Defaults to 1 hour. This
+## setting is only used if USE_CKPT_SERVER (from above) is True.
+#MAX_DISCARDED_RUN_TIME = 3600
+
+## Should periodic checkpoints be compressed?
+#COMPRESS_PERIODIC_CKPT = False
+
+## Should vacate checkpoints be compressed?
+#COMPRESS_VACATE_CKPT = False
+
+## Should we commit the application's dirty memory pages to swap
+## space during a periodic checkpoint?
+#PERIODIC_MEMORY_SYNC = False
+
+## Should we write vacate checkpoints slowly? If nonzero, this
+## parameter specifies the speed at which vacate checkpoints should
+## be written, in kilobytes per second.
+#SLOW_CKPT_SPEED = 0
+
+## How often should the shadow update the job queue with job
+## attributes that periodically change? Specified in seconds.
+#SHADOW_QUEUE_UPDATE_INTERVAL = 15 * 60
+
+## Should the shadow wait to update certain job attributes for the
+## next periodic update, or should it immediately these update
+## attributes as they change? Due to performance concerns of
+## aggressive updates to a busy condor_schedd, the default is True.
+#SHADOW_LAZY_QUEUE_UPDATE = TRUE
+
+
+##--------------------------------------------------------------------
+## condor_starter
+##--------------------------------------------------------------------
+## The condor_starter can renice the processes of Condor
+## jobs on your execute machines. If you want this, uncomment the
+## following entry and set it to how "nice" you want the user
+## jobs. (1-19) The larger the number, the lower priority the
+## process gets on your machines.
+## Note on Win32 platforms, this number needs to be greater than
+## zero (i.e. the job must be reniced) or the mechanism that
+## monitors CPU load on Win32 systems will give erratic results.
+#JOB_RENICE_INCREMENT = 10
+
+## Should the starter do local logging to its own log file, or send
+## debug information back to the condor_shadow where it will end up
+## in the ShadowLog?
+#STARTER_LOCAL_LOGGING = TRUE
+
+## If the UID_DOMAIN settings match on both the execute and submit
+## machines, but the UID of the user who submitted the job isn't in
+## the passwd file of the execute machine, the starter will normally
+## exit with an error. Do you want the starter to just start up the
+## job with the specified UID, even if it's not in the passwd file?
+#SOFT_UID_DOMAIN = FALSE
+
+## honor the run_as_owner option from the condor submit file.
+##
+#STARTER_ALLOW_RUNAS_OWNER = TRUE
+
+## Tell the Starter/Startd what program to use to remove a directory
+## condor_rmdir.exe is a windows-only command that does a better job
+## than the built-in rmdir command when it is run with elevated privileges
+## Such as when when Condor is running as a service.
+## /s is delete sub-directories
+## /c is continue on error
+WINDOWS_RMDIR = $(SBIN)\condor_rmdir.exe
+#WINDOWS_RMDIR_OPTIONS = /s /c
+
+##--------------------------------------------------------------------
+## condor_procd
+##--------------------------------------------------------------------
+##
+# the path to the procd binary
+#
+PROCD = $(SBIN)/condor_procd
+
+# the path to the procd "address"
+# - on UNIX this will be a named pipe; we'll put it in the
+# $(LOCK) directory by default (note that multiple named pipes
+# will be created in this directory for when the procd responds
+# to its clients)
+# - on Windows, this will be a named pipe as well (but named pipes on
+# Windows are not even close to the same thing as named pipes on
+# UNIX); the name will be something like:
+# \\.\pipe\condor_procd
+#
+PROCD_ADDRESS = $(LOCK)/procd_pipe
+
+# Note that in other Condor daemons, turning on D_PROCFAMILY will
+# result in that daemon logging all of its interactions with the
+# ProcD.
+#
+PROCD_LOG = $(LOG)/ProcLog
+
+# This is the maximum period that the procd will use for taking
+# snapshots (the actual period may be lower if a condor daemon registers
+# a family for which it wants more frequent snapshots)
+#
+PROCD_MAX_SNAPSHOT_INTERVAL = 60
+
+# On Windows, we send a process a "soft kill" via a WM_CLOSE message.
+# This binary is used by the ProcD (and other Condor daemons if PRIVSEP
+# is not enabled) to help when sending soft kills.
+WINDOWS_SOFTKILL = $(SBIN)/condor_softkill
+
+##--------------------------------------------------------------------
+## condor_submit
+##--------------------------------------------------------------------
+## If you want condor_submit to automatically append an expression to
+## the Requirements expression or Rank expression of jobs at your
+## site, uncomment these entries.
+#APPEND_REQUIREMENTS = (expression to append job requirements)
+#APPEND_RANK = (expression to append job rank)
+
+## If you want expressions only appended for either standard or
+## vanilla universe jobs, you can uncomment these entries. If any of
+## them are defined, they are used for the given universe, instead of
+## the generic entries above.
+#APPEND_REQ_VANILLA = (expression to append to vanilla job requirements)
+#APPEND_REQ_STANDARD = (expression to append to standard job requirements)
+#APPEND_RANK_STANDARD = (expression to append to vanilla job rank)
+#APPEND_RANK_VANILLA = (expression to append to standard job rank)
+
+## This can be used to define a default value for the rank expression
+## if one is not specified in the submit file.
+#DEFAULT_RANK = (default rank expression for all jobs)
+
+## If you want universe-specific defaults, you can use the following
+## entries:
+#DEFAULT_RANK_VANILLA = (default rank expression for vanilla jobs)
+#DEFAULT_RANK_STANDARD = (default rank expression for standard jobs)
+
+## If you want condor_submit to automatically append expressions to
+## the job ClassAds it creates, you can uncomment and define the
+## SUBMIT_EXPRS setting. It works just like the STARTD_EXPRS
+## described above with respect to ClassAd vs. config file syntax,
+## strings, etc. One common use would be to have the full hostname
+## of the machine where a job was submitted placed in the job
+## ClassAd. You would do this by uncommenting the following lines:
+#MACHINE = "$(FULL_HOSTNAME)"
+#SUBMIT_EXPRS = MACHINE
+
+## Condor keeps a buffer of recently-used data for each file an
+## application opens. This macro specifies the default maximum number
+## of bytes to be buffered for each open file at the executing
+## machine.
+#DEFAULT_IO_BUFFER_SIZE = 524288
+
+## Condor will attempt to consolidate small read and write operations
+## into large blocks. This macro specifies the default block size
+## Condor will use.
+#DEFAULT_IO_BUFFER_BLOCK_SIZE = 32768
+
+##--------------------------------------------------------------------
+## condor_preen
+##--------------------------------------------------------------------
+## Who should condor_preen send email to?
+#PREEN_ADMIN = $(CONDOR_ADMIN)
+
+## What files should condor_preen leave in the spool directory?
+VALID_SPOOL_FILES = job_queue.log, job_queue.log.tmp, history, \
+ Accountant.log, Accountantnew.log, \
+ local_univ_execute, .quillwritepassword, \
+ .pgpass, \
+ .schedd_address, .schedd_classad
+
+## What files should condor_preen remove from the log directory?
+INVALID_LOG_FILES = core
+
+##--------------------------------------------------------------------
+## Java parameters:
+##--------------------------------------------------------------------
+## If you would like this machine to be able to run Java jobs,
+## then set JAVA to the path of your JVM binary. If you are not
+## interested in Java, there is no harm in leaving this entry
+## empty or incorrect.
+
+JAVA = /usr/bin/java
+
+## JAVA_CLASSPATH_DEFAULT gives the default set of paths in which
+## Java classes are to be found. Each path is separated by spaces.
+## If your JVM needs to be informed of additional directories, add
+## them here. However, do not remove the existing entries, as Condor
+## needs them.
+
+JAVA_CLASSPATH_DEFAULT = $(LIB) $(LIB)/scimark2lib.jar .
+
+## JAVA_CLASSPATH_ARGUMENT describes the command-line parameter
+## used to introduce a new classpath:
+
+JAVA_CLASSPATH_ARGUMENT = -classpath
+
+## JAVA_CLASSPATH_SEPARATOR describes the character used to mark
+## one path element from another:
+
+JAVA_CLASSPATH_SEPARATOR = :
+
+## JAVA_BENCHMARK_TIME describes the number of seconds for which
+## to run Java benchmarks. A longer time yields a more accurate
+## benchmark, but consumes more otherwise useful CPU time.
+## If this time is zero or undefined, no Java benchmarks will be run.
+
+JAVA_BENCHMARK_TIME = 2
+
+## If your JVM requires any special arguments not mentioned in
+## the options above, then give them here.
+
+JAVA_EXTRA_ARGUMENTS =
+
+##
+##--------------------------------------------------------------------
+## Condor-G settings
+##--------------------------------------------------------------------
+## Where is the GridManager binary installed?
+
+GRIDMANAGER = $(SBIN)/condor_gridmanager
+GT2_GAHP = $(SBIN)/gahp_server
+GRID_MONITOR = $(SBIN)/grid_monitor
+
+##--------------------------------------------------------------------
+## Settings that control the daemon's debugging output:
+##--------------------------------------------------------------------
+##
+## Note that the Gridmanager runs as the User, not a Condor daemon, so
+## all users must have write permission to the directory that the
+## Gridmanager will use for it's logfile. Our suggestion is to create a
+## directory called GridLogs in $(LOG) with UNIX permissions 1777
+## (just like /tmp )
+## Another option is to use /tmp as the location of the GridManager log.
+##
+
+MAX_GRIDMANAGER_LOG = 1000000
+GRIDMANAGER_DEBUG =
+
+GRIDMANAGER_LOG = $(LOG)/GridmanagerLog.$(USERNAME)
+GRIDMANAGER_LOCK = $(LOCK)/GridmanagerLock.$(USERNAME)
+
+##--------------------------------------------------------------------
+## Various other settings that the Condor-G can use.
+##--------------------------------------------------------------------
+
+## The number of seconds between status update requests. You can make
+## this short (5 seconds) if you want Condor to respond quickly to
+## instances as they terminate, or you can make it long (300 seconds = 5
+## minutes) if you know your instances will run for awhile and don't
+## mind delay between when they stop and when Condor responds to them
+## stopping.
+GRIDMANAGER_JOB_PROBE_INTERVAL = 300
+
+## For grid-type gt2 jobs (pre-WS GRAM), limit the number of jobmanager
+## processes the gridmanager will let run on the headnode. Letting too
+## many jobmanagers run causes severe load on the headnode.
+GRIDMANAGER_MAX_JOBMANAGERS_PER_RESOURCE = 10
+
+## If we're talking to a Globus 2.0 resource, Condor-G will use the new
+## version of the GRAM protocol. The first option is how often to check the
+## proxy on the submit site of things. If the GridManager discovers a new
+## proxy, it will restart itself and use the new proxy for all future
+## jobs launched. In seconds, and defaults to 10 minutes
+#GRIDMANAGER_CHECKPROXY_INTERVAL = 600
+
+## The GridManager will shut things down 3 minutes before loosing Contact
+## because of an expired proxy.
+## In seconds, and defaults to 3 minutes
+#GRDIMANAGER_MINIMUM_PROXY_TIME = 180
+
+## Condor requires that each submitted job be designated to run under a
+## particular "universe".
+##
+## If no universe is specified in the submit file, Condor must pick one
+## for the job to use. By default, it chooses the "vanilla" universe.
+## The default can be overridden in the config file with the DEFAULT_UNIVERSE
+## setting, which is a string to insert into a job submit description if the
+## job does not try and define it's own universe
+##
+#DEFAULT_UNIVERSE = vanilla
+
+#
+# The Cred_min_time_left is the first-pass at making sure that Condor-G
+# does not submit your job without it having enough time left for the
+# job to finish. For example, if you have a job that runs for 20 minutes, and
+# you might spend 40 minutes in the queue, it's a bad idea to submit with less
+# than an hour left before your proxy expires.
+# 2 hours seemed like a reasonable default.
+#
+CRED_MIN_TIME_LEFT = 120
+
+
+##
+## The GridMonitor allows you to submit many more jobs to a GT2 GRAM server
+## than is normally possible.
+#ENABLE_GRID_MONITOR = TRUE
+
+##
+## When an error occurs with the GridMonitor, how long should the
+## gridmanager wait before trying to submit a new GridMonitor job?
+## The default is 1 hour (3600 seconds).
+#GRID_MONITOR_DISABLE_TIME = 3600
+
+##
+## The location of the wrapper for invoking
+## Condor GAHP server
+##
+CONDOR_GAHP = $(SBIN)/condor_c-gahp
+CONDOR_GAHP_WORKER = $(SBIN)/condor_c-gahp_worker_thread
+
+##
+## The Condor GAHP server has its own log. Like the Gridmanager, the
+## GAHP server is run as the User, not a Condor daemon, so all users must
+## have write permission to the directory used for the logfile. Our
+## suggestion is to create a directory called GridLogs in $(LOG) with
+## UNIX permissions 1777 (just like /tmp )
+## Another option is to use /tmp as the location of the CGAHP log.
+##
+MAX_C_GAHP_LOG = 1000000
+
+#C_GAHP_LOG = $(LOG)/GridLogs/CGAHPLog.$(USERNAME)
+C_GAHP_LOG = /tmp/CGAHPLog.$(USERNAME)
+C_GAHP_LOCK = /tmp/CGAHPLock.$(USERNAME)
+C_GAHP_WORKER_THREAD_LOG = /tmp/CGAHPWorkerLog.$(USERNAME)
+C_GAHP_WORKER_THREAD_LOCK = /tmp/CGAHPWorkerLock.$(USERNAME)
+
+##
+## Location of the PBS/LSF gahp and its associated binaries
+##
+GLITE_LOCATION = $(LIBEXEC)/glite
+BATCH_GAHP = $(GLITE_LOCATION)/bin/batch_gahp
+
+##
+## The location of the wrapper for invoking the Unicore GAHP server
+##
+UNICORE_GAHP = $(SBIN)/unicore_gahp
+
+##
+## The location of the wrapper for invoking the NorduGrid GAHP server
+##
+NORDUGRID_GAHP = $(SBIN)/nordugrid_gahp
+
+## The location of the CREAM GAHP server
+CREAM_GAHP = $(SBIN)/cream_gahp
+
+## Condor-G and CredD can use MyProxy to refresh GSI proxies which are
+## about to expire.
+#MYPROXY_GET_DELEGATION = /path/to/myproxy-get-delegation
+
+## The location of the Deltacloud GAHP server
+DELTACLOUD_GAHP = $(SBIN)/deltacloud_gahp
+
+##
+## EC2 (REST): Universe = Grid, Grid_Resource = ec2
+##
+
+## The location of the ec2_gahp program, required
+EC2_GAHP = $(SBIN)/ec2_gahp
+
+## Location of log files, useful for debugging, must be in
+## a directory writable by any user, such as /tmp
+#EC2_GAHP_DEBUG = D_FULLDEBUG
+EC2_GAHP_LOG = /tmp/EC2GahpLog.$(USERNAME)
+
+## As of this writing EC2 has a hard limit of 20 concurrently
+## running instances, so a limit of 20 is imposed so the GridManager
+## does not waste its time sending requests that will be rejected.
+GRIDMANAGER_MAX_SUBMITTED_JOBS_PER_RESOURCE_EC2 = 20
+
+##
+##--------------------------------------------------------------------
+## condor_credd credential management daemon
+##--------------------------------------------------------------------
+## Where is the CredD binary installed?
+CREDD = $(SBIN)/condor_credd
+
+## When the credd starts up, it can place it's address (IP and port)
+## into a file. This way, tools running on the local machine don't
+## need an additional "-n host:port" command line option. This
+## feature can be turned off by commenting out this setting.
+CREDD_ADDRESS_FILE = $(LOG)/.credd_address
+
+## Specify a remote credd server here,
+#CREDD_HOST = $(CONDOR_HOST):$(CREDD_PORT)
+
+## CredD startup arguments
+## Start the CredD on a well-known port. Uncomment to to simplify
+## connecting to a remote CredD. Note: that this interface may change
+## in a future release.
+CREDD_PORT = 9620
+CREDD_ARGS = -p $(CREDD_PORT) -f
+
+## CredD daemon debugging log
+CREDD_LOG = $(LOG)/CredLog
+CREDD_DEBUG = D_FULLDEBUG
+MAX_CREDD_LOG = 4000000
+
+## The credential owner submits the credential. This list specififies
+## other user who are also permitted to see all credentials. Defaults
+## to root on Unix systems, and Administrator on Windows systems.
+#CRED_SUPER_USERS =
+
+## Credential storage location. This directory must exist
+## prior to starting condor_credd. It is highly recommended to
+## restrict access permissions to _only_ the directory owner.
+CRED_STORE_DIR = $(LOCAL_DIR)/cred_dir
+
+## Index file path of saved credentials.
+## This file will be automatically created if it does not exist.
+#CRED_INDEX_FILE = $(CRED_STORE_DIR/cred-index
+
+## condor_credd will attempt to refresh credentials when their
+## remaining lifespan is less than this value. Units = seconds.
+#DEFAULT_CRED_EXPIRE_THRESHOLD = 3600
+
+## condor-credd periodically checks remaining lifespan of stored
+## credentials, at this interval.
+#CRED_CHECK_INTERVAL = 60
+
+##
+##--------------------------------------------------------------------
+## Stork data placement server
+##--------------------------------------------------------------------
+## Where is the Stork binary installed?
+STORK = $(SBIN)/stork_server
+
+## When Stork starts up, it can place it's address (IP and port)
+## into a file. This way, tools running on the local machine don't
+## need an additional "-n host:port" command line option. This
+## feature can be turned off by commenting out this setting.
+STORK_ADDRESS_FILE = $(LOG)/.stork_address
+
+## Specify a remote Stork server here,
+#STORK_HOST = $(CONDOR_HOST):$(STORK_PORT)
+
+## STORK_LOG_BASE specifies the basename for heritage Stork log files.
+## Stork uses this macro to create the following output log files:
+## $(STORK_LOG_BASE): Stork server job queue classad collection
+## journal file.
+## $(STORK_LOG_BASE).history: Used to track completed jobs.
+## $(STORK_LOG_BASE).user_log: User level log, also used by DAGMan.
+STORK_LOG_BASE = $(LOG)/Stork
+
+## Modern Condor DaemonCore logging feature.
+STORK_LOG = $(LOG)/StorkLog
+STORK_DEBUG = D_FULLDEBUG
+MAX_STORK_LOG = 4000000
+
+## Stork startup arguments
+## Start Stork on a well-known port. Uncomment to to simplify
+## connecting to a remote Stork. Note: that this interface may change
+## in a future release.
+#STORK_PORT = 34048
+STORK_PORT = 9621
+STORK_ARGS = -p $(STORK_PORT) -f -Serverlog $(STORK_LOG_BASE)
+
+## Stork environment. Stork modules may require external programs and
+## shared object libraries. These are located using the PATH and
+## LD_LIBRARY_PATH environments. Further, some modules may require
+## further specific environments. By default, Stork inherits a full
+## environment when invoked from condor_master or the shell. If the
+## default environment is not adequate for all Stork modules, specify
+## a replacement environment here. This environment will be set by
+## condor_master before starting Stork, but does not apply if Stork is
+## started directly from the command line.
+#STORK_ENVIRONMENT = TMP=/tmp;CONDOR_CONFIG=/special/config;PATH=/lib
+
+## Limits the number of concurrent data placements handled by Stork.
+#STORK_MAX_NUM_JOBS = 5
+
+## Limits the number of retries for a failed data placement.
+#STORK_MAX_RETRY = 5
+
+## Limits the run time for a data placement job, after which the
+## placement is considered failed.
+#STORK_MAXDELAY_INMINUTES = 10
+
+## Temporary credential storage directory used by Stork.
+#STORK_TMP_CRED_DIR = /tmp
+
+## Directory containing Stork modules.
+#STORK_MODULE_DIR = $(LIBEXEC)
+
+##
+##--------------------------------------------------------------------
+## Quill Job Queue Mirroring Server
+##--------------------------------------------------------------------
+## Where is the Quill binary installed and what arguments should be passed?
+QUILL = $(SBIN)/condor_quill
+#QUILL_ARGS =
+
+# Where is the log file for the quill daemon?
+QUILL_LOG = $(LOG)/QuillLog
+
+# The identification and location of the quill daemon for local clients.
+QUILL_ADDRESS_FILE = $(LOG)/.quill_address
+
+# If this is set to true, then the rest of the QUILL arguments must be defined
+# for quill to function. If it is False or left undefined, then quill will not
+# be consulted by either the scheduler or the tools, but in the case of a
+# remote quill query where the local client has quill turned off, but the
+# remote client has quill turned on, things will still function normally.
+#QUILL_ENABLED = TRUE
+
+#
+# If Quill is enabled, by default it will only mirror the current job
+# queue into the database. For historical jobs, and classads from other
+# sources, the SQL Log must be enabled.
+#QUILL_USE_SQL_LOG=FALSE
+
+#
+# The SQL Log can be enabled on a per-daemon basis. For example, to collect
+# historical job information, but store no information about execute machines,
+# uncomment these two lines
+#QUILL_USE_SQL_LOG = FALSE
+#SCHEDD.QUILL_USE_SQL_LOG = TRUE
+
+# This will be the name of a quill daemon using this config file. This name
+# should not conflict with any other quill name--or schedd name.
+#QUILL_NAME = quill at postgresql-server.machine.com
+
+# The Postgreql server requires usernames that can manipulate tables. This will
+# be the username associated with this instance of the quill daemon mirroring
+# a schedd's job queue. Each quill daemon must have a unique username
+# associated with it otherwise multiple quill daemons will corrupt the data
+# held under an identical user name.
+#QUILL_DB_NAME = name_of_db
+
+# The required password for the DB user which quill will use to read
+# information from the database about the queue.
+#QUILL_DB_QUERY_PASSWORD = foobar
+
+# What kind of database server is this?
+# For now, only PGSQL is supported
+#QUILL_DB_TYPE = PGSQL
+
+# The machine and port of the postgres server.
+# Although this says IP Addr, it can be a DNS name.
+# It must match whatever format you used for the .pgpass file, however
+#QUILL_DB_IP_ADDR = machine.domain.com:5432
+
+# The login to use to attach to the database for updating information.
+# There should be an entry in file $SPOOL/.pgpass that gives the password
+# for this login id.
+#QUILL_DB_USER = quillwriter
+
+# Polling period, in seconds, for when quill reads transactions out of the
+# schedd's job queue log file and puts them into the database.
+#QUILL_POLLING_PERIOD = 10
+
+# Allows or disallows a remote query to the quill daemon and database
+# which is reading this log file. Defaults to true.
+#QUILL_IS_REMOTELY_QUERYABLE = TRUE
+
+# Add debugging flags to here if you need to debug quill for some reason.
+#QUILL_DEBUG = D_FULLDEBUG
+
+# Number of seconds the master should wait for the Quill daemon to respond
+# before killing it. This number might need to be increased for very
+# large logfiles.
+# The default is 3600 (one hour), but kicking it up to a few hours won't hurt
+#QUILL_NOT_RESPONDING_TIMEOUT = 3600
+
+# Should Quill hold open a database connection to the DBMSD?
+# Each open connection consumes resources at the server, so large pools
+# (100 or more machines) should set this variable to FALSE. Note the
+# default is TRUE.
+#QUILL_MAINTAIN_DB_CONN = TRUE
+
+##
+##--------------------------------------------------------------------
+## Database Management Daemon settings
+##--------------------------------------------------------------------
+## Where is the DBMSd binary installed and what arguments should be passed?
+DBMSD = $(SBIN)/condor_dbmsd
+DBMSD_ARGS = -f
+
+# Where is the log file for the quill daemon?
+DBMSD_LOG = $(LOG)/DbmsdLog
+
+# Interval between consecutive purging calls (in seconds)
+#DATABASE_PURGE_INTERVAL = 86400
+
+# Interval between consecutive database reindexing operations
+# This is only used when dbtype = PGSQL
+#DATABASE_REINDEX_INTERVAL = 86400
+
+# Number of days before purging resource classad history
+# This includes things like machine ads, daemon ads, submitters
+#QUILL_RESOURCE_HISTORY_DURATION = 7
+
+# Number of days before purging job run information
+# This includes job events, file transfers, matchmaker matches, etc
+# This does NOT include the final job ad. condor_history does not need
+# any of this information to work.
+#QUILL_RUN_HISTORY_DURATION = 7
+
+# Number of days before purging job classad history
+# This is the information needed to run condor_history
+#QUILL_JOB_HISTORY_DURATION = 3650
+
+# DB size threshold for warning the condor administrator. This is checked
+# after every purge. The size is given in gigabytes.
+#QUILL_DBSIZE_LIMIT = 20
+
+# Number of seconds the master should wait for the DBMSD to respond before
+# killing it. This number might need to be increased for very large databases
+# The default is 3600 (one hour).
+#DBMSD_NOT_RESPONDING_TIMEOUT = 3600
+
+##
+##--------------------------------------------------------------------
+## VM Universe Parameters
+##--------------------------------------------------------------------
+## Where is the Condor VM-GAHP installed? (Required)
+VM_GAHP_SERVER = $(SBIN)/condor_vm-gahp
+
+## If the VM-GAHP is to have its own log, define
+## the location of log file.
+##
+## Optionally, if you do NOT define VM_GAHP_LOG, logs of VM-GAHP will
+## be stored in the starter's log file.
+## However, on Windows machine you must always define VM_GAHP_LOG.
+#
+VM_GAHP_LOG = $(LOG)/VMGahpLog
+MAX_VM_GAHP_LOG = 1000000
+#VM_GAHP_DEBUG = D_FULLDEBUG
+
+## What kind of virtual machine program will be used for
+## the VM universe?
+## The three primary options are KVM, Xen and VMware. (Required: no default)
+#VM_TYPE = kvm
+
+## How much memory can be used for the VM universe? (Required)
+## This value is the maximum amount of memory that can be used by the
+## virtual machine program.
+#VM_MEMORY = 128
+
+## Want to support networking for VM universe?
+## Default value is FALSE
+#VM_NETWORKING = FALSE
+
+## What kind of networking types are supported?
+##
+## If you set VM_NETWORKING to TRUE, you must define this parameter.
+## VM_NETWORKING_TYPE = nat
+## VM_NETWORKING_TYPE = bridge
+## VM_NETWORKING_TYPE = nat, bridge
+##
+## If multiple networking types are defined, you may define
+## VM_NETWORKING_DEFAULT_TYPE for default networking type.
+## Otherwise, nat is used for default networking type.
+## VM_NETWORKING_DEFAULT_TYPE = nat
+#VM_NETWORKING_DEFAULT_TYPE = nat
+#VM_NETWORKING_TYPE = nat
+
+## In default, the number of possible virtual machines is same as
+## NUM_CPUS.
+## Since too many virtual machines can cause the system to be too slow
+## and lead to unexpected problems, limit the number of running
+## virtual machines on this machine with
+#VM_MAX_NUMBER = 2
+
+## When a VM universe job is started, a status command is sent
+## to the VM-GAHP to see if the job is finished.
+## If the interval between checks is too short, it will consume
+## too much of the CPU. If the VM-GAHP fails to get status 5 times in a row,
+## an error will be reported to startd, and then startd will check
+## the availability of VM universe.
+## Default value is 60 seconds and minimum value is 30 seconds
+#VM_STATUS_INTERVAL = 60
+
+## How long will we wait for a request sent to the VM-GAHP to be completed?
+## If a request is not completed within the timeout, an error will be reported
+## to the startd, and then the startd will check
+## the availability of vm universe. Default value is 5 minutes.
+#VM_GAHP_REQ_TIMEOUT = 300
+
+## When VMware or Xen causes an error, the startd will disable the
+## VM universe. However, because some errors are just transient,
+## we will test one more
+## whether vm universe is still unavailable after some time.
+## In default, startd will recheck vm universe after 10 minutes.
+## If the test also fails, vm universe will be disabled.
+#VM_RECHECK_INTERVAL = 600
+
+## Usually, when we suspend a VM, the memory being used by the VM
+## will be saved into a file and then freed.
+## However, when we use soft suspend, neither saving nor memory freeing
+## will occur.
+## For VMware, we send SIGSTOP to a process for VM in order to
+## stop the VM temporarily and send SIGCONT to resume the VM.
+## For Xen, we pause CPU. Pausing CPU doesn't save the memory of VM
+## into a file. It only stops the execution of a VM temporarily.
+#VM_SOFT_SUSPEND = TRUE
+
+## If Condor runs as root and a job comes from a different UID domain,
+## Condor generally uses "nobody", unless SLOTx_USER is defined.
+## If "VM_UNIV_NOBODY_USER" is defined, a VM universe job will run
+## as the user defined in "VM_UNIV_NOBODY_USER" instead of "nobody".
+##
+## Notice: In VMware VM universe, "nobody" can not create a VMware VM.
+## So we need to define "VM_UNIV_NOBODY_USER" with a regular user.
+## For VMware, the user defined in "VM_UNIV_NOBODY_USER" must have a
+## home directory. So SOFT_UID_DOMAIN doesn't work for VMware VM universe job.
+## If neither "VM_UNIV_NOBODY_USER" nor "SLOTx_VMUSER"/"SLOTx_USER" is defined,
+## VMware VM universe job will run as "condor" instead of "nobody".
+## As a result, the preference of local users for a VMware VM universe job
+## which comes from the different UID domain is
+## "VM_UNIV_NOBODY_USER" -> "SLOTx_VMUSER" -> "SLOTx_USER" -> "condor".
+#VM_UNIV_NOBODY_USER = login name of a user who has home directory
+
+## If Condor runs as root and "ALWAYS_VM_UNIV_USE_NOBODY" is set to TRUE,
+## all VM universe jobs will run as a user defined in "VM_UNIV_NOBODY_USER".
+#ALWAYS_VM_UNIV_USE_NOBODY = FALSE
+
+##--------------------------------------------------------------------
+## VM Universe Parameters Specific to VMware
+##--------------------------------------------------------------------
+
+## Where is perl program? (Required)
+VMWARE_PERL = perl
+
+## Where is the Condor script program to control VMware? (Required)
+VMWARE_SCRIPT = $(SBIN)/condor_vm_vmware
+
+## Networking parameters for VMware
+##
+## What kind of VMware networking is used?
+##
+## If multiple networking types are defined, you may specify different
+## parameters for each networking type.
+##
+## Examples
+## (e.g.) VMWARE_NAT_NETWORKING_TYPE = nat
+## (e.g.) VMWARE_BRIDGE_NETWORKING_TYPE = bridged
+##
+## If there is no parameter for specific networking type, VMWARE_NETWORKING_TYPE is used.
+##
+#VMWARE_NAT_NETWORKING_TYPE = nat
+#VMWARE_BRIDGE_NETWORKING_TYPE = bridged
+VMWARE_NETWORKING_TYPE = nat
+
+## The contents of this file will be inserted into the .vmx file of
+## the VMware virtual machine before Condor starts it.
+#VMWARE_LOCAL_SETTINGS_FILE = /path/to/file
+
+##--------------------------------------------------------------------
+## VM Universe Parameters common to libvirt controlled vm's (xen & kvm)
+##--------------------------------------------------------------------
+
+## Networking parameters for Xen & KVM
+##
+## This is the path to the XML helper command; the libvirt_simple_script.awk
+## script just reproduces what Condor already does for the kvm/xen VM
+## universe
+LIBVIRT_XML_SCRIPT = $(LIBEXEC)/libvirt_simple_script.awk
+
+## This is the optional debugging output file for the xml helper
+## script. Scripts that need to output debugging messages should
+## write them to the file specified by this argument, which will be
+## passed as the second command line argument when the script is
+## executed
+
+#LIBVRT_XML_SCRIPT_ARGS = /dev/stderr
+
+##--------------------------------------------------------------------
+## VM Universe Parameters Specific to Xen
+##--------------------------------------------------------------------
+
+## Where is bootloader for Xen domainU? (Required)
+##
+## The bootloader will be used in the case that a kernel image includes
+## a disk image
+#XEN_BOOTLOADER = /usr/bin/pygrub
+
+##
+##--------------------------------------------------------------------
+## condor_lease_manager lease manager daemon
+##--------------------------------------------------------------------
+## Where is the LeaseManager binary installed?
+LeaseManager = $(SBIN)/condor_lease_manager
+
+# Turn on the lease manager
+#DAEMON_LIST = $(DAEMON_LIST), LeaseManager
+
+# The identification and location of the lease manager for local clients.
+LeaseManger_ADDRESS_FILE = $(LOG)/.lease_manager_address
+
+## LeaseManager startup arguments
+#LeaseManager_ARGS = -local-name generic
+
+## LeaseManager daemon debugging log
+LeaseManager_LOG = $(LOG)/LeaseManagerLog
+LeaseManager_DEBUG = D_FULLDEBUG
+MAX_LeaseManager_LOG = 1000000
+
+# Basic parameters
+LeaseManager.GETADS_INTERVAL = 60
+LeaseManager.UPDATE_INTERVAL = 300
+LeaseManager.PRUNE_INTERVAL = 60
+LeaseManager.DEBUG_ADS = False
+
+LeaseManager.CLASSAD_LOG = $(SPOOL)/LeaseManagerState
+#LeaseManager.QUERY_ADTYPE = Any
+#LeaseManager.QUERY_CONSTRAINTS = MyType == "SomeType"
+#LeaseManager.QUERY_CONSTRAINTS = TargetType == "SomeType"
+
+##
+##--------------------------------------------------------------------
+## KBDD - keyboard activity detection daemon
+##--------------------------------------------------------------------
+## When the KBDD starts up, it can place it's address (IP and port)
+## into a file. This way, tools running on the local machine don't
+## need an additional "-n host:port" command line option. This
+## feature can be turned off by commenting out this setting.
+KBDD_ADDRESS_FILE = $(LOG)/.kbdd_address
+
+##
+##--------------------------------------------------------------------
+## condor_ssh_to_job
+##--------------------------------------------------------------------
+# NOTE: condor_ssh_to_job is not supported under Windows.
+
+# Tell the starter (execute side) whether to allow the job owner or
+# queue super user on the schedd from which the job was submitted to
+# use condor_ssh_to_job to access the job interactively (e.g. for
+# debugging). TARGET is the job; MY is the machine.
+#ENABLE_SSH_TO_JOB = true
+
+# Tell the schedd (submit side) whether to allow the job owner or
+# queue super user to use condor_ssh_to_job to access the job
+# interactively (e.g. for debugging). MY is the job; TARGET is not
+# defined.
+#SCHEDD_ENABLE_SSH_TO_JOB = true
+
+# Command condor_ssh_to_job should use to invoke the ssh client.
+# %h --> remote host
+# %i --> ssh key file
+# %k --> known hosts file
+# %u --> remote user
+# %x --> proxy command
+# %% --> %
+#SSH_TO_JOB_SSH_CMD = "ssh -oUser=%u -oIdentityFile=%i -oStrictHostKeyChecking=yes -oUserKnownHostsFile=%k -oGlobalKnownHostsFile=%k -oProxyCommand=%x %h"
+
+# Additional ssh clients may be configured. They all have the same
+# default as ssh, except for scp, which omits the %h:
+#SSH_TO_JOB_SCP_CMD = "scp -oUser=%u -oIdentityFile=%i -oStrictHostKeyChecking=yes -oUserKnownHostsFile=%k -oGlobalKnownHostsFile=%k -oProxyCommand=%x"
+
+# Path to sshd
+#SSH_TO_JOB_SSHD = /usr/sbin/sshd
+
+# Arguments the starter should use to invoke sshd in inetd mode.
+# %f --> sshd config file
+# %% --> %
+#SSH_TO_JOB_SSHD_ARGS = "-i -e -f %f"
+
+# sshd configuration template used by condor_ssh_to_job_sshd_setup.
+#SSH_TO_JOB_SSHD_CONFIG_TEMPLATE = $(LIB)/condor_ssh_to_job_sshd_config_template
+
+# Path to ssh-keygen
+#SSH_TO_JOB_SSH_KEYGEN = /usr/bin/ssh-keygen
+
+# Arguments to ssh-keygen
+# %f --> key file to generate
+# %% --> %
+#SSH_TO_JOB_SSH_KEYGEN_ARGS = "-N '' -C '' -q -f %f -t rsa"
+
+######################################################################
+##
+## Condor HDFS
+##
+## This is the default local configuration file for configuring Condor
+## daemon responsible for running services related to hadoop
+## distributed storage system. You should copy this file to the
+## appropriate location and customize it for your needs.
+##
+## Unless otherwise specified, settings that are commented out show
+## the defaults that are used if you don't define a value. Settings
+## that are defined here MUST BE DEFINED since they have no default
+## value.
+##
+######################################################################
+
+######################################################################
+## FOLLOWING MUST BE CHANGED
+######################################################################
+
+## The location for hadoop installation directory. The default location
+## is under 'libexec' directory. The directory pointed by HDFS_HOME
+## should contain a lib folder that contains all the required Jars necessary
+## to run HDFS name and data nodes.
+#HDFS_HOME = $(RELEASE_DIR)/libexec/hdfs
+
+## The host and port for hadoop's name node. If this machine is the
+## name node (see HDFS_SERVICES) then the specified port will be used
+## to run name node.
+HDFS_NAMENODE = hdfs://example.com:9000
+HDFS_NAMENODE_WEB = example.com:8000
+
+HDFS_BACKUPNODE = hdfs://example.com:50100
+HDFS_BACKUPNODE_WEB = example.com:50105
+
+## You need to pick one machine as name node by setting this parameter
+## to HDFS_NAMENODE. The remaining machines in a storage cluster will
+## act as data nodes (HDFS_DATANODE).
+HDFS_NODETYPE = HDFS_DATANODE
+
+## If machine is selected to be NameNode then by a role should defined.
+## If it selected to be DataNode then this parameter is ignored.
+## Available options:
+## ACTIVE: Active NameNode role (default value)
+## BACKUP: Always synchronized with the active NameNode state, thus
+## creating a backup of the namespace. Currently the NameNode
+## supports one Backup node at a time.
+## CHECKPOINT: Periodically creates checkpoints of the namespace.
+HDFS_NAMENODE_ROLE = ACTIVE
+
+## The two set of directories that are required by HDFS are for name
+## node (HDFS_NAMENODE_DIR) and data node (HDFS_DATANODE_DIR). The
+## directory for name node is only required for a machine running
+## name node service and is used to store critical meta data for
+## files. The data node needs its directory to store file blocks and
+## their replicas.
+HDFS_NAMENODE_DIR = /tmp/hadoop_name
+HDFS_DATANODE_DIR = /scratch/tmp/hadoop_data
+
+## Unlike name node address settings (HDFS_NAMENODE), that needs to be
+## well known across the storage cluster, data node can run on any
+## arbitrary port of given host.
+#HDFS_DATANODE_ADDRESS = 0.0.0.0:0
+
+####################################################################
+## OPTIONAL
+#####################################################################
+
+## Sets the log4j debug level. All the emitted debug output from HDFS
+## will go in 'hdfs.log' under $(LOG) directory.
+#HDFS_LOG4J=DEBUG
+
+## The access to HDFS services both name node and data node can be
+## restricted by specifying IP/host based filters. By default settings
+## from ALLOW_READ/ALLOW_WRITE and DENY_READ/DENY_WRITE
+## are used to specify allow and deny list. The below two parameters can
+## be used to override these settings. Read the Condor manual for
+## specification of these filters.
+## WARN: HDFS doesn't make any distinction between read or write based connection.
+#HDFS_ALLOW=*
+#HDFS_DENY=*
+
+#Fully qualified name for Name node and Datanode class.
+#HDFS_NAMENODE_CLASS=org.apache.hadoop.hdfs.server.namenode.NameNode
+#HDFS_DATANODE_CLASS=org.apache.hadoop.hdfs.server.datanode.DataNode
+#HDFS_DFSADMIN_CLASS=org.apache.hadoop.hdfs.tools.DFSAdmin
+
+## In case an old name for hdfs configuration files is required.
+#HDFS_SITE_FILE = hdfs-site.xml
+
+
+##
+##--------------------------------------------------------------------
+## file transfer plugin defaults
+##--------------------------------------------------------------------
+FILETRANSFER_PLUGINS = $(LIBEXEC)/curl_plugin, $(LIBEXEC)/data_plugin
+
Added: trunk/dports/science/htcondor/files/condor_config.local
===================================================================
--- trunk/dports/science/htcondor/files/condor_config.local (rev 0)
+++ trunk/dports/science/htcondor/files/condor_config.local 2013-04-15 16:57:14 UTC (rev 105270)
@@ -0,0 +1,33 @@
+## What machine is your central manager?
+
+CONDOR_HOST = 127.0.0.1
+
+## Pool's short description
+
+COLLECTOR_NAME = Personal Condor at $(FULL_HOSTNAME)
+
+## When is this machine willing to start a job?
+
+START = TRUE
+
+
+## When to suspend a job?
+
+SUSPEND = FALSE
+
+
+## When to nicely stop a job?
+## (as opposed to killing it instantaneously)
+
+PREEMPT = FALSE
+
+
+## When to instantaneously kill a preempting job
+## (e.g. if a job is in the pre-empting stage for too long)
+
+KILL = FALSE
+
+## This macro determines what daemons the condor_master will start and keep its watchful eyes on.
+## The list is a comma or space separated list of subsystem names
+
+DAEMON_LIST = COLLECTOR, MASTER, NEGOTIATOR, SCHEDD, STARTD
Added: trunk/dports/science/htcondor/files/patch-src-condor_scripts-macosx_rewrite_libs.diff
===================================================================
--- trunk/dports/science/htcondor/files/patch-src-condor_scripts-macosx_rewrite_libs.diff (rev 0)
+++ trunk/dports/science/htcondor/files/patch-src-condor_scripts-macosx_rewrite_libs.diff 2013-04-15 16:57:14 UTC (rev 105270)
@@ -0,0 +1,31 @@
+--- src/condor_scripts/macosx_rewrite_libs.orig 2013-03-09 14:23:07.000000000 -0800
++++ src/condor_scripts/macosx_rewrite_libs 2013-03-09 14:23:53.000000000 -0800
+@@ -1,28 +1 @@
+ #!/bin/sh
+-
+-# Given a list of files, rewrite the non-system shared library
+-# dependencies of executables and libraries to be
+-# @executable_path/../lib/condor/... or @executable_path/../lib/...
+-# Other types of files are ignored.
+-
+-if [ "$1" = "" ] ; then
+- echo "Usage:" `basename $0` "<executable/library> ..."
+- exit 1
+-fi
+-for filename in "$@" ; do
+- type=`file -h $filename`
+- if echo $type | grep -q -e 'dynamically linked shared library' -e 'executable' ; then
+- basefile=`basename $filename`
+- libraries=`otool -L $filename | grep '^[[:space:]][^@]' | sed 's|^.\([^ ]*\) .*|\1|' | grep -v '^/usr/lib' | grep -v '^/System/' | grep -v "$basefile "`
+-
+- for lib in $libraries ; do
+- echo $lib
+- baselib=`basename $lib`
+- if echo $baselib | grep -q -e 'classad' -e 'condor' ; then
+- install_name_tool -change "$lib" "@executable_path/../lib/$baselib" $filename
+- else
+- install_name_tool -change "$lib" "@executable_path/../lib/condor/$baselib" $filename
+- fi
+- done
+- fi
+-done
Added: trunk/dports/science/htcondor/files/patch-src-condor_utils-condor_config.cpp.diff
===================================================================
--- trunk/dports/science/htcondor/files/patch-src-condor_utils-condor_config.cpp.diff (rev 0)
+++ trunk/dports/science/htcondor/files/patch-src-condor_utils-condor_config.cpp.diff 2013-04-15 16:57:14 UTC (rev 105270)
@@ -0,0 +1,20 @@
+--- src/condor_utils/condor_config.cpp.orig 2013-03-19 09:43:16.000000000 -0400
++++ src/condor_utils/condor_config.cpp 2013-03-19 09:43:43.000000000 -0400
+@@ -614,7 +614,7 @@
+ fprintf(stderr,"\nNeither the environment variable %s_CONFIG,\n",
+ myDistro->GetUc() );
+ # if defined UNIX
+- fprintf(stderr,"/etc/%s/, nor ~%s/ contain a %s_config source.\n",
++ fprintf(stderr,"@prefix@/etc/%s/, nor ~%s/ contain a %s_config source.\n",
+ myDistro->Get(), myDistro->Get(), myDistro->Get() );
+ # elif defined WIN32
+ fprintf(stderr,"nor the registry contains a %s_config source.\n", myDistro->Get() );
+@@ -1106,7 +1106,7 @@
+ file_name );
+ }
+ // 2) /etc/condor/condor_config
+- locations[1].sprintf( "/etc/%s/%s", myDistro->Get(), file_name );
++ locations[1].sprintf( "@prefix@/etc/%s/%s", myDistro->Get(), file_name );
+ // 3) /usr/local/etc/condor_config (FreeBSD)
+ locations[2].sprintf( "/usr/local/etc/%s", file_name );
+ if (tilde) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130415/5e4ca144/attachment-0001.html>
More information about the macports-changes
mailing list