The method by which condor_configurations file parameters are to be added into HTCondor has changed.

There is a file called src/condor_utils/param_info.in and in it are definitions like this:

[SCHEDD]
default=$(SBIN)/condor_schedd
win32_default=$(SBIN)\condor_schedd.exe
type=path
reconfig=true
customization=seldom
friendly_name=Schedd
usage=Where are the binaries for these daemons?
tags=master

Nearly all of the fields are optional, several are not currently used, but may be in the future.

The attributes that you really need to care about are default, win32_default, type, friendly_name, and tags.

Required fields

The parameter name in square brackets marks the beginning of an entry.

Optional fields

Further discussion

The machinery which uses the above information is not yet complete, this is why things like the id field can be left as it is among the other things.

Items with review=? should be reviewed for correctness and completeness. and then the review value set to the username or initials of the reviewer. In particular, check for these things:

::* Is the default correct? If no default, is that reasonable? should there be a different default for windows? ::* Is the type correct? Note that

No extraneous whitespace. Whitespace is preserved in default values. You've been warned.

Be aware that the default is internally implemented as a string, What you see is exactly what you get. This includes trailing spaces. For those parameters that are type int,long,double or bool. the default is also stored as a c++ native type, if the value will parse as that type without any math or substitutions.

You may NOT add variables that:

  1. requires a runtime, or nonimmediate, default, like NUM_CPUS. You CAN however, make a default which is an expression based upon another configuration file parameter. And you can reference the detected params, OPSYS, ARCH, etc.
  2. follow a pattern like *_FOOBAR that you cannot specify all cases to. (You'd write A_FOOBAR, B_FOOBAR, C_FOOBAR as individual cases of the above snippet). (future work may allow this). Supporting this is a future work item.

Currently, the param() system does not EXCEPT when an entry is not in the default table. It is our hope and dream that one day all of our entries will be in the default table and EXCEPT will be the default case. Of course, there is an interface into param() which doesn't except no matter what, to implement those features which param() things at runtime picked out of another config file entry.

Things to Note!

  1. For entries in the default table, the hard coded defaults in the source code are ignored. If the variable is not in the table, the in code defaults are utilized.

Edit Notes

This was once AddConfigParams; if you want older edit history, go there.