[Swift-commit] r6912 - in trunk/tests: . multi_remote

yadunandb at ci.uchicago.edu yadunandb at ci.uchicago.edu
Wed Aug 21 12:43:53 CDT 2013


Author: yadunandb
Date: 2013-08-21 12:43:53 -0500 (Wed, 21 Aug 2013)
New Revision: 6912

Added:
   trunk/tests/multi_remote/
   trunk/tests/multi_remote/.log
   trunk/tests/multi_remote/README
   trunk/tests/multi_remote/clean.sh
   trunk/tests/multi_remote/remote_driver.check.sh
   trunk/tests/multi_remote/remote_driver.setup.sh
   trunk/tests/multi_remote/remote_driver.source.sh
   trunk/tests/multi_remote/remote_driver.swift
   trunk/tests/multi_remote/remote_driver.timeout
   trunk/tests/multi_remote/run.sh
   trunk/tests/multi_remote/sites.template.xml
   trunk/tests/multi_remote/swift.properties
   trunk/tests/multi_remote/tc.template.data
   trunk/tests/multi_remote/title.txt
Log:

Committing remote-cluster test engine



Added: trunk/tests/multi_remote/.log
===================================================================
Added: trunk/tests/multi_remote/README
===================================================================
--- trunk/tests/multi_remote/README	                        (rev 0)
+++ trunk/tests/multi_remote/README	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,50 @@
+What
+====
+
+This test-group multi-remote is recursive call on the test-suite from itself.
+
+
+How
+===
+Assuming that the site of execution of the top-level run has sufficient auth
+for connecting to all remote sites, the remote-driver.swift script will connect
+with several remote sites, and initiate an instance of the test-suite at the 
+remote login nodes.
+
+Get started
+===========
+
+I have made this with the assumption that swift.rcc will be the site from which
+the top-level run and hence the multi-remote.swift script will be invoked. Yet,
+it should be quite possible to run this anywhere.
+
+- Setup keys to have passwordless access to the following sites:
+  Beagle, UC3, MCS, Midway
+  - For connecting to MCS machines frisbee and crush directly you could add 
+  the following to the .ssh/config file :
+  Host frisbee.mcs.anl.gov
+    Hostname frisbee.mcs.anl.gov
+    ProxyCommand ssh -A <USERNAME>@login.mcs.anl.gov nc %h %p 2> /dev/null
+    ForwardAgent yes
+  Host crush.mcs.anl.gov
+    Hostname crush.mcs.anl.gov
+    ProxyCommand ssh -A <USERNAME>@login.mcs.anl.gov nc %h %p 2> /dev/null
+    ForwardAgent yes
+
+- Get keychain on the machine for more ease of use.
+  Add following to ~/.bashrc
+  # Start keychain and point it to private key
+  /PATH/TO/KEYCHAIN /PATH/TO/PRIVATE-KEY/id_rsa
+  # Let the shell know the agent
+  # The file will be <HOSTNAME>.sh under ~/.keychain
+  source ~/.keychain/midway001-sh > /dev/null
+
+- Start a screen session and ensure that an agent is present which will 
+  hold the auth for you.
+
+- Use cron / script to schedule regular runs of the tests
+  - On swift.rcc slurm-cron is supposed to work, but I haven't been
+  able to schedule on midway001 node due to an error when submitting the 
+  cron.sbatch script
+
+

Added: trunk/tests/multi_remote/clean.sh
===================================================================
--- trunk/tests/multi_remote/clean.sh	                        (rev 0)
+++ trunk/tests/multi_remote/clean.sh	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+rm -rf *log *d
+rm -rf *swiftx *kml
+rm -rf *~
+rm -rf driver*
+rm -rf Logs_*tar
\ No newline at end of file


Property changes on: trunk/tests/multi_remote/clean.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/tests/multi_remote/remote_driver.check.sh
===================================================================
--- trunk/tests/multi_remote/remote_driver.check.sh	                        (rev 0)
+++ trunk/tests/multi_remote/remote_driver.check.sh	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+if [ -d "swift" ]
+then
+    rm -rf swift swift.tar    
+fi
+
+SITES_PASSED=`ls out/*out | wc -l`
+HOME=$PWD
+MAIL="$HOME/Mail.content"
+
+cd out;
+echo "Test-Results"                         >  $MAIL
+echo "=====================================">> $MAIL
+echo "Test home         : $PWD"             >> $MAIL
+echo "Sites successful  : $SITES_PASSED"    >> $MAIL
+VERSION=`swift -version | cut -d " " -f -2 | sed 's/\ /-/g' | tr '[A-Z]' '[a-z]'`
+for i in `ls *tar`
+do
+    scp $i ci:~/public_html/$VERSION/
+    tar -xf $i
+    folder=`tar -tf $i | head -n 1`
+    echo "Results for site : $folder"              >> $MAIL
+    grep "Tests run" $folder/run*/tests*html       >> $MAIL
+    grep "Tests succeeded" $folder/run*/tests*html >> $MAIL
+    grep "Tests failed" $folder/run*/tests*html    >> $MAIL
+    grep "Total Time" $folder/run*/tests*html      >> $MAIL
+    echo ""
+    rm -rf $folder
+done
+cd $HOME;
+cd ..;
+RUN_DIR=$(basename $PWD);
+cd ..;
+mv $RUN_DIR "$RUN_DIR-local"
+tar -cf Local.tar "$RUN_DIR-local"
+scp Local.tar ci:~/public_html/$VERSION/
+
+echo "Running update and maintenance script on publish server";
+ssh ci "cd ~/public_html/$VERSION/; ./maint.sh"
+mv "$RUN_DIR-local" $RUN_DIR
+rm Local.tar
+
+echo "=====================================">> $MAIL
+cd $HOME;
+cat $MAIL
+mailx -s "Test results from $HOSTNAME" -r $FROM_MAIL $TO_MAIL  < $MAIL
+


Property changes on: trunk/tests/multi_remote/remote_driver.check.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/tests/multi_remote/remote_driver.setup.sh
===================================================================
--- trunk/tests/multi_remote/remote_driver.setup.sh	                        (rev 0)
+++ trunk/tests/multi_remote/remote_driver.setup.sh	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,201 @@
+#!/bin/bash
+
+#CLEAN_CHECKOUT="yes"
+CLEAN_CHECKOUT="no"
+
+#[ ! -z $COG_URL ]         || COG_URL=https://cogkit.svn.sourceforge.net/svnroot/cogkit/branches/4.1.10/src/cog
+#[ ! -z $SWIFT_URL ]       || SWIFT_URL=https://svn.ci.uchicago.edu/svn/vdl2/branches/release-0.94
+[ ! -z $COG_URL ]         || COG_URL=https://svn.code.sf.net/p/cogkit/svn/trunk/src/cog
+[ ! -z $SWIFT_URL ]       || SWIFT_URL=https://svn.ci.uchicago.edu/svn/vdl2/trunk
+[ ! -z $SWIFT_VERSION ]   || SWIFT_VERSION=trunk
+[ ! -z $BEAGLE_USERNAME ] || BEAGLE_USERNAME="yadunandb"
+[ ! -z $MIDWAY_USERNAME ] || MIDWAY_USERNAME="yadunand"
+[ ! -z $UC3_USERNAME ]    || UC3_USERNAME="yadunand"
+[ ! -z $MCS_USERNAME ]    || MCS_USERNAME="yadunand"
+[ ! -z $PUBLISH_FOLDER ]  || PUBLISH_FOLDER="\/home\/yadunandb\/public_html\/results"
+[ ! -z $SWIFT_SOURCE ]    || SWIFT_SOURCE="/home/yadunand/swift"
+[ ! -z $RUN_TYPE ]        || RUN_TYPE="daily"
+
+SITES="sites.xml"
+cp  $SITES  $SITES.bak
+cat $SITES | sed "s/BEAGLE_USERNAME/$BEAGLE_USERNAME/g" > tmp && mv tmp $SITES
+cat $SITES | sed "s/MIDWAY_USERNAME/$MIDWAY_USERNAME/g" > tmp && mv tmp $SITES
+cat $SITES | sed "s/UC3_USERNAME/$UC3_USERNAME/g"       > tmp && mv tmp $SITES
+cat $SITES | sed "s/MCS_USERNAME/$MCS_USERNAME/g"       > tmp && mv tmp $SITES
+cat $SITES | sed "s/PUBLISH_FOLDER/$PUBLISH_FOLDER/g"   > tmp && mv tmp $SITES
+
+
+export GLOBUS_HOSTNAME="swift.rcc.uchicago.edu"
+
+BASE=$PWD
+# Make clean checkout if no swift dir is present or
+# Clean checkout requested
+
+[ -f "/scratch/midway/yadunand/swift.tar" ] && cp /scratch/midway/yadunand/swift.tar ./
+
+if [ "$REMOTE_DRIVER_FASTSETUP" == "true" ]
+then
+    echo "FASTSETUP: Skipping svn update and rebuild"
+else
+    if [ -f "swift.tar" ]
+    then
+	echo "Found swift.tar. Extracting.."
+	tar -xf swift.tar
+    fi
+    
+    if [ "CLEAN_CHECKOUT" == "yes" ] || [ ! -d "swift" ]
+    then
+	echo "Cleaning and making fresh checkout"
+	rm -rf swift &> /dev/null
+	mkdir swift && cd swift
+	svn co $COG_URL
+	cd cog/modules
+	svn co $SWIFT_URL swift
+	cd swift
+    else
+	echo "Updating Cog sources"
+	cd swift/
+	svn up *  
+	echo "Updating Swift sources"
+	cd cog/modules/swift
+        svn up *
+    fi
+    
+    echo "$PWD : Starting compile"
+    ant redist | tee $BASE/compile.log
+    if [ "$?" != "0" ]
+    then
+	echo "Swift compile failed. Cannot proceed"
+	exit 1
+    fi
+
+    cd $BASE
+    if [ -d "swift" ]
+    then
+	tar -cf swift.tar.tmp ./swift && mv swift.tar.tmp swift.tar && echo "Tarred successfully"
+    else
+	echo "Could not find swift folder to tar"
+    fi;
+fi
+
+# Wrapper is the script that gets executed on the remote nodes
+# The outputs go to the out directory
+cat <<'EOF' > wrapper.sh
+
+#!/bin/bash
+
+SWIFT_TARBALL=$1
+LOG_TARBALL=$2
+RUN_HOME=$PWD
+echo "HOSTNAME: $HOSTNAME"
+
+if [ -f $SWIFT_TARBALL ]
+then
+    echo "Hey this is wrapper and the $1 exists as a file";
+    ls -lah;
+else
+    echo "Doinks! the file we need isn't here";
+    ls -lah
+    exit -1;
+fi
+
+BASENAME=""
+if echo $SWIFT_TARBALL | grep "\.tar$"
+then
+    tar -xf $SWIFT_TARBALL
+    BASENAME=${SWIFT_TARBALL%.tar}
+else
+    echo "BAD.. cannot decipher $SWIFT_TARBALL"
+    exit -1
+fi;
+
+cd $BASENAME;
+cd cog/modules/swift/
+
+#type ant   2>&1
+#if [ "$?" != "0" ]
+#then
+#    echo "Ant not found. Cannot build. Exiting!.."
+#    exit 0
+#fi
+
+#ant redist 2>&1 > tee $RUN_HOME/swift_build.log
+if [ ! -x "$PWD/dist/swift-svn/bin/swift" ] 
+then
+    echo "No executable swift binary... Cannot proceed"
+    exit 0
+fi
+
+echo "Found swift executable!"
+SWIFT_PATH=$PWD/dist/swift-svn/bin
+export PATH=$SWIFT_PATH:$PATH
+
+T=`which swift`
+if [ "$T" == "$SWIFT_PATH/swift" ]
+then
+    swift -version
+else
+    echo "Swift not being pulled from SWIFT_PATH"
+fi;
+
+cd tests/
+
+EOF
+
+
+if   [ "$RUN_TYPE" == "daily" ]; then
+cat <<'EOF' >> wrapper.sh
+#./suite.sh -l 1 -t $PWD/groups/group-functions.sh 2>&1 | tee $RUN_HOME/TEST.log
+#./suite.sh -l 1 -t $PWD/groups/group-remote-site.sh 2>&1 | tee $RUN_HOME/TEST.log
+./suite.sh -l 1 -t $PWD/groups/group-all-local.sh 2>&1 | tee $RUN_HOME/TEST.log
+EOF
+elif [ "$RUN_TYPE" == "weekly" ]; then
+cat <<'EOF' >> wrapper.sh
+#./suite.sh -l 1 -t $PWD/groups/group-functions.sh 2>&1 | tee $RUN_HOME/TEST.log
+#./suite.sh -l 1 -t $PWD/groups/group-remote-site.sh 2>&1 | tee $RUN_HOME/TEST.log
+./suite.sh -l 1 -t $PWD/groups/group-all-local.sh 2>&1 | tee $RUN_HOME/TEST.log
+EOF
+elif [ "$RUN_TYPE" == "manual" ]; then
+cat <<'EOF' >> wrapper.sh
+#./suite.sh -l 1 -t $PWD/groups/group-functions.sh 2>&1 | tee $RUN_HOME/TEST.log
+#./suite.sh -l 1 -t $PWD/groups/group-remote-site.sh 2>&1 | tee $RUN_HOME/TEST.log
+./suite.sh -l 1 -t $PWD/groups/group-all-local.sh 2>&1 | tee $RUN_HOME/TEST.log
+EOF
+elif [ "$RUN_TYPE" == "test" ]; then
+cat <<'EOF' >> wrapper.sh
+./suite.sh -l 1 -t $PWD/groups/group-functions.sh 2>&1 | tee $RUN_HOME/TEST.log
+EOF
+fi
+
+cat <<'EOF' >> wrapper.sh
+
+cd $RUN_HOME
+echo "Current dir : $PWD"
+rm -rf $BASENAME/cog
+
+RUNDIR=`ls $BASENAME | grep run`
+
+cp *log $BASENAME/$RUNDIR/
+
+mv $BASENAME/$RUNDIR "$RUNDIR-$HOSTNAME"
+tar -cvf $LOG_TARBALL "$RUNDIR-$HOSTNAME" &> /dev/null
+rm -rf $BASENAME* "$RUNDIR-$HOSTNAME"     &> /dev/null
+echo "Folder cleaned"
+
+PID=$$
+CPIDS=$(pgrep -P $PID); (sleep 20 && kill -KILL $CPIDS &); kill -TERM $CPIDS;
+exit 0
+
+EOF
+
+
+cat<<'EOF' > publish.sh
+#!/bin/bash
+echo "Hostname : $HOSTNAME"
+echo "PWD      : $PWD"
+ls
+
+EOF
+
+echo "$0 : Completed"
+exit 0


Property changes on: trunk/tests/multi_remote/remote_driver.setup.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/tests/multi_remote/remote_driver.source.sh
===================================================================
--- trunk/tests/multi_remote/remote_driver.source.sh	                        (rev 0)
+++ trunk/tests/multi_remote/remote_driver.source.sh	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,6 @@
+#!/bin/bash
+if [ "$HOSTNAME" == "midway001" ]
+then
+   export GLOBUS_HOSTNAME=swift.rcc.uchicago.edu
+   export GLOBUS_TCP_PORT_RANGE=50000,51000
+fi;


Property changes on: trunk/tests/multi_remote/remote_driver.source.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/tests/multi_remote/remote_driver.swift
===================================================================
--- trunk/tests/multi_remote/remote_driver.swift	                        (rev 0)
+++ trunk/tests/multi_remote/remote_driver.swift	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,71 @@
+type file;
+type script;
+
+file swift_package <"swift.tar">;
+script wrapper     <"wrapper.sh">;
+script publish     <"publish.sh">;
+
+file out[] <simple_mapper;prefix="out/driver", suffix=".out">;
+file err[] <simple_mapper;prefix="out/driver", suffix=".err">;
+file log[] <simple_mapper;prefix="out/Logs_",  suffix=".tar">;
+
+string sites[] = ["uc3", "beagle", "midway", "crush", "frisbee"];
+
+app (file out, file err, file log) remote_uc3	  (script run, file tar)
+{
+    uc3 @run @filename(tar) @log stdout=@filename(out) stderr=@filename(err);
+}
+
+app (file out, file err, file log) remote_beagle  (script run, file tar)
+{
+    bgl @run @filename(tar) @log stdout=@filename(out) stderr=@filename(err);
+}
+
+app (file out, file err, file log) remote_midway  (script run, file tar)
+{
+    mid @run @filename(tar) @log stdout=@filename(out) stderr=@filename(err);
+}
+
+app (file out, file err, file log) remote_mcs   (script run, file tar)
+{
+    mcs @run @filename(tar) @log stdout=@filename(out) stderr=@filename(err);
+}
+
+app (file out, file err, file log) remote_frisbee (script run, file tar)
+{
+    fsb @run @filename(tar) @log stdout=@filename(out) stderr=@filename(err);
+}
+
+app (file out, file err) publish_results (script publish, file tar, file out, file err)
+{
+    pub @publish stdout=@out stderr=@err;
+}
+
+
+tracef("Filename of the wraper  : %s \n", @filename(wrapper));
+tracef("Filename of the package : %s \n", @filename(swift_package));
+
+foreach site, i in sites {
+    //tracef("Site : %s \n", site);
+
+    switch(i)
+    {
+	case 0: 
+	     	tracef("Calling uc3\n");
+		//(out[i], err[i], log[i]) = remote_uc3     (wrapper, swift_package);
+	case 1:
+	     	tracef("Calling beagle \n");
+		//(out[i], err[i], log[i]) = remote_beagle (wrapper, swift_package);
+	case 2: 
+	     	tracef("Calling Midway\n");	     	
+		//(out[i], err[i], log[i]) = remote_midway (wrapper, swift_package);
+	case 3: 
+	     	tracef("Crush on MCS\n");
+		(out[i], err[i], log[i]) = remote_crush(wrapper, swift_package);
+	case 4:	
+     	     	tracef("Skipping Frisbee on MCS (Will fail due to BUG:1030)\n");
+		//(out[i], err[i], log[i]) = remote_frisbee(wrapper, swift_package);
+	default:
+		tracef("Fail: Unknown site %s : %i \n", site, i);
+    }
+}

Added: trunk/tests/multi_remote/remote_driver.timeout
===================================================================
--- trunk/tests/multi_remote/remote_driver.timeout	                        (rev 0)
+++ trunk/tests/multi_remote/remote_driver.timeout	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1 @@
+3600
\ No newline at end of file

Added: trunk/tests/multi_remote/run.sh
===================================================================
--- trunk/tests/multi_remote/run.sh	                        (rev 0)
+++ trunk/tests/multi_remote/run.sh	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# Start keychain and point it to private key                                               
+/home/yadunand/bin/keychain ~/.ssh/id_rsa
+
+# Let the shell know the agent                                                             
+source ~/.keychain/midway001-sh > /dev/null
+
+./remote_driver.setup.sh
+
+echo "Running remote_driver2.swift"
+#swift -tc.file tc.data.2 -config cf -sites.file multiple.xml.bak remote_driver2.swift
+#swift -tc.file tc.data.2 -config cf -sites.file multiple.xml remote_driver2.swift
+swift -tc.file tc.data -config cf -sites.file $SITES remote_driver.swift | tee root_level.LOG
+
+rm $SITES
\ No newline at end of file


Property changes on: trunk/tests/multi_remote/run.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/tests/multi_remote/sites.template.xml
===================================================================
--- trunk/tests/multi_remote/sites.template.xml	                        (rev 0)
+++ trunk/tests/multi_remote/sites.template.xml	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,112 @@
+<config>
+
+  <pool handle="local">
+    <execution provider="coaster" jobmanager="local:local"/>
+    <profile namespace="globus" key="jobsPerNode">4</profile>
+    <profile namespace="globus" key="maxWalltime">00:15:00</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">1</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">0.03</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <filesystem provider="local"/>
+    <workdirectory>.</workdirectory>
+  </pool>
+
+  <pool handle="ci">
+    <execution provider="coaster" jobmanager="ssh-cl:local" url="login.ci.uchicago.edu"/>
+    <profile namespace="globus" key="jobsPerNode">24</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="maxtime">120</profile>
+    <profile namespace="globus" key="maxWalltime">00:02:00</profile>
+    <profile namespace="globus" key="slots">5</profile>
+    <profile namespace="globus" key="maxnodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">4.80</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>PUBLISH_FOLDER</workdirectory>
+  </pool>
+
+  <pool handle="beagle">
+    <execution provider="coaster" jobmanager="ssh-cl:local" url="login4.beagle.ci.uchicago.edu"/>
+    <profile namespace="globus" key="jobsPerNode">24</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="providerAttributes">pbs.aprun;pbs.mpp;depth=24;pbs.resource_list=advres=wilde.1768</profile>
+    <profile namespace="globus" key="maxtime">36000</profile>
+    <profile namespace="globus" key="maxWalltime">01:05:00</profile>
+    <profile namespace="globus" key="userHomeOverride">/lustre/beagle/BEAGLE_USERNAME/swiftwork</profile>
+    <profile namespace="globus" key="slots">5</profile>
+    <profile namespace="globus" key="maxnodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">4.80</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/BEAGLE_USERNAME/swiftwork</workdirectory>
+  </pool>
+
+
+  <pool handle="midway">
+    <execution provider="coaster" jobmanager="local:local"/>
+    <profile namespace="globus" key="queue">sandyb</profile>
+    <profile namespace="globus" key="jobsPerNode">16</profile>
+    <profile namespace="globus" key="maxTime">36000</profile>
+    <profile namespace="globus" key="maxWalltime">01:05:00</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="slots">4</profile>
+    <profile namespace="globus" key="maxNodes">1</profile>
+    <profile namespace="globus" key="nodeGranularity">1</profile>
+    <profile namespace="karajan" key="jobThrottle">.64</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/tmp/MIDWAY_USERNAME</workdirectory>
+  </pool>
+
+
+  <pool handle="uc3">
+    <execution provider="coaster" url="uc3-sub.uchicago.edu" jobmanager="ssh-cl:local"/>
+    <profile namespace="karajan" key="jobThrottle">10.00</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <profile namespace="globus"  key="jobsPerNode">1</profile>
+    <profile namespace="globus"  key="maxtime">36000</profile>
+    <profile namespace="globus"  key="maxWalltime">01:05:00</profile>
+    <profile namespace="globus"  key="highOverAllocation">100</profile>
+    <profile namespace="globus"  key="lowOverAllocation">100</profile>
+    <profile namespace="globus"  key="slots">1000</profile>
+    <profile namespace="globus"  key="maxNodes">1</profile>
+    <profile namespace="globus"  key="nodeGranularity">1</profile>
+    <!-- <profile namespace="globus"  key="condor.+AccountingGroup">"group_friends.yadunand"</profile> -->
+    <profile namespace="globus"  key="jobType">nonshared</profile>
+    <workdirectory>/home/UC3_USERNAME/swiftwork</workdirectory>
+  </pool>
+
+  <pool handle="mcs">
+    <execution provider="coaster" jobmanager="ssh-cl:local" url="thwomp.mcs.anl.gov"/>
+    <profile namespace="globus" key="jobsPerNode">8</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="maxtime">36000</profile>
+    <profile namespace="globus" key="maxWalltime">01:05:00</profile>
+    <profile namespace="karajan" key="jobThrottle">0.0799</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <profile namespace="globus" key="userHomeOverride">/sandbox/MCS_USERNAME/</profile>
+    <workdirectory>/sandbox/MCS_USERNAME/swiftwork</workdirectory>
+  </pool>
+
+
+  <pool handle="frisbee">
+    <execution provider="coaster" jobmanager="ssh-cl:local" url="frisbee.mcs.anl.gov"/>
+    <profile namespace="globus" key="jobsPerNode">8</profile>
+    <profile namespace="globus" key="lowOverAllocation">100</profile>
+    <profile namespace="globus" key="highOverAllocation">100</profile>
+    <profile namespace="globus" key="maxtime">3600</profile>
+    <profile namespace="globus" key="maxWalltime">00:05:00</profile>
+    <profile namespace="karajan" key="jobThrottle">0.0799</profile>
+    <profile namespace="karajan" key="initialScore">10000</profile>
+    <workdirectory>/sandbox/MCS_USERNAME/swiftwork</workdirectory>
+  </pool>
+
+  
+</config>

Added: trunk/tests/multi_remote/swift.properties
===================================================================
--- trunk/tests/multi_remote/swift.properties	                        (rev 0)
+++ trunk/tests/multi_remote/swift.properties	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,9 @@
+use.provider.staging=true
+use.wrapper.staging=false
+wrapperlog.always.transfer=true
+execution.retries=0
+lazy.errors=true
+provider.staging.pin.swiftfiles=false
+sitedir.keep=true
+tcp.port.range=50000,51000
+status.mode=provider
\ No newline at end of file

Added: trunk/tests/multi_remote/tc.template.data
===================================================================
--- trunk/tests/multi_remote/tc.template.data	                        (rev 0)
+++ trunk/tests/multi_remote/tc.template.data	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,6 @@
+beagle    bgl /bin/bash null null null
+uc3       uc3 /bin/bash null null null
+midway    mid /bin/bash null null null
+mcs	      mcs /bin/bash null null null
+local  l_bash /bin/bash null null null
+ci        pub /bin/bash null null null
\ No newline at end of file

Added: trunk/tests/multi_remote/title.txt
===================================================================
--- trunk/tests/multi_remote/title.txt	                        (rev 0)
+++ trunk/tests/multi_remote/title.txt	2013-08-21 17:43:53 UTC (rev 6912)
@@ -0,0 +1,3 @@
+Recursive Test-run
+| This test will connect to several remote login nodes and
+| initiate several local, local-cluster, and remote-cluster tests




More information about the Swift-commit mailing list