[Bio] / FigCommon / setup-sge.pl Repository:
ViewVC logotype

View of /FigCommon/setup-sge.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (download) (as text) (annotate)
Mon Nov 1 20:21:37 2004 UTC (15 years, 8 months ago) by olson
Branch: MAIN
CVS Tags: merge-trunktag-bobdev_news-2, Root-bobdev_news, merge-bobdev_news-1, merge-trunktag-bobdev_news-1, merge-bodev_news-3, lwc, caBIG-00-00-00, merge-bobdev_news-2, merge-trunktag-bodev_news-3
Branch point for: Branch-bobdev_news
SGE setup stuff.

#
# Configure the SGE install for this machine.
#
# We copy the SGE directory from the common runtime
# directory to the directory FIGdisk/gendb/SGE so that
# we can have a custom installation as part of the build
# (this should help in the configuration of the system
# if one copies a figdisk from one machine to another).
#

use FIG_Config;
use FIG;

my $root = "$FIG_Config::fig_disk/gendb/SGE";

my $cell = "default";

if (-d "$root/$cell")
{
    die "It appears that SGE is already configured in $root.\n";
}

my $sge_src = "$FIG_Config::common_runtime/sge";
if (! -d $sge_src)
{
    die "Cannot find SGE source directory $sge_src\n";
}


&FIG::verify_dir($root);
my $rc = system("cd $sge_src; tar cf - . | (cd $root; tar xfp -)");
if ($rc != 0)
{
    die "Copy of sge from $FIG_Config::common_runtime/sge failed\n";
}

#
# Just use these defaults for now.
my %replacements = (ROOT => $root,
		    QMASTER_PORT => 10111,
		    EXECD_PORT => 10112,
		    CELL_NAME => $cell,
		    GID_RANGE=> '20000-20100',
		    ADMIN_HOSTS => "localhost",
		    SUBMIT_HOSTS => "localhost",
		    EXEC_HOSTS => "localhost",
		    );

my $conf = "$root/SGE_Config";
open(CONF, ">$conf") or die "Cannot open $conf for writing: $!\n";

while (<DATA>)
{
    my $k, $v;
    while (($k, $v) = each(%replacements))
    {
	s/\@$k\@/$v/g;
    }
    print CONF $_;
}
close(DATA);
close(CONF);

chdir($root) or die "Cannot chdir $root: $!\n";

my $inst = "$root/inst_sge";

-x $inst or die "Cannot execute $inst\n";

$rc = system($inst, qw(-m -x -auto ./SGE_Config));

if ($rc != 0)
{
    die "$inst failed\n";
}
print "SGE setup to $root succeeded\n";
		 
    
__DATA__
#-------------------------------------------------
# SGE default configuration file
#-------------------------------------------------

# Use always fully qualified pathnames, please

# SGE_ROOT Path, this is basic information
#(mandatory for qmaster and execd installation)
SGE_ROOT=@ROOT@

# SGE_QMASTER_PORT is used by qmaster for communication
# Please enter the port in this way: 1300
# Please do not this: 1300/tcp
#(mandatory for qmaster installation)
SGE_QMASTER_PORT=@QMASTER_PORT@

# SGE_EXECD_PORT is used by execd for communication
# Please enter the port in this way: 1300
# Please do not this: 1300/tcp
#(mandatory for qmaster installation)
SGE_EXECD_PORT=@EXECD_PORT@

# CELL_NAME, will be a dir in SGE_ROOT, contains the common dir
# Please enter only the name of the cell. No path, please
#(mandatory for qmaster and execd installation)
CELL_NAME="@CELL_NAME@"

# The dir, where qmaster spools this parts, which are not spooled by DB
#(mandatory for qmaster installation)
QMASTER_SPOOL_DIR=$SGE_ROOT/$CELL_NAME/spool/qmaster

# The dir, where the execd spools (active jobs)
# This entry is needed, even if your are going to use
# berkeley db spooling. Only cluster configuration and jobs will
# be spooled in the database. The execution daemon still needs a spool
# directory  
#(mandatory for qmaster installation)
EXECD_SPOOL_DIR=$SGE_ROOT/$CELL_NAME/spool

# For monitoring and accounting of jobs, every job will get
# unique GID. So you have to enter a free GID Range, which
# is assigned to each job running on a machine.
# If you want to run 100 Jobs at the same time on one host you
# have to enter a GID-Range like that: 16000-16100
#(mandatory for qmaster installation)
GID_RANGE=@GID_RANGE@

# If SGE is compiled with -spool-dynamic, you have to enter here, which
# spooling method should be used. (classic or berkeleydb)
#(mandatory for qmaster installation)
SPOOLING_METHOD="berkeleydb"

# Name of the Server, where the Spooling DB is running on
# if spooling methode is berkeleydb, it must be "none", when
# using no spooling server and it must containe the servername
# if a server should be used. In case of "classic" spooling,
# can be left out
DB_SPOOLING_SERVER="none"

# The dir, where the DB spools
# If berkeley db spooling is used, it must contain the path to
# the spooling db. Please enter the full path. (eg. /tmp/data/spooldb)
# Remember, this directory must be local on the qmaster host or on the
# Berkeley DB Server host. No NSF mount, please
DB_SPOOLING_DIR=$SGE_ROOT/$CELL_NAME/spool/spooldb

# A List of Host which should become admin hosts
# If you do not enter any host here, you have to add all of your hosts
# by hand, after the installation. The autoinstallation works without
# any entry
ADMIN_HOST_LIST="@ADMIN_HOSTS@"

# A List of Host which should become submit hosts
# If you do not enter any host here, you have to add all of your hosts
# by hand, after the installation. The autoinstallation works without
# any entry
SUBMIT_HOST_LIST="@SUBMIT_HOSTS@"

# A List of Host which should become exec hosts
# If you do not enter any host here, you have to add all of your hosts
# by hand, after the installation. The autoinstallation works without
# any entry
# (mandatory for execution host installation)
EXEC_HOST_LIST="@EXEC_HOSTS@"

# The dir, where the execd spools (local configuration)
# If you want configure your execution daemons to spool in
# a local directory, you have to enter this directory here.
# If you do not want to configure a local execution host spool directory
# please leave this empty
EXECD_SPOOL_DIR_LOCAL="$SGE_ROOT/$CELL_NAME/spool"

# If true, the domainnames will be ignored, during the hostname resolving
# if false, the fully qualified domain name will be used for name resolving
HOSTNAME_RESOLVING="true"

# Shell, which should be used for remote installation (rsh/ssh)
# This is only supported, if your hosts and rshd/sshd is configured,
# not to ask for a password, or promting any message.
SHELL_NAME="ssh"

# Enter your default domain, if you are using /etc/hosts or NIS configuration
DEFAULT_DOMAIN="none"

# If a job stops, fails, finnish, you can send a mail to this adress
ADMIN_MAIL="none"

# If true, the rc scripts (sgemaster, sgeexecd, sgebdb) will be added,
# to start automatically during boottime
ADD_TO_RC="false"

#If this is "true" the file permissions of executables will be set to 755
#and of ordenary file to 644.  
SET_FILE_PERMS="true"

# This option is not implemented, yet.
# When a exechost should be uninstalled, the running jobs will be rescheduled
RESCHEDULE_JOBS="wait"

# Enter a one of the three distributed scheduler tuning configuration sets
# (1=normal, 2=high, 3=max)
SCHEDD_CONF="1"

# The name of the shadow host. This host must have read/write permission
# to the qmaster spool directory
# If you want to setup a shadow host, you must enter the servername
# (mandatory for shadowhost installation)
SHADOW_HOST="none"

# Remove this execution hosts in automatic mode
# (mandatory for unistallation of execution hosts)
EXEC_HOST_LIST_RM="localhost"

# This option is used for startup script removing. 
# If true, all rc startup scripts will be removed during
# automatic deinstallation. If false, the scripts won't
# be touched.
# (mandatory for unistallation of execution/qmaster hosts)
REMOVE_RC="false"

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3