From: Luca C. <luc...@gm...> - 2014-04-17 21:55:14
|
On Thu, Apr 17, 2014 at 11:16 AM, Jacob Durrant <jac...@gm...> wrote: > 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 > We don't support tomcat 8 :-( I have never tested it. Maybe it will work... I did test both tomcat 6 and tomcat 7 series. See the prerequisite: http://nbcr.ucsd.edu/data/docs/opal/docs/2.X/serverprerequisites.html > 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. That's awkward..... That should be the value you have in your $OAPL_HOME/etc/opal.properties at the property called opal.deploy.path. I would recommend to put there an absolute path if you can. PS: if you change that file remeber to re-run the "ant install". > 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.txt > does 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.txt > did 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? Sorry my bad. :-( You have to turn on the directory listing. Check out in the documentation the bullet number 7: http://nbcr.ucsd.edu/data/docs/opal/docs/2.X/serverinstall.html It says "If you are using Tomcat 5.5.X" which is not true. You have to turn it on with tomcat 6 and tomcat 7 as well, I will fix it. Thanks for reporting it. Let me know if you have any other problem, Luca |