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
  • No labels