[Swift-commit] r6723 - in SwiftTutorials/ATPESC_2013-08-06: . cloud
ketan at ci.uchicago.edu
ketan at ci.uchicago.edu
Fri Aug 2 16:58:55 CDT 2013
Author: ketan
Date: 2013-08-02 16:58:55 -0500 (Fri, 02 Aug 2013)
New Revision: 6723
Added:
SwiftTutorials/ATPESC_2013-08-06/cloud/
SwiftTutorials/ATPESC_2013-08-06/cloud/README
SwiftTutorials/ATPESC_2013-08-06/cloud/bias.dat
SwiftTutorials/ATPESC_2013-08-06/cloud/catsn.swift
SwiftTutorials/ATPESC_2013-08-06/cloud/cf
SwiftTutorials/ATPESC_2013-08-06/cloud/cleanme
SwiftTutorials/ATPESC_2013-08-06/cloud/coaster-service.conf
SwiftTutorials/ATPESC_2013-08-06/cloud/coaster_setup.png
SwiftTutorials/ATPESC_2013-08-06/cloud/data.txt
SwiftTutorials/ATPESC_2013-08-06/cloud/dynamic_bias.dat
SwiftTutorials/ATPESC_2013-08-06/cloud/hosts.txt
SwiftTutorials/ATPESC_2013-08-06/cloud/p7.swift
SwiftTutorials/ATPESC_2013-08-06/cloud/p8.swift
SwiftTutorials/ATPESC_2013-08-06/cloud/p9.swift
SwiftTutorials/ATPESC_2013-08-06/cloud/run.catsn
SwiftTutorials/ATPESC_2013-08-06/cloud/setup
SwiftTutorials/ATPESC_2013-08-06/cloud/simulate.sh
SwiftTutorials/ATPESC_2013-08-06/cloud/sites.xml
SwiftTutorials/ATPESC_2013-08-06/cloud/stats.sh
SwiftTutorials/ATPESC_2013-08-06/cloud/tc
SwiftTutorials/ATPESC_2013-08-06/cloud/tc.data
SwiftTutorials/ATPESC_2013-08-06/cloud/tutorial.pem
Log:
cloud stuff
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/README
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/README (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/README 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,45 @@
+Prerequisites
+-------------
+
+On head node, these are preconfigured:
+- Java runtime environment (jre)
+- Swift
+- java and swift's bin on path
+
+Required if you run your own app:
+- your app input data (if any)
+
+On work node these are preset:
+- perl
+
+Required if you run your own app:
+- your app executables and dependencies (if any)
+
+Quick steps
+-----------
+- Change to cloud dir:
+ cd ~/cloud
+- Copy the private key tutorial.pem to your .ssh dir:
+ cp tutorial.pem ~/.ssh/
+- Source the setup script on command line:
+ source setup
+- Run the catsn Swift script:
+ ./run.catsn
+- Run the simanalyze Swift script:
+ swift -sites.file sites.xml -config cf -tc.file tc p7.swift
+ swift -sites.file sites.xml -config cf -tc.file tc p8.swift
+ swift -sites.file sites.xml -config cf -tc.file tc p9.swift
+
+- Finally, to clean up the log files, kill agent and shutdown the coaster service:
+ ./cleanme
+
+Notes
+-----
+The run.catsn contains the full commandline to call Swift scripts with configuration files. This is how they look like:
+
+catsn:
+swift -sites.file sites.xml -tc.file tc -config cf catsn.swift -n=10
+
+To know more about the configuration files, see Swift user-guide:
+http://www.ci.uchicago.edu/swift/guides/release-0.94/userguide/userguide.html
+
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/bias.dat
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/bias.dat (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/bias.dat 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1 @@
+123
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/catsn.swift
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/catsn.swift (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/catsn.swift 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,26 @@
+type file;
+
+// app declaration
+app (file o) cat (file i){
+ cat @i stdout=@o;
+}
+
+// input data
+file data<"data.txt">;
+
+/*
+* output data mapped to files with
+* prefix f and suffix .out in the outdir
+* directory
+*/
+
+file out[]<simple_mapper; location="outdir", prefix="f.",suffix=".out">;
+
+/*
+* @arg means n could be specified as commandline argument
+* foreach loop executes 1 to n calls of cat in parallel
+*/
+foreach j in [1:@toInt(@arg("n","1"))] {
+ out[j] = cat(data);
+}
+
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/cf
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/cf (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/cf 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,6 @@
+use.provider.staging=true
+wrapperlog.always.transfer=false
+execution.retries=10
+provider.staging.pin.swiftfiles=false
+sitedir.keep=false
+use.wrapper.staging=false
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/cleanme
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/cleanme (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/cleanme 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+echo "cleaning up ..."
+rm -rf outdir/ *.d *.log *.rlog logs hi.* *.kml *.swiftx _concurrent output
+
+echo "stopping coaster service"
+stop-coaster-service
+
+echo "Killing ssh-agent"
+killall ssh-agent
+
Property changes on: SwiftTutorials/ATPESC_2013-08-06/cloud/cleanme
___________________________________________________________________
Added: svn:executable
+ *
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/coaster-service.conf
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/coaster-service.conf (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/coaster-service.conf 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,47 @@
+#Location of SWIFT. If empty, PATH is referenced
+ export SWIFT=
+
+ # Where to place/launch worker.pl on the remote machine for sites.xml
+ export WORKER_LOCATION=/root
+
+ # How to launch workers: local, ssh, or cobalt
+ export WORKER_MODE=ssh
+
+ # Worker logging setting passed to worker.pl for sites.xml
+ export WORKER_LOGGING_LEVEL=DEBUG
+
+ export SSH_TUNNELING=yes
+
+ # User name to use for all systems
+ export WORKER_USERNAME=root
+
+ # Worker host names for ssh
+# export WORKER_HOSTS="crush thwomp stomp crank grind churn trounce thrash vanquish"
+#export WORKER_HOSTS="ip-10-36-196-96.eu-west-1.compute.internal ip-10-36-195-69.eu-west-1.compute.internal"
+
+ # Directory to keep log files, relative to working directory when launching start-coaster-service
+ export LOG_DIR=logs
+ export WORKER_LOG_DIR=/root
+
+ # Manually define ports. If not specified, ports will be automatically generated
+ export LOCAL_PORT=50100
+ export SERVICE_PORT=50200
+
+ # Set shared filesystem to no since work will be done in local /sandbox directory
+ export SHARED_FILESYSTEM=no
+
+ # start-coaster-service tries to automatically detect IP address.
+ # Specify here if auto detection is not working correctly
+ export IPADDR=
+
+ # Below are various settings to give information about how to create sites.xml
+ export WORK=/tmp/ketan
+ export JOBS_PER_NODE=4
+ export JOBSPERNODE=4
+ export JOBTHROTTLE=$( echo "scale=5; ($JOBS_PER_NODE * $( echo $WORKER_HOSTS | wc -w ))/100 - 0.00001"|bc )
+
+ # Swift applications
+ #app cat=/bin/cat
+ #app bash=/bin/bash
+ #app echo=/bin/echo
+
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/coaster_setup.png
===================================================================
(Binary files differ)
Property changes on: SwiftTutorials/ATPESC_2013-08-06/cloud/coaster_setup.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/data.txt
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/data.txt (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/data.txt 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,3 @@
+===========
+Test Data
+===========
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/dynamic_bias.dat
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/dynamic_bias.dat (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/dynamic_bias.dat 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1 @@
+201
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/hosts.txt
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/hosts.txt (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/hosts.txt 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,2 @@
+54.212.89.44
+54.212.50.12
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/p7.swift
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/p7.swift (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/p7.swift 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,28 @@
+type file;
+
+# Application to be called by this script
+
+file simulation_script <"simulate.sh">;
+
+# app() functions for application programs to be called:
+
+app (file out) simulation (file script, int timesteps, int sim_range)
+{
+ sh @filename(script) timesteps sim_range stdout=@filename(out);
+}
+
+# Command line params to this script:
+
+int nsim = @toInt(@arg("nsim", "10")); # number of simulation programs to run
+int range = @toInt(@arg("range", "100")); # range of the generated random numbers
+
+# Main script and data
+
+int steps=3;
+
+tracef("\n*** Script parameters: nsim=%i steps=%i range=%i \n\n", nsim, steps, range);
+
+foreach i in [0:nsim-1] {
+ file simout <single_file_mapper; file=@strcat("output/sim_",i,".out")>;
+ simout = simulation(simulation_script, steps, range);
+}
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/p8.swift
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/p8.swift (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/p8.swift 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,41 @@
+type file;
+
+# Applications to be called by this script
+
+file simulation_script <"simulate.sh">;
+file analysis_script <"stats.sh">;
+
+# app() functions for application programs to be called:
+
+app (file out) simulation (file script, int timesteps, int sim_range, file bias_file, int scale, int sim_count)
+{
+ sh @filename(script) timesteps sim_range @filename(bias_file) scale sim_count stdout=@filename(out);
+}
+
+app (file out) analyze (file script, file s[])
+{
+ sh @script @filenames(s) stdout=@filename(out);
+}
+
+# Command line params to this script:
+
+int nsim = @toInt(@arg("nsim", "10")); # number of simulation programs to run
+int steps = @toInt(@arg("steps", "1")); # number of "steps" each simulation (==seconds of runtime)
+int range = @toInt(@arg("range", "100")); # range of the generated random numbers
+int count = @toInt(@arg("count", "10")); # number of random numbers generated per simulation
+
+# Main script and data
+
+tracef("\n*** Script parameters: nsim=%i steps=%i range=%i count=%i\n\n", nsim, steps, range, count);
+
+file sims[]; # Array of files to hold each simulation output
+file bias<"bias.dat">; # Input data file to "bias" the numbers:
+ # 1 line: scale offset ( N = n*scale + offset)
+foreach i in [0:nsim-1] {
+ file simout <single_file_mapper; file=@strcat("output/sim_",i,".out")>;
+ simout = simulation(simulation_script, steps, range, bias, 100000, count);
+ sims[i] = simout;
+}
+
+file stats<"output/stats.out">; # Final output file: average of all "simulations"
+stats = analyze(analysis_script,sims);
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/p9.swift
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/p9.swift (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/p9.swift 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,52 @@
+type file;
+
+# Applications to be called by this script
+
+file simulation_script <"simulate.sh">;
+file analysis_script <"stats.sh">;
+
+# app() functions for application programs to be called:
+
+app (file out) genrand (file script, int timesteps, int sim_range)
+{
+ sh @filename(script) timesteps sim_range stdout=@filename(out);
+}
+
+app (file out) simulation (file script, int timesteps, int sim_range, file bias_file, int scale, int sim_count)
+{
+ sh @filename(script) timesteps sim_range @filename(bias_file) scale sim_count stdout=@filename(out);
+}
+
+app (file out) analyze (file script, file s[])
+{
+ sh @script @filenames(s) stdout=@filename(out);
+}
+
+# Command line params to this script:
+
+int nsim = @toInt(@arg("nsim", "10")); # number of simulation programs to run
+int range = @toInt(@arg("range", "100")); # range of the generated random numbers
+int count = @toInt(@arg("count", "10")); # number of random numbers generated per simulation
+
+# Main script and data
+
+tracef("\n*** Script parameters: nsim=%i range=%i count=%i\n\n", nsim, range, count);
+
+file bias<"dynamic_bias.dat">; # Dynamically generated bias for simulation ensemble
+
+bias = genrand(simulation_script, 1, 1000);
+
+file sims[]; # Array of files to hold each simulation output
+
+foreach i in [0:nsim-1] {
+
+ int steps = readData(genrand(simulation_script, 1, 5));
+ tracef(" for simulation[%i] steps=%i\n", i, steps+1);
+
+ file simout <single_file_mapper; file=@strcat("output/sim_",i,".out")>;
+ simout = simulation(simulation_script, steps+1, range, bias, 100000, count);
+ sims[i] = simout;
+}
+
+file stats<"output/stats.out">; # Final output file: average of all "simulations"
+stats = analyze(analysis_script,sims);
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/run.catsn
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/run.catsn (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/run.catsn 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1 @@
+swift -sites.file sites.xml -tc.file tc -config cf catsn.swift -n=10
Property changes on: SwiftTutorials/ATPESC_2013-08-06/cloud/run.catsn
___________________________________________________________________
Added: svn:executable
+ *
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/setup
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/setup (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/setup 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+count=$(cat ~/.ssh/config | grep 54.212.50.12 | wc -l)
+
+if [ $count -eq 0 ]
+then
+ echo -ne 'Host 54.212.50.12 \n IdentityFile ~/.ssh/tutorial.pem \n User root \n' >> ~/.ssh/config
+fi
+
+
+count=$(cat ~/.ssh/config | grep 54.212.89.44 | wc -l)
+
+if [ $count -eq 0 ]
+then
+ echo -ne 'Host 54.212.89.44 \n IdentityFile ~/.ssh/tutorial.pem \n User root \n' >> ~/.ssh/config
+fi
+
+
+export WORKER_HOSTS=`cat hosts.txt`
+chmod 0600 ~/.ssh/tutorial.pem
+eval $(ssh-agent)
+ssh-add ~/.ssh/tutorial.pem
+start-coaster-service
+
Property changes on: SwiftTutorials/ATPESC_2013-08-06/cloud/setup
___________________________________________________________________
Added: svn:executable
+ *
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/simulate.sh
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/simulate.sh (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/simulate.sh 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,23 @@
+#! /bin/bash
+
+runtime=${1:-0}
+range=${2:-100}
+biasfile=${3:-nobias}
+scale=${4:-1}
+n=${5:-1}
+
+if [ $biasfile = nobias ]; then
+ offset=0
+else
+ read offset <$biasfile
+fi
+
+# run for some number of "timesteps"
+
+sleep $runtime
+
+# emit n "simulation results", scaled and biased by the specified argument values
+
+for ((i=0;i<n;i++)); do
+ echo $(( ($RANDOM%range)*scale+offset))
+done
Property changes on: SwiftTutorials/ATPESC_2013-08-06/cloud/simulate.sh
___________________________________________________________________
Added: svn:executable
+ *
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/sites.xml
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/sites.xml (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/sites.xml 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,13 @@
+<config>
+ <pool handle="persistent-coasters">
+ <execution provider="coaster-persistent"
+ url="http://localhost:50200"
+ jobmanager="local:local"/>
+ <profile namespace="globus" key="workerManager">passive</profile>
+ <profile namespace="globus" key="jobsPerNode">4</profile>
+ <profile key="jobThrottle" namespace="karajan">.07999</profile>
+ <profile namespace="karajan" key="initialScore">10000</profile>
+ <filesystem provider="local" url="none" />
+ <workdirectory>/tmp/ketan</workdirectory>
+ </pool>
+</config>
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/stats.sh
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/stats.sh (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/stats.sh 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+awk '
+
+{ sum += $1}
+
+END { print sum/NR }
+' $*
+
Property changes on: SwiftTutorials/ATPESC_2013-08-06/cloud/stats.sh
___________________________________________________________________
Added: svn:executable
+ *
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/tc
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/tc (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/tc 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,8 @@
+persistent-coasters echo echo
+persistent-coasters sh /bin/bash
+persistent-coasters cat cat
+persistent-coasters random /root/cloud/bin/random.sh
+persistent-coasters average /root/cloud/bin/avg.sh
+persistent-coasters randpl /root/cloud/bin/random.pl
+persistent-coasters calcpi /root/cloud/bin/pi.sh
+
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/tc.data
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/tc.data (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/tc.data 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,39 @@
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
+persistent-coasters cat /bin/cat null null null
+persistent-coasters bash /bin/bash null null null
+persistent-coasters echo /bin/echo null null null
Added: SwiftTutorials/ATPESC_2013-08-06/cloud/tutorial.pem
===================================================================
--- SwiftTutorials/ATPESC_2013-08-06/cloud/tutorial.pem (rev 0)
+++ SwiftTutorials/ATPESC_2013-08-06/cloud/tutorial.pem 2013-08-02 21:58:55 UTC (rev 6723)
@@ -0,0 +1,23 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAvPJTneRDhB5wlRsWEr2l6LoFi/PulPm0J0A1Vi2skzWYC9J6I4Ftb2YbSbtp
+3d+BJUSK3wyJqfYgY/ynC4vtbdG4HU7/Fr6R2BBKtfiiVHET1K3OTCp3JzFVqQoJoSYkrkgW7XE9
+9GF7hvpza8JVvV9JPwxOcuhDAVHQFkoIRAq1TK9VaRulZFJapubWnEHM2UoUrmBS10IZmUwGHqR5
+I6soUyBqapAYoQmL5fzqT+dhsnu7rXrUmF37Va5kX309N4Dp0D4/WJY7FeF9Q9to2i+G7HPA+gEY
+/ptYxlTk89l5MBIY1czZvz7Fso5NHCEMW1468mD/NtJIWBDS8x1yHQIDAQABAoIBAHY2ur//b4p6
+rP9s+etxwhqQQCYm0O9eJyujjXtEikNz9ZP39LjAImLfJFWGLx9E1f0mHCifJIY02mEUUsLzofHi
+k2mq4ggt5PukfcnKLG3ebYTT1U1sCC56PFjNUecEAVEVA1s9TYDXeLyjd5FE/fXEZwROQ8q6rClo
+MWOwn+lJII9La8lLFIBxXNQbyt2nwO26iSzw51wBYsWDglV/T6qnB9JOcQ+uyn8/e4kQYuD52iV3
+Vx3QN+F+YPC7ebYOS8kVR/bFo+JDggNU4jZ+Zk31Sbepfb7p7IdYTjtrlQAd48tIxdvKFpFqy0mC
+GDmkVKBAXSc7DNqy3osvq1DdtbUCgYEA+IwsADb2iY6QPt7KNl0edJRSjDmeR8wSV7QIJYm0mxTB
+tVUZn+cpdeDsK5RkJYzDNKy3gjXhsp3B9Ogsu1aO2KVuv2ffk4wUF6nFLASQifMebUvMtqZM3g3N
+/yhMh7jGqfEu3tCmRSztCm0K3AodTtxacyRZKlKM4iAe0tbIO9cCgYEAwpypzFQvX83a2X+SU9rz
+rb7S10U2sZz3YwCHTRr2BCS8EaFA5xuEZBDmGR8OegUMfmQweD57JboQKB95KpuojGUpVBt6XoFv
+SaVLg7Ehskp71XZAgG6D9AHV1mm7hGkGoqj9zdlScc+nEZw57UEPzp/hXTTtc9hapOvOH1l7IysC
+gYB7CRh2+r5MFdB97td21d3Po+TBGXyq2fByjeJCgspuwnWph/jpWQsDGVaPtCNnGyk+mAk3YejZ
+/JIY5B3QluabhDkwcwEQDxWbKSU7xv6t6zWysQUjnWsLuRWyK4bG4McnNQcYsXy9XaHxuUzY5ADi
+Gt6DhQjGlJq9DV10zXHNfQKBgQCsVbUbZxVInm+FmS3IKiUNn+TvkrAbWqfLuOUXx59CDhGo/wYN
+YdW8Eybf6huUvDHTHv+5C4Nb5kd2cGCI9aytHswZWffkBnS5X7HeXZY8Xy8H2Z7G3JbnFlT5eUn/
+uE2S71lJ13/lnwAQXSsCyVGpJPWZ50u7AUVLtDEkm8WqXwKBgQDh0X21ufkWeparJ4GxWjodxnYK
+i1mtzghE3FjhcrrKBKJ3Sm5ZUYPVbOe97071zB+u2S0a83/tHP9Sr5KuS1sHiN++IB2FVo7UMBMC
+1Ktg+yK9MoERr1xzNrqeR59U5uvRBypd8MSzxuk4LjePYFYeyFaz8GOusCw/ZPU4R83zWA==
+-----END RSA PRIVATE KEY-----
\ No newline at end of file
Property changes on: SwiftTutorials/ATPESC_2013-08-06/cloud/tutorial.pem
___________________________________________________________________
Added: svn:executable
+ *
More information about the Swift-commit
mailing list