The TORQUE configure command takes a number of options. A few key options:
By default, TORQUE does not install the admin manuals. To enable this, use '--enable-docs'
By default, TORQUE uses rcp to copy data files. Using scp is highly recommended, use '--with-scp' (see ssh setup for more information)
By default, TORQUE does not enable syslog usage. To enable this, use '--enable-syslog'
Full Configure Option List
Option
Description
--enable-docs
build PBS with documentation. This is off by default since it takes a while to build. Man pages will still be installed, however.
--enable-server
build/not build the server. Can be used to disable the building of the server. Normally all components (docs, server, mom, clients) are built.
--enable-mom
build/not build the mom.
--enable-clients
build/not build the clients.
--with-tcl=DIR_PREFIX
Use this if you want Tcl support. If you are compiling with tclx then you need only use the --with-tcl flag if the Tcl libraries are in a different place than the tclx libraries. The prefix given here should be something like "/usr/local".
--with-tclx=DIR_PREFIX
Use this if you want TclX support. This implies --with-tcl. The only time it is useful to give both flags is if TclX and Tcl are in two different places. If no DIR_PREFIX is given then the libraries and includes must be installed in places automatically searched by system tools.
--enable-gui
build the xpbs GUI. This is on by default but can be turned off with --disable-gui.
--set-cc=ccprog
set the compiler to use. This will be used to set the CC variable and will override any CC setting in the environment. If only "--set-cc" is given then CC will be set to "cc".
--set-cflags=flags
set the compiler flags. This will be used to set the CFLAGS variable. If only "--set-flags" is given then CFLAGS will be set to "". Normally the flag settings are guessed by configure to be those appropriate for the architecture, compiler, and PBS machine type.
--enable-debug
turn on the DEBUG flag. Off by default.
--set-tmpdir=DIR
set the tmp directory that pbs_mom will use. This will default to "/tmp".
--set-server-home=DIR
set the server home/spool directory for PBS use this will default to /var/spool/torque if unspecified
--set-server-name-file=FILE
set the file that will contain the name of the default server for clients to use. If this is not an absolute pathname, it will be evaluated relative to the server home directory that either defaults to /var/spool/torque or is set using the --set-server-home option to configure. If this option is not specified, the default name for this file will be set to "server_name".
--set-default-server=HOSTNAME
set the name of the computer that clients will access when no machine name is specified as part of the queue name. It defaults to the hostname of the machine on which PBS is being compiled.
NOTE: Do not set this to the string 'localhost' as it will prevent you from configuring pbs_server using qmgr.
--set-environ=PATH
set the path containing the environment variables for the daemons. For SP2 and AIX systems, suggest setting to /etc/environment. Defaults to the file pbs_environment in the server-home. Relative paths are interpreted within the context of the server-home.
--enable-plock-daemons
enable daemons to lock themselves into memory logical-or of 1 for pbs_server, 2 for pbs_scheduler, 4 for pbs_mom. (e.g. set to 7 for all three)
--enable-syslog
enable the use of syslog for error reporting
--set-sched=TYPE
sets the scheduler type. If TYPE is "c" the scheduler will be written in C "tcl" the server will use a Tcl based scheduler "basl" will use the rule based scheduler "no" then their will be no scheduling done (the "c" scheduler is the default)
--set-sched-code=PATH
sets the name of the file or directory where the code for the scheduler is to be found. This only applies to BASL schedulers and those written in the C language. For C schedulers this should be a directory name and for BASL schedulers a filename ending in ".basl". If the path given is not absolute, it will be interpreted relative to srctree/src/schedulers.SCHD_TYPE/samples. As an example, an appropriate BASL scheduler relative path would be "nas.basl". The default scheduler code for "C" schedulers is "fifo".
--set-mansuffix=CHAR
set the man page suffix letter this will default to "B" if unspecified
--set-tclatrsep=CHAR
set the Tcl attribute separator character this will default to "." if unspecified
--set-qstatrc-file=FILE
set the name of the file that qstat will use if there is no ".qstatrc" file in the directory where it is being invoked. Relative path names will be evaluated relative to the server home directory that either defaults to /usr/spool/PBS or is set using the --set-server-home option to configure. If this option is not specified, the default name for this file will be set to "qstatrc" (no dot) in the server home directory.
--with-scp
use scp program to perform file delivery
--enable-shell-pipe
enable (default) this if you want to have the name of the job script passed to the shell via a pipe. If disabled, the behavior is to give the script file as standard input
--enable-rpp
use RPP/UDP for resource queries to mom. This is enabled by default. If disabled TCP is used.
--enable-sp2
setting this informs PBS that it is being built for an SP2.
--enable-tcl-qstat
setting this builds qstat with Tcl interpreter features. This is normally disabled and is only valid if --with-tcl(x) is already present.
--enable-array
setting this under IRIX enables the SGI Origin 2000 parallel support. Normally autodetected from the /etc/config/array file.
--enable-nodemask
setting this nodemask-based scheduling on the Origin 2000.
--enable-pemask
setting this enables pemask-based scheduling on the Cray T3e.
--enable-srfs
on the Crays you can enable support of SRFS. This is disabled by default
--enable-depend-cache
this turns on the ability to cache makedepend information across runs of configure. This can be bad if the user makes certain configuration changes in rerunning configure but it can save significant amounts of time in the hands of experienced developers. Changing the contents of Makefile.in will flush the cache in that directory. This is disabled by default
--disable-filesync
disable file system blocking until data is physically written to the disk. Filesync enabled is more reliable but may lead to server delays in larger systems. filesync is enabled by default
Recommended Configure Options
Most recommended configure options have been selected as default. The few exceptions include '--with-scp' and possibly '--enable-syslog'.
1.3.2 Server Configuration
1.3.2.1 Server Config Overview
There are several steps to ensure that the server and the nodes are completely aware of each other and able to communicate directly. Some of this configuration takes place within TORQUE directly using the "qmgr" command. Other configuration settings are managed using the pbs_server nodes file, DNS files such as "/etc/hosts" and the "/etc/hosts.equiv" file.
1.3.2.2 Name Service Config
Each node, as well as the server, must be able to resolve the name of every node with which it will interact. This can be accomplished using "/etc/hosts", DNS, NIS, or other mechanisms. In the case of "/etc/hosts", the file can be shared across systems in most cases.
A simple method of checking proper name service configuration is to verify that the server and the nodes can "ping" each other.
1.3.2.3 Configuring Job Submission Hosts
Using RCmd Authentication
When jobs can be submitted from several different hosts, these hosts should be trusted via the R* commands (i.e., rsh, rcp, etc.). This can be enabled by adding the hosts to the "/etc/hosts.equiv" file of the machine executing the pbs_server daemon or using other R* command authorization methods. The exact specification can vary from OS to OS (see the man page for ruserok to find out how your OS validates remote users). In most cases, configuring this file is as simple as adding a line to your "/etc/hosts.equiv" as in the following:
Please note that when a hostname is specified, it must be the fully qualified domain name (FQDN) of the host. Job submission can be further secured using the server or queue acl_hosts and acl_host_enabled parameters.
Using the 'submit_hosts' Server Parameter
Trusted submit host access may be directly specified without using RCmd authentication by setting the server submit_hosts parameter via qmgr as in the example below:
NOTE: use of submit_hosts is potentially subject to DNS spoofing and should not be used outside of controlled and trusted environments.
Allowing Job Submission from Compute Hosts
If desired, all compute nodes can be enabled as job submit hosts without setting .rhosts or hosts.equiv by setting the allow_node_submit parameter to true.
1.3.2.4 Configuring TORQUE on a Multi-Homed Server
If the pbs_server daemon is to be run on a multi-homed host (a host possessing multiple network interfaces), the interface to be used can be explicitly set using the SERVERHOST parameter.
1.3.2.5 Architecture Specific Notes
1.3.2.5.1 Mac OS/X Specific Notes
With some versions of Mac OS/X, it is required to add the line $restricted *.<DOMAIN> to the pbs_mom config file. This is required to work around some socket bind bugs in the OS.
1.3.2.6 Specifying Non-Root Administrators
By default, only root is allowed to start, configure and manage the pbs_server daemon. Additional trusted users can be authorized using the parameters managers and operators. To configure these parameters use the qmgr command as in the example below:
All manager and operator specifications must include a user name and either a fully qualified domain name or a host expression.
NOTE: To enable all users to be trusted as both operators and admins, place the '+' character (plus) on its own line in the file server_priv/acl_svr/operators and server_priv/acl_svr/managers.