[Swift-devel] a note on running coasters on osg's RENCI Engage site

Mihael Hategan hategan at mcs.anl.gov
Mon Jan 26 10:26:40 CST 2009


I think a site attribute is the place where this should go. I can do
that or you can.

On Mon, 2009-01-26 at 16:10 +0000, Ben Clifford wrote:
> Coasters in the release don't work on RENCI Engage.
> 
> I fiddled with this a bit before, and just fiddled with it a bit more.
> 
> The external IP address of the cluster head node (152.54.1.231) is not 
> accessible from the cluster worker nodes, which sit on a different 
> network.
> 
> The headnode *is* accessible from its IP address on that network, 
> 192.168.1.11.
> 
> Forcing the URI passed to workers to use that IP address instead of the 
> automatically determined one is sufficient to make coasters work on the 
> RENCI Engage site.
> 
> The hack I made in my local install to test that is shown below for 
> interest.
> 
> I can't see an easy way to automatically determine what this address 
> should be in the general case. It might be useful to have a configuration 
> parameter to allow it to be specified.
> 
> --- 
> cog.orig/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java     
> 2008-11-04 17:28:42.000000000 +0000
> +++ 
> cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java  
> 2009-01-26 15:51:44.000000000 +0000
> @@ -14,6 +14,7 @@
>  import java.io.IOException;
>  import java.io.InputStream;
>  import java.net.URI;
> +import java.net.URISyntaxException;
>  import java.util.ArrayList;
>  import java.util.Arrays;
>  import java.util.Collection;
> @@ -234,7 +235,18 @@
>          JobSpecification js = new JobSpecificationImpl();
>          js.setExecutable("/usr/bin/perl");
>          js.addArgument(script.getAbsolutePath());
> -        js.addArgument(callbackURI.toString());
> +try {
> +        logger.warn("original callback URI is "+callbackURI.toString());
> +       URI internalcallbackURI=new URI(callbackURI.getScheme(),
> +          callbackURI.getUserInfo(),
> +                                   "192.168.1.11",
> +           callbackURI.getPort(), callbackURI.getPath(),
> +           callbackURI.getQuery(), callbackURI.getFragment());
> +        logger.warn("internal callback URI is 
> "+internalcallbackURI.toString());
> +        js.addArgument(internalcallbackURI.toString());
> +} catch(URISyntaxException use) { throw new RuntimeException(use); }
> +//        js.addArgument(callbackURI.toString());
> +
>          // js.addArgument(id);
>          return js;
>      }
> 
> 




More information about the Swift-devel mailing list