Running BES++ with Platform LSF
June 11th, 2010 • Comments Off on Running BES++ with Platform LSFPrerequisite is an installed LSF cluster and a gsoap 2.7.10 installation (make sure that it is exact this version – newer version won’t work). Now check-out the BES++ sources:
svn co https://bespp.svn.sourceforge.net/svnroot/bespp bespp
Now edit the Make.config file and adjust the path to your gsoap installation. The attribute is called GSOAP_TOP and can be found in the first lines of the file. You might need to adjust the LSF_LOC and LSF_ARCH attribute as well – based on the system you use. Now simple run make and the two executable besclient and besserver will be created.
While you might up ending using SSL you need to create a simple CA (or go to http://cacert.org):
mkdir cert /usr/lib/ssl/misc/CA.pl -newca # will initialize the CA [...] /usr/lib/ssl/misc/CA.pl -newreq # will create a cert request /usr/lib/ssl/misc/CA.pl -sign # sign the request cat newcert.pem newkey.pem > server.pem# create server pem mkdir server/ && mv new* server/ # cleanup a bit ln -s server.pem `openssl x509 -noout -hash -in server.pem`.0 ./besserver -u <username> -h localhost -p 8443 -s <path>/cert/server.pem -c <path>/cert/ -g <username> -r lsf # run the besserver
Now to submit a simple job/activity with the besclient:
/usr/lib/ssl/misc/CA.pl -newreq # will create a cert request /usr/lib/ssl/misc/CA.pl -sign # sign the request cat newcert.pem newkey.pem > user.pem mkdir user1 && mv new* user1/ besclient -x user.pem -e endpoint.xml create sleep.jsdl # runs the client
The enpoint.xml files looks like:
<?xml version="1.0" encoding="UTF-8"?> <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:Address>https://localhost:8443</wsa:Address> </wsa:EndpointReference>
The sample sleep.jsdl file looks like:
<?xml version="1.0" encoding="UTF-8"?> <JobDefinition xmlns="http://schemas.ggf.org/jsdl/2005/11/jsdl"> <JobDescription> <JobIdentification> <JobName>Sleep</JobName> </JobIdentification> <Application> <HPCProfileApplication xmlns="http://schemas.ggf.org/jsdl/2006/07/jsdl-hpcpa"> <Executable>sleep</Executable> <Argument>60</Argument> <Output>/dev/null</Output> <WorkingDirectory>/tmp</WorkingDirectory> </HPCProfileApplication> </Application> <Resources> <TotalCPUCount> <Exact>1</Exact> </TotalCPUCount> </Resources> </JobDescription> </JobDefinition>
Note: it might be necessary to add your CA to the /usr/lib/ssl/ directory as symbolic link…