[Swift-devel] a note on running coasters on osg's RENCI Engage site
Ben Clifford
benc at hawaga.org.uk
Mon Jan 26 10:10:05 CST 2009
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