From: Jacob D. <jac...@gm...> - 2014-04-17 18:17:10
|
I'm interested in developing some opal services and so am trying to set up a "toy" opal server on my local computer. I'm having trouble accessing and downloading the results. Here are the steps I've followed (probably more detail than you need!): 1) Downloaded tomcat 8.0.5, got it working. 2) Downloaded opal 2.5. 3) Edited $OPAL_HOME/etc/opal.properties. Uncommented the "working.dir=opal-jobs" line, otherwise left the file the same. 4) Made no changes to $OPAL_HOME/etc/opal.xml 5) Ran the following commands: cp $OPAL_HOME/etc/opal.xml $CATALINA_HOME/conf/Catalina/localhost/ cd $CATALINA_HOME/webapps mkdir /scratch/opal-jobs ln -s /scratch/opal-jobs opal-jobs 6) Edited $OPAL_HOME/build.properties. Changed line: catalina.home = /scratch/Programs/apache-tomcat-8.0.5 7) From the opal-ws-2.5 directory, ran: ant install (BUILD SUCCESSFUL) 8) Added this line to my .bashrc: export JAVA_OPTS="-Djava.awt.headless=true" 9) Started tomcat and visited localhost:8080/opal2/happyaxis.jsp: ===================== Needed Components Found SAAJ API ( javax.xml.soap.SOAPMessage ) at an unknown location Found JAX-RPC API ( javax.xml.rpc.Service ) at /scratch/Programs/apache-tomcat-8.0.5/webapps/opal2/WEB-INF/lib/jaxrpc.jar Found Apache-Axis ( org.apache.axis.transport.http.AxisServlet ) at /scratch/Programs/apache-tomcat-8.0.5/webapps/opal2/WEB-INF/lib/axis.jar Found Jakarta-Commons Discovery ( org.apache.commons.discovery.Resource ) at /scratch/Programs/apache-tomcat-8.0.5/webapps/opal2/WEB-INF/lib/commons-discovery-0.2.jar Found Jakarta-Commons Logging ( org.apache.commons.logging.Log ) at /scratch/Programs/apache-tomcat-8.0.5/webapps/opal2/WEB-INF/lib/commons-logging-1.0.4.jar Found Log4j ( org.apache.log4j.Layout ) at /scratch/Programs/apache-tomcat-8.0.5/lib/log4j-1.2.15.jar Found IBM's WSDL4Java ( com.ibm.wsdl.factory.WSDLFactoryImpl ) at /scratch/Programs/apache-tomcat-8.0.5/webapps/opal2/WEB-INF/lib/wsdl4j-1.5.1.jar Found JAXP implementation ( javax.xml.parsers.SAXParserFactory ) at an unknown location Found Activation API ( javax.activation.DataHandler ) at an unknown location ===================== 10) Copied the following toy opal XML file I made to $CATALINA_HOME/deploy: <appConfig xmlns="http://nbcr.sdsc.edu/opal/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <metadata appName="parrot"> <usage>Here's some usage</usage> <info>Some info, dude.</info> <types> <untaggedParams> <param> <id>text</id> <paramType>STRING</paramType> <ioType>INPUT</ioType> <textDesc>Here's what will be parroted.</textDesc> </param> </untaggedParams> </types> </metadata> <binaryLocation>/bin/echo</binaryLocation> <defaultArgs></defaultArgs> <jobManagerFQCN>edu.sdsc.nbcr.opal.manager.ForkJobManager</jobManagerFQCN> <parallel>false</parallel> </appConfig> 11) The new service didn't appear at http://10.0.0.9:8080/opal2/dashboard?command=serviceList. I noticed that tomcat kept creating a directory at $CATALINA_HOME/deploy/deploy/. I moved my xml file there, and it did show up in the opal dashboard. 12) To test the new opal app, I filled out the web form at http://localhost:8080/opal2/CreateSubmissionForm.do?serviceURL=http://localhost:8080/opal2/services%2Ftestit 13) Got an execution complete message and clicked on the URL: http://localhost:8080/opal-jobs/apptestit1397756530532282548322 14) Clicking there gives the following error message: ===================== HTTP Status 404 - /opal-jobs/apptestit1397756530532282548322/ type Status report message /opal-jobs/apptestit1397756530532282548322/ description The requested resource is not available. Apache Tomcat/8.0.5 ===================== 15) Investigated further, discover that my job was correcty saved to $CATALINA_HOME/webapps/opal-jobs/apptestit1397756530532282548322 16) Discovered that the address http://localhost:8080/opal-jobs/apptestit1397756762073676906347/stdout.txtdoes in fact contain my output. 17) To see if this is just a web-interface problem, tried to access the opal service programatically using your python client. It didn't download the requested files. The url provided gave the same error when visited: http://localhost:8080/opal-jobs/apptestit1397757356922-550301932/. But http://localhost:8080/opal-jobs/apptestit1397757356922-550301932/stdout.txtdid contain the results submitted programatically. Note that I do not have this problem when I submit opal jobs programatically to services deployed at nbcr-222.ucsd.edu. So the problem seems to be with access, not with actually launching the job. Can you tell me how best to fix this so I can begin developing and testing my own Opal services locally? Thanks for your help. |