Changelog for the UNICORE TSI
=============================


Version 6.5.1-p1
----------------

 - add configurable expiry to uid, gid cache, so entries
   are uid/gid mappings are updated without server restart

Version 6.5.1
-------------

 - new feature: TSI supports filtering execution nodes by node properties
   (implemented for Slurm, Torque)
 - fix: NOBATCH: do not remove submitted file in Submit.pm
 - fix: NOBATCH: "get job details" caused exception in UNICORE/X
 - fix: NOBATCH: status check was not working correctly 
   (SF bugs #3560312 and #3560663)
 - fix: NOBATCH: reduce forked process' niceness and ionice class
   to reduce load on the TSI node (SF bug #3560657)
 - new feature: ResourceReservation.pm module for Slurm
 - improvement: updated ResourceReservation.pm module for Maui, added
   to Torque TSI
 - improvement: SLURM: handle reservation, better GetStatusListing.pm
 - improvement: better reporting of file write errors to XNJS 

Version 6.5.0
-------------

 - improvement: tsi_df reports back errors to XNJS
 - improvement: Torque Submit.pm: set default directory 
 - fix: delete PID file after stopping TSI (SF bug #3482191)
 - improvement: SGE: use "qstat -u '*'" to show jobs from all users
 - improvement: clean up perl code formatting using "perltidy"
 - delete obsolete EndProcessing.pm
 - fix: do not chmod if appending to files (SF bug #3331135)
 - fix: Install.sh will backup existing, modified files in
   the target install directory
 - new feature: add XNJS/TSI API to get detailed information about
   a single job (SF improvements #3405627)
 - update API documentation
 - update linux_pbs variant (mostly the same as linux_torque)
 - fix: make Torque GetStatusListing.pm regexp fit when qstat does not
   report number of nodes

Version 6.4.2
-------------

 - improvement: ACL.pm allows for setting and getting default ACL. Also support 
   for recursive ACL operations is added. It is explicitly stated that the 
   current implementation will work only with the Linux implementation of 
   the get/setfacl commands (SF enhancements #3380959)
 - improvement: new XNJS/TSI API #TSI_UMASK for setting the default umask 
   for directories and jobs (SF enhancements #3385750)
 - improvement: optionally return queue information in GetStatusListing.pm
 - improvement: new XNJS/TSI API #TSI_PROJECT for specifying the project.
   Project support added for: Torque, Slurm, SGE
 - fix: setting "tsi.fail_on_invalid_gids=false" did not have the intended effect
 - fix: use "vmem" on Torque (SF bug #2885645)
 - added scp-wrapper.pl and scp-wrapper.sh (TCL) helper scripts for scp data staging
 - improvement: LL Submit.pm passes reservation reference (SF patch #3427717)

Version 6.4.1
-------------

 - Submit.pm: handle TSI_STDERR and TSI_STDOUT sent from XNJS for redirecting
   output and error
 - new feature: tsi_ls is returning more information on files: owner, owning group, 
   full UNIX permissions
 - new feature: module ACL.pm for getting/setting filesystem ACL
 - fix: Torque: GetStatusListing.pm does not allow non-word characters in queue 
   name
 - updated the manual

Version 6.4.0
-------------

 - new feature: allow logging to syslog (contributed by Xavier Delaruelle, CEA)
 - Slurm: fix memory and cpus/nodes specification (contributed by Xavier Delaruelle, CEA)
 - No-batch: fix typo in PING processing
 - new feature: RPM packaging
 - new feature: reservation module for Maui in contrib/schedulers/maui
 - documentation in HTML and PDF formats

Version 6.3.2
-------------

 - fix path in template tsi.properties (SF bug #3098113)
 - fix abort in Nobatch TSI (SF bug #3044284)
 - TSI_PING replies with version number (as defined in $main::my_version)
 - set version numbers to "6.3" in the supported TSI versions
 - Torque TSI: when submit error occurs, output standard error message 
   returned by qsub instead of the standard output
 - fix handling of comma-separated lists of XNJS hostnames in Initialisation.pm
 - Torque TSI: queue passed from XNJS is actually used. When there is no
   queue sent by XNJS, the default queue is used (not 'batch' as it used to be)
 - TSI allows for flexible groups selection. It is possible to request:
   primary group, list of supplementary groups, an OS-default primary group
   and to use all OS-default supplementary groups for the user (also along
   with the list of additional supplementary groups). The new configuration
   option can be used to limit this behavior: tsi.enforce_gids_consistency
 - 'tsi' files (BSS specific) were split into two parts. The BSS independent 
   code is in SHARED/SharedConfiguration.pm now and 'tsi' file contains 
   only truly BSS or OS specific code
 - tsi.properties is now parsed in SharedConfiguration.pm. The only one command
   line argument to tsi Perl application is tsi.properties file location. 

Version 6.3.1
-------------

(no changes)

Version 6.3.0
-------------

 - Install.sh now will copy ALL files (incl. bin, conf) to the 
   installation directory (sf feature #2937301)
 - TSI/XNJS SSL support (contributed by Clement Coussirat, CEA)
 - TSI/XNJS port negotiation to allow multiple XNJS instances to 
   connect to the TSI (contributed by Clement Coussirat, CEA)
 - Fix usage of open3 system call which caused zombie processes 
   to last after every submit was fixed
 - Fix tsi_ls to work correctly on filesystems using ACLs

Version 6.2.2
-------------

 - when no group (aka project) is chosen then BecomeUser.pm sets also 
   supplementary groups for the user process.
 - actually include the change to ExecuteScript.pm described in version
   6.2.1 below
 - add TSI module for Cray XT / Torque (contributed by Troy Baer)

Version 6.2.1
-------------

 - new XNJS/TSI protocol variable TSI_TOTAL_PROCESSORS giving the total
   number of processors. The TSI_PROCESSORS stays as-is
 - made ExecuteScript.pm more flexible by allowing to discard script 
   output and thus start processes in the background

Version 6.1.3
-------------

 - introduce "COMPLETED" state (see linux_torque GetStatusListing.pm) for
   completed jobs that are still listed in the qstat output
 - fix bin/start_tsi (setup log directory)

Version 6.1.2 
-------------

 - apply patches from Xavier Delaruelle for some minor bugs (SHARED
   BecomeUser.pm, JobControl.pm, PutFiles.pm)
 - added TSI implementation for SLURM, provided by BSC and adapted by 
   Xavier Delaruelle
 - allow to run the Install.sh script non-interactively

Version 6.0.1 November 2007
---------------------------

 - general cleanup and move to the UNICORE SVN. Move older/obsolete TSI
   versions to the tsi_contrib/ directory.
 - NOTE: some TSIs still need testing (e.g. Condor)
 - new config parameter for setting the log dir, defaults to <basedir>/logs,
   e.g. tsi_NOBATCH/logs
 - extended resource reservation support, please see
   tsi/SHARED/ResourceReservation.pm for details


Version 4.1.2 Aug 24, 2005
---------------------------

 - added ResourceReservation.pm dummy resource reservation module to the 
  SHARED TSI code. It is called from MainLoop.pm if the NJS command includes a 
  line #TSI_RESERVATION_REFERENCE nnnnn 
  Otherwise 'submit' is called.

 - TSI for LSF modified to work with version LSF 6.0 (contributed by SARA)
 PLEASE CHECK GetStatusListing.pm if you want to use LSF

Version 4.1.1 March 31, 2005
----------------------------

 - new TSI for Sun GridEngine (5.3 tested, 6.0 needs modification due
 to changed qstat output, check GetStatusListing.pm).

Version 4.1
-----------

 - Replaced GetDirectory by simpler GetFileChunk (Mandatory update)
 - Optional implementation of FREEZE command and state

first sf.net upload, 29.04.2004
-------------------------------

 - included "no-zombie" patch (from K.-D. Oertel) into NOBATCH TSI 

Version 4.0.4, sep 05, 2003
---------------------------

 - updated tsi/SHARED/GetDirectory.pm for use with NJS 4.0.3
 - new tsi/superux/BecomeUser.pm for NEC
 - bin/start_tsi checks whether the 'tsi' file exists


Version 4.0.3, jun 12, 2003
---------------------------

 - new version for LSF on SGI


