- Change the profiled scripts to add c3 at the end of the path, not the front
- Renamed the install script to Install-c3
- each cluster runs in its own thread, this allows scalable runs of C3 (see README.scalable)
- use of sub-cluster groups for scalability
- ability to run commands as an alternate user per cluster
- ability to set a different default path to remotely find the c3 commands per user (allows the scalable
cluster to run entirely in user space)
- ability to specify a different default configuration file per user. (NOT DONE!!!!!!)
- fixed a bug where :torc: would match both the default cluster and torc
instead of being an error
- ability to run as a different user per cluster (see c3-range(5) man page)
- made a few error messages more descriptive
- fixed a bug where if an index on the command line was out of range
execution quit, it now ignores.
- fixed cexec where output from a cexec command that is over the system buffer length would hang
- when using cpush with the --head option other command line options were not
- fixed a problem where --blind didn't apply when using a file list
- Specifying a cluster on the command line that doesn't exist now gives an appropriate
error message and tries the next cluster.
- changed the --blind option in cpush to use "rm -f" instead of "rm -rf". This could cause entire
directories to be erase (C3 doesn't not support directories with cpush)
- when using cnum with an indirect remote cluster it actually executed cname
- added some documentation to the parsing internals for other people to use.
- when using -f or --file with cpush it looked for the alternate configuration file on remote cluster (it
should have looked for /etc/c3.conf).
- added a --all option to cnum
- --pipe did not handle single line output correctly, now fixed.
- cexec now sorts stderr along with stdout
- *^C no longer prints call stack to screen
- changed "#!/usr/local/bin/python" to use "/usr/bin/env python2" for
- fixed bug where temporary filename stays around (see version 3.0's
known bug list)
- when using the cpush -l option if you had more than one space between
the source and destination cpush failed, you can now have
any amount and type of white space
- when using cpush with the -l option if there is a blank line execution fails,
the blank line is now skipped
- now only reads the clusters specified on the command line from the
- added --all option to all the tools
- when using the c3_com_obj.get_clusters() it changed global values instead of local
values, useful if using the libraries for your own scripts
- cname can now search multiple names in one command
- when using a direct remote cluster and not using ssh for communication the scripts
would still use ssh in one call
- added a "contrib" section of unsupported example scripts (see README
in contrib directory)
- added c3 command line parser and file parser documentation in the contrib section.
- added the --pipe option, should make it easier to pipe cexec commands
- changed the directory structure of the man pages
- Total rewrite of code base
- using python 2.x
- new config file format
- new command line format
- removed cps
- removed serial versions of everything but cexec
- C3 now available as an RPM
- C3 is now installed in /opt to conform with the Linux Standards
Base (LSB) Filesystem Hierarchy Standard (FHS)
- Updated cpushimage to use SystemImager v1.5.0
- C3_RSH environment variable should now be set to the path to the
binary that C3 should use instead of the default ssh. Previously,
C3_RSH was set to 1 if the user wanted to use rsh instead of ssh.
- Added C3 man page (man c3).
- Fixed file open error message bug in cpush(s) that misreported
that the node list could not be opened, when actually it was the
list of files to be pushed which could not be opened.
- Changed tool names from cl_*(t) to c*(s).
- switched from using perl threads to using a fork()
Version 2.0 (internal release)
- rewrote the commands to be parallel versus serial
For user questions and information about releases, email/subscribe to:
For report bugs or problem, e-mail: firstname.lastname@example.org
Computer Science and Math Division
Oak Ridge National Laboratory