Newer
Older
tsshbatch / TODO
@tundra tundra on 3 Dec 2014 2 KB *** empty log message ***
NEW
---

- Added the following builtins:

  __DATE__       # Date in YYYYMMDD format
  __DATETIME__   # Date and time in YYYYMMDDHHMMSS format
  __HOSTNAME__   # Full name of current host as passed to program
  __HOSTNUM__    # Count of host being processed, starting at 1
  __HOSTSHORT__  # Leftmost component of hostname as passed to program
  __TIME__       # Time in HHMMSS format

- Test mode now expands variable references to their values for
  all variables except the builtins above (which are only
  evaluated at runtime).

- Added an "execution variable".  This runs a command of your
  choosing (on the local machine) and assigns the results to
  a user-defined variable.
  
- Added -E to redirect all stderr output to stdout instead,

- Added -T timeout option (default is 15 sec).

- Added -a to allow program to continue after file transfer error.

- Added -l logging option. Defaults to /dev/null.  This fixes the error
  that was previously being reported:

    "No handlers could be found for logger "paramiko.transport"


CHANGES
-------

- Changed hostname separator from ':' to '-' when using the -G command.

- The <HOSTNAME> and <HOSTSHORT> builtins have been replaced
  with the new builtins described above.

- Error messages now more consistent and clear.


BUG FIXES
---------

- Fixed bug that prevented the proper dereferencing of HOSTNAME
  in file transfer specifications.

- Fixed bug that prevented '.define' variables from being substituted
  in file transfer specifications.

- Fixed bug that only recognized sudo invocations if they were the
  first statement on a command line.  All instances of the string
  "sudo " will now force sudo password prompting and processing.
  That string is ignored if it appears inside single- or double quotes.
  
- Fixed bug that intermittently occurred during password-based auth
  sessions because ssh-agent and key searching were still being used.

- Fixed error reporting blowout when key-exchange auth fails.


TODO
----


- Do testmode substitions.

- Note importance of giving variables distinctive names so they do
  not accidentally get substituted.

- Make note that all cmdfiles are read in and THEN evaluated at *runtime*:

   echo __HOSTNUM__
   echo __HOSTNAME__
   echo __HOSTSHORT__
   .define __HOSTSHORT__ = ozzie

  Runtime __HOSTSHORT__ == ozzie

- Write a new section on builtins.  Note that they are evaluated
  *locally* and are reevaluated for each new host being processed.
  e.g., Timestamp will change with a big list of hosts.

-  Include material on execution variables.

   Processed only once at the time it is first encountered.

   Executed on *local* machine.

- Add note about this being a *NIX, Python 2 only prog.


sudoers Mode
------------

- Capture bad password
- Capture failed command output
- Write the server noise, as it appears to stderr for debug purposes
- Note in docs: In this mode it will HANG waiting for interactive input.
- Note in docs: There is no separation between stdout and sterr in this mode