I've made modifications to the way appion handles cluster config. Not checked in yet, will have Christopher review first.
Here is the idea.
1. default_cluster.php no longer exists. Installations will not have a seperate config file for each cluster. Instead, the main config.php file will include the constants required for each cluster in the processing hosts array with an entry for each one like this:
$PROCESSING_HOSTS[] = array('host' => 'garibaldi.scripps.edu',
'nproc' => 8,
'nodesdef' => '16',
'nodesmax' => '280',
'ppndef' => '4',
'ppnmax' => '8',
'reconpn' => '4',
'walltimedef' => '240',
'walltimemax' => '240',
'cputimedef' => '240',
'cputimemax' => '240',
'memorymax' => '30',
'appionbin' => '~bcarr/appionbin/',
'baseoutdir' => '', //sends appion procession output to a location under the users home directory on the remote host
'remoteserver' => 'amibox03.scripps.edu',
'dirsep' => '/' );
2. I created myamiweb/processing/inc/cluster.inc which is a small class that reads the config file params, provides accessor functions, and has some logic for setting the remote output path. Most of the functions that were included in the default_cluster file are no longer needed after our recent changes to the way jobs are submitted.
3. This class is used for populating the processing host parameters form, which is curerntly only used for refinements. The cluster class needs to know which host is being used when it is instantiated, so files use the PROCESSING_HOSTS array to look up the available hosts before creating a new cluster instance.