[Swift-user] Is there a way to set env variables in swift

Lorenzo Pesce lpesce at uchicago.edu
Wed Aug 31 10:57:43 CDT 2011


Sometimes one had to ask stupid questions, so I will go ahead and do it. 

This is the script

// file to run the Margic square example from the matlab web site
type file;

string MCRPath = "/soft/mcr/v714";

app (file outdata) magicsq (string mcr, int size)
{
  runMagicSquare mcr size stdout=@outdata;
}

int matsize[] = [0:23];

file MagicSquares[] <simple_mapper; prefix="magicmat.",suffix=".dat">;

foreach s, i in matsize {
  MagicSquares[i] = magicsq (MCRPath, s);
}


this is tc

# sitename  transformation path
pbs   echo           /bin/echo
pbs   cat            /bin/cat
pbs   ls             /bin/ls
pbs   grep           /bin/grep
pbs   sort           /bin/sort
pbs   paste          /bin/paste
pbs   cp             /bin/cp
pbs   touch          /bin/touch
pbs   wc             /usr/bin/wc

# custom entries
pbs   convert        /home/ketan/ImageMagick-install/bin/convert
pbs   script1        /lustre/beagle/ketan/beagle-swift-training-examples/script1.sh
pbs   script2        /lustre/beagle/ketan/beagle-swift-training-examples/script2.sh
pbs   annotate       /lustre/beagle/ketan/beagle-swift-training-examples/annotate.sh
pbs   runMagicSquare /home/lpesce/matlab/bin/run_magicsquare.sh INSTALLED  AMD64  ENV::TMP="/lustre/beagle/lpesce/tmp"


this is the call:

swift -config cf -sites.file sites.xml -tc.file tc script.swift

This is what I get:

....
011-08-31 15:49:25,816+0000 INFO  vdl:execute The application "runMagicSquare" is not available in your tc.data catalog
 Caused by: org.globus.cog.karajan.scheduler.NoSuchResourceException
2011-08-31 15:49:25,825+0000 DEBUG magicsq PROCEDURE_END line=6
....

What am I doing stupidly here?

Thanks!





On Aug 30, 2011, at 4:22 PM, Michael Wilde wrote:

> Lorenzo,
> 
> You can set env vars for an application in the tc.data file. Use the "env namespace profile" as described at:
> 
> http://www.ci.uchicago.edu/swift/guides/trunk/userguide/userguide.html#_env_namespace
> 
> Like this:
> 
> beagle myapp /home/joe/bin/myapp  INSTALLED       INTEL32::LINUX  ENV::TMP="/lustre/beagle/joe/tmp"
> 
> If you need "joe" substituted into the "TMP" env var in the tc file dynamically (as with your example below), you need to do that with your own wrapper script on the client host (before you run the swift command).
> 
> Alternatively, if you are running locally on Beagle, there may also be an option you can specify in your sites file that will get passed down to the PBS qsub command, to pass the environment vars of the submitting job down to the submitted job, in which case you dont need the ENV::TMP profile in your tc.data file.  David or Justin may be able to clarify whats possible there. (And this should go into the new 0.93 Site Configuration Guide).
> 
> - Mike
> 
> ----- Original Message -----
>> From: "Lorenzo Pesce" <lpesce at uchicago.edu>
>> To: swift-user at ci.uchicago.edu
>> Sent: Tuesday, August 30, 2011 2:59:57 PM
>> Subject: [Swift-user] Is there a way to set env variables in swift
>> Specifically something like
>> 
>> export TMP=/lustre/beagle/`whoami`/tmp
>> 
>> Thanks
>> 
>> Lorenzo
>> _______________________________________________
>> Swift-user mailing list
>> Swift-user at ci.uchicago.edu
>> https://lists.ci.uchicago.edu/cgi-bin/mailman/listinfo/swift-user
> 
> -- 
> Michael Wilde
> Computation Institute, University of Chicago
> Mathematics and Computer Science Division
> Argonne National Laboratory
> 




More information about the Swift-user mailing list