Cobalt changes from 0.97.0pre5 to 0.97.0pre7
Misc new things in the past few revisions
cqstat -lf <jobid>
: shows full information for a job in vertical format
cqstat -ql
: shows queues and restrictions in vertical format
setres.py
: takes an exclusive flag, -x, that creates a reservation for both the child and parent partitions of those specified. This is in contrast to the -a option that only creates a reservation on the child partitions of those specified
bgsched.py
: reservations are removed automatically after their completion
Known Issues
cqsub -e
: takes ':' separated variable list, fails if a variable contains a ':', such as some sort of a path variable. (Patch available)
User Fixes and Enhancements
cqsub
: will not submit a job if the executable cannot be found. The old behavior was to issue a warning but still submit the job.
cqhist
shows exit code (not true exit code, but what mpirun returns)
--version
for all clients
cqstat
: QueuedTime is no longer reset when the job starts running (QueuedTime is now the amount of time the job was in the 'queued' state, counter stops incrementing when job starts running)
cqsub
: checks for valid mode (-m co|vn)
cqsub
: options for completely naming the output and error file, not restricted to the output prefix with -O
. The -o
option is for stdout, and the -E
option is for stderr.
Administrative Fixes and Enhancements
cqm.py
: new accounting log, separate from syslog logging (though syslog logging is still available). Directory must be specified by log_dir variable in the [cqm]
section of /etc/cobalt.conf
, otherwise defaults to /var/log/cobalt-accounting/
cqadm.py --hold
: works only on queued jobs
cqadm.py --release
: works only for jobs in 'hold' state
cqadm.py --queue
: works only on jobs not 'running'
cqsub
: ability to run a filter script on submission. All the job properties are passed to the script as arguments, of the form 'script property=value property=value'
- If the script returns 0, filter passes, and if any arguments are printed to stdout, again in the 'property=value' format, they will be set in the job properties
- If the script returns something besides 0, the job submission fails (anything printed to stderr is displayed for the user, regardless of return value)
setres.py -m
: ability to modify existing reservations
setres.py
: checks for valid user
releaseres.py
: checks for existence of reservation, prints correct number of partitions where the reservation was released
partadm.py
: takes a recursive flag, -r, which modifies all child partitions of all specified partitions (for activate/deactivate/enable/disable/queue/deps/free)
- various account logging updates
{"serverDuration": 64, "requestCorrelationId": "2f6bb813a35bb9b5"}