Gold changes since beta release 2.0.b1.0: Release 2.0.0.4 Fix the Makefile so that it'll do the Perl CGI based gui instead of the old Java one. Added code to register with a Service Directory for SSS General release 2.0.0.0 Miscellaneous minor fixes to GUI for GA Pre release 2.b2.13.2 Fixed bug where Account Withdraw would debit from earliest expiring allocation independent of whether active or not Pre release 2.b2.13.1 Created initial Perl CGI Web-based GUI to replace Java JSP GUI Added install and configuration support for Perl CGI GUI and documented the installation steps in INSTALL Pre release 2.b2.13.0 Initial Pre GA release Moved Display attribute from Object to Action Changed goldd so that restart will start the server even if it was not stopped Renamed _journal tables to _log to shorten identifiers below 30 chars UCC SSSRMAP attribute values Bugfix -- Id is an Account Condition (not an Option as used in some clients) Maintenance release 2.b2.12.0 Added a new chapter on Customizing Gold Objects in the Gold User's Guide. Fix release 2.b2.11.1 Fixed a bug where clients accepting +/- modifiers on entity names did not properly handle entity names containing spaces Maintenance release 2.b2.11.0 Fixed duplicate g_key_generator entries in bank.sql Now if you try to recreate a deleted object, it will silently undelete it and update its attributes to the newly created state, rather than failing and complaining that the object exists but is deleted. Added support for offset option. Now you can issue a query and ask for records 1001 through 2000 by specifying Limit:=1000 Offset:=1000 Fix release 2.b2.10.2 Added a brief INSTALL section for the impatient Fixed minor bug where condition value of zero was ignored Fix release 2.b2.10.1 Fix bug that allowed negative charges and reservations Limit refund job matches to 20 Qbalance with total and hours options divided by 3600 twice Fix timetravel query conflict with primary key conditions Maintenance release 2.b2.10.0 Implemented fault tolerance by adding support for a backup gold server. Clients can failover to a backup gold server if defined. The database can be made fault tolerant by utilizing a synchronous multi-master replication system such as pgcluster. Maintenance release 2.b2.9.0 Implemented distributed accounting functionality including Forward and Back Charges, Reservations and Quotations. Maintenance release 2.b2.8.0 Fixed a bug where large queries like glsjob were failing on certain systems due to client resets (server gets connection reset by peer). Added a new password client (gchpasswd) that can be used to set passwords for users so that they can login to the web GUI. Added a new extension property flag (-X | --extension) to all gmk* and gch* clients to allow specification of custom field assignments. Fix release 2.b2.7.3 Removed xalan.jar to prevent lib conflict in GUI. Fixed glibc error when quitting goldsh on RedHat AS 3+ systems. Fixed taint problem for --man flag on Perl 5.8.5. Added -X (--extension) flag to add extensible job properties to gcharge, greserve and gquote. Added direct support for Organization to User, Project and Machine clients (added -o flag and added Organization as a Showable field). Fix release 2.b2.7.2 When insufficient funds are available when charging, make first allocation go negative for the remainder. Previously, when a charge was attempted on a set of accounts with insufficient funds, the charge would fail and no debit would be made and no charge recorded, etc. But since a charge occurs as a result of actual usage, you should really not fail to make the charge and especially not fail to record the usage. It was deemed to be better to make the most specific account go negative. With careful use of reservations, this condition should be preventable. If you find a negative balance, this indicates a process failure that needs to be remedied. Additional changes to aid in the hiding of the account layer. Added role overrides for Job and Transaction Query. Fix release 2.b2.7.1 Added a Getting More Advanced chapter in the User's Guide that highlights the explicit use of accounts and other advanced features while changing the Getting Started chapter to focus on a simplified approach that ignores the presence of accounts. Modified gstatement to allow a project, user or machine to be specified causing it to produced a report combining information from all accounts valid toward the specified entities. A summary option has also been added to allow the Credit and Debit transactions to be summarized. Support has been added for Selection aliases. This allows a field to be returned in a query to be renamed in the output as desired. Fixed a bug where charges failed when the charge was larger than the associated reservation (like when a job surpasses its wallclock limit). Changed gdeposit and gwithdraw so that the amount field is now the option that can be specified without a flag (instead of account). Changed the Quotation Used field to Quotation Uses. This permits multiple uses of a quotation and a way to make multiple charges against a single job record. Maintenance release 2.b2.7.0 Ported to OS X, IRIX, HP-UX and Solaris platforms Ported to mysql database (version 4.x) Readded organization attribute in Project, User, Machine Added support to partially hide the account abstraction layer for sites that would like to maintain a simple one-to-one mapping of accounts and projects. In support of this, an account.autogen configuration parameter was added that when enabled, automatically creates a default account whenever a project is created. Additionally, new flags were added to a number of clients (gdeposit, gwithdraw, gtransfer, glsalloc, gstatement) allowing them to be run against projects instead of accounts where a one-to-one mapping is maintained. When creating reservations, a new Replace option allows similarly named reservations to be deleted before the new reservation is created. The default action is to create a new reservation even if an existing reservation of the same name exists. The default behavior supports systems that may reuse jobids or make incremental charges. The replace option should be specified if you want the new reservation to replace existing reservations of the same name (associated with the same job). Added *.show configuration parameters that allow a site to customize the default output fields for the various gls* commands without directly editing the command line clients. This better supports Gold upgrades while providing for local customization. Removed --detail flag from gbalance making the detailed listing the default. A new --total flag is provided if you want the simple total (This can also be achieved via the --show Amount or --show Available flag albeit by different backend means. At a future date the --total and --available flags may be removed). Modified client commands to return the SSSRMAP return code / 10 in order to fit in the 255 bit integer available in Linux for return codes. Beta release 2.b2.5.0 Added support for the SQLite embedded database. In support of this and for better database portability, timestamps were internally recast as integers Renamed all *Date attributes to *Time (specifically StartDate and EndDate in the Allocation object) Reservations have a redesigned internal structure. Reservations are now tied to a list of allocations and amounts. This change improves the handling of charges that span allocation boundaries. A new strategy for charging (when reservations are made) has been implemented that reserves against allocations valid at the time the job starts and charges against these same allocations even if they are expired at the time the job ends. The gmkres client was removed (use greserve) CreditLimit is now associated with Allocations instead of Accounts Quotation and Reservation support a new StartTime attribute. This allows for better support for those who want to create reservations at submit time. Deposits, Withdrawals, and Transfers now accept an Allocation id instead of a StartTime and EndTime to make exchanges with specific allocations Renamed the Job Class attribute to Queue per SSS Job Object specification Added a new "mybalance" wrapper to show user's a list of projects they can charge to with associated balances. Currency precision is now a runtime config parameter Transactions now track allocation ids Added a new gusage report that lists a per-user charge summary for a particular project over an arbitrary timeframe. Added support for [-h, --hours] flag for clients to treat currency as specified in hours. In systems where the currency is measured in resource-seconds (like processor-seconds), this option allows the amount and credit limit to be specified in resource-hours. The Usage object was removed. Likewise, the old glsusage client is gone. In lieu of the Usage record, usage can be obtained from the Job Object and itemized charge information can be extracted from the details field in the Transaction Log. Significant performance testing and tuning has been performed resulting in about a 4x speedup for most clients. Robustness has been improved by making server and clients check the socket connections for readiness to read/write with a timeout select in non-blocking read/write loops. Fix release 2.0.b1.1 Added a version flag [-V, --version] to all gold clients Renamed create.sql to base.sql and created new bank.sql to rapidly bootstrap gold into a bank. This alleviates the need to create objects and attributes through goldsh speeding up the install process and supporting SQLite which does not yet have support for ALTER TABLE. Performance improvement in balance queries