OGCE components use Maven2 for build and Archiva for repository management. For legacy reasons some dependencies are exist in extreme lab maven repository. To upgrade these components and release a version and deploy a jar file to extreme lab maven 2 repository, add the following distributionManagement tag to the pom.xml.
<distributionmanagement>
<repository>
<uniqueversion>false</uniqueversion>
<id>xRepo</id>
<name>Extreme Lab Repository</name>
<url>scp://mneme.extreme.indiana.edu/l/extreme/java/repository</url>
<layout>default</layout>
</repository>
</distributionmanagement>
mvn deploy will deploy the generated jar files to the repository but will prompt to enter the password and will also assume local account name. To avoid password prompt and to specify a different user name the following settings.xml can be placed in the $HOME/.m2 directory. For security reasons, never include the settings.xml in any of the packages, this file should be protected by file system security and is strongly advised to set the file permissions to 600.
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xsi="http://www.w3.org/2001/XMLSchema-instance" schemalocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>xRepo</id>
<username>smarru</username>
<privatekey>${user.home}/.ssh/id_dsa</privatekey> <!-- if ssh keys are not available the password can be set as <password>my_password</password> -->
<passphrase>some_passphrase</passphrase>
<filepermissions>664</filepermissions>
<directorypermissions>775</directorypermissions>
<configuration></configuration>
</server>
</servers>
</settings>
Saturday, March 27, 2010
Friday, March 26, 2010
Gadget Container Theme Customization
The OGCE gadget container has been updated to simplify theme customization. See http://www.collab-ogce.org/ogce/index.php/OGCE_Gadget_Container_Theme_Customization for more information.
Wednesday, March 17, 2010
OGCE Messaging Service Released
We are pleased to announce the release of our Axis 2 based Messaging Service. This is a standalone publish/subscribe service that is also being integrated into the OGCE workflow suite.
For more information and download instructions, see http://www.collab-ogce.org/ogce/index.php/Messaging.
For more information and download instructions, see http://www.collab-ogce.org/ogce/index.php/Messaging.
Thursday, March 11, 2010
OGCE Simple Monitoring Script
A simple perl based service monitoring script is available to check out from sourceforge svn at Service Monitoring Dashboard. This is a cleaned up version of the LEAD SOA Status Page authored by Suresh Marru and Marcus Christie.
The perl script periodically pings the registered services and if a service is done, sends an emails to the registered contacts. The scripts also writes our a html page with the following color convention:
Gateways can checkout the script and deploy and maintain on their own servers. To add a service to the script, use the following template:
push (@services, {
$NAME => "OGCE Gateway Portal",
$ID => "OGCEPortal",
$URL => "https://ogceportal.iu.teragrid.org:8443/gridsphere/gridsphere",
$CONTACTS => [admin@gateway.org],
$GATEWAYS_R_US => $OGCE
});
The GATEWAYS_R_US is a variable to categorize the services. For instance, to generate a separate listing of OGCE Hosted Services and a list of Gateway Services. The perl script is commented to explain these terminologies. The documentation is very naive but will be enhanced more.
Questions or comments, email smarru at cs.indiana.edu
The perl script periodically pings the registered services and if a service is done, sends an emails to the registered contacts. The scripts also writes our a html page with the following color convention:
- Green - Service is up
- Red - Service is down
- Yellow - Request timed out (i.e., took longer than the default 20 seconds)
Gateways can checkout the script and deploy and maintain on their own servers. To add a service to the script, use the following template:
push (@services, {
$NAME => "OGCE Gateway Portal",
$ID => "OGCEPortal",
$URL => "https://ogceportal.iu.teragrid.org:8443/gridsphere/gridsphere",
$CONTACTS => [admin@gateway.org],
$GATEWAYS_R_US => $OGCE
});
The GATEWAYS_R_US is a variable to categorize the services. For instance, to generate a separate listing of OGCE Hosted Services and a list of Gateway Services. The perl script is commented to explain these terminologies. The documentation is very naive but will be enhanced more.
Questions or comments, email smarru at cs.indiana.edu
Overview of OGCE Science Gateway Support
The slideshow below was presented at the Indiana University Pervasive Technology Institute and focuses on IU OGCE activities. For fuller overviews, see for example http://www.collab-ogce.org/ogce/index.php/Tutorials
OGCE's Advanced Science Gateway Support
OGCE's Advanced Science Gateway Support
View more presentations from marpierc.
Wednesday, March 10, 2010
Analytics Reports for OGCE Web Site
Images below are from our Google Analytics traffic tracking from March 1, 2009-March 1, 2010. The first shows overall site traffic. The second shows global traffic sources. Click the image to see a larger version.
Download Java Server Faces Components for Amazon Cloud Services
We have Amazon EC2 user interface components built with Java Server Faces available for download or SVN checkout.
The tar.gz version is available from http://ogce.svn.sourceforge.net/viewvc/ogce/ogce-amazon-gadgets/awsGadget.tar.gz?view=tar.
To check the code out from SVN, use the command
svn checkout https://ogce.svn.sourceforge.net/svnroot/ogce/ogce-amazon-gadgets/awsGadget
This will create a directory $HOME/awsGadget. To build the gadgets, use the command
mvn clean install -Dcatalina.home=/path/to/your/tomcat
For example, if you download (separately) Apache Tomcat 6.0.18 and put it in your awsGadget directory, you would run the command
mvn clean install -Dcatalina.home=./apache-tomcat-6.0.18/
Start your tomcat server and point your browser to http://localhost:8080/AWSGadget/index.jsp.
Note the login page requires your Amazon secret key, so you will need to run this over HTTPS. This code is provided as is under our usual SourceForge license.
Monday, March 01, 2010
OGCE Jira URL
We are opening up our Jira project and bug tracking system for anonymous viewing. The URL is http://grids.ucs.indiana.edu:8080/jira.
Using GFac to wrap an application as a service
Launching applications on Super Computers and managing the application during its lifetime and its output after it ends are challenging tasks. GFac aims at being able to provide simple GUI tools that can help launch and manage the application on remote supercomputers.
This post aims at serving as a quickstart to configuring a XSul based GFac persistent service.
The first step is to install GFac and XRegistry components. Good documentation to do this can be found on the OGCE web pages.
After the installation is complete set the GFAC_HOME environment variable to point to the GFac's target/dist-bin folder:
export GFAC_HOME=/Users/archit/ogce/ogce-xsul-services-1.0-RC1/sgfac/target/dist-bin
Now create a folder to house the configuration files that will be used by our service.
cd ogce-xsul-services-1.0-RC1/sgfac
mkdir helloworld
cd helloworld
Now use your favorite editor to create the three XML configuration files needed by GFac to start the persistent service namely the App description document, the host description document and service description document.
Application Description File helloworldapp.xml:
<ApplicationDescription xmlns="http://www.extreme.indiana.edu/namespaces/2004/01/gFac" xmlns:lead="http://www.extreme.indiana.edu/lead">
<applicationName
targetNamespace="http://www.extreme.indiana.edu/lead">HelloWorldApp</applicationName>
<jobType>single</jobType>
<project> <projectName>TG-XXXXXXXXXX</projectName>
<projectDescription>
TG staff
</projectDescription>
</project>
<queue>
<queueName>SERIAL</queueName>
<queueDescription>
BigRed queue
</queueDescription>
</queue>
<maxWallTime>30</maxWallTime>
<count>1</count>
<rslparm name="project">TG-XXXXXXXXXX</rslparm>
<rslparm name="queue">SERIAL</rslparm>
<deploymentDescription>
<hostName>
bigred.iu.teragrid.org
</hostName>
<executable>/N/u/tg-archi/BigRed/helloworld</executable>
<workdir>
/N/u/tg-archi/BigRed/gfactmp
</workdir>
<!-- Tmp directory for this application.
if not specified, the tmp directory of the host will be used-->
<tmpDir>
/N/u/tg-archi/BigRed/gfactmp
</tmpDir>
<applicationEnv>
<name>FIRST_NAME</name>
<value>Archit
</value>
</applicationEnv>
</deploymentDescription>
</ApplicationDescription>
ServiceDescription file: helloworldsvc.xml
<ServiceMap xmlns="http://www.extreme.indiana.edu/namespaces/2004/01/gFac"
xmlns:lead="http://www.extreme.indiana.edu/lead">
<service>
<serviceName targetNamespace="http://www.extreme.indiana.edu/lead">HelloWorldService</serviceName>
</service>
<lifeTime>
<notAfterInactiveMinutes>-1</notAfterInactiveMinutes>
</lifeTime>
<portType>
<method stageOutputDataFiles="true" forceFileStagingToWorkDir="true">
<methodName>Run</methodName>
<application paramValuesOnly="true" useLEADNameListFile="true">
<applicationName targetNamespace="http://www.extreme.indiana.edu/lead">HelloWorldApp</applicationName>
</application>
<inputParameter>
<parameterName>lastname</parameterName>
<parameterType>String</parameterType>
</inputParameter>
<inputParameter>
<parameterName>inputfile</parameterName>
<parameterType>URI</parameterType>
</inputParameter>
<outputParameter>
<parameterName>friendCount</parameterName>
<parameterType>String</parameterType>
</outputParameter>
<outputParameter>
<parameterName>friendListFile</parameterName>
<parameterType>URI</parameterType>
</outputParameter>
</method>
</portType>
</ServiceMap>
Host Description File: bigred.xml
This post aims at serving as a quickstart to configuring a XSul based GFac persistent service.
The first step is to install GFac and XRegistry components. Good documentation to do this can be found on the OGCE web pages.
After the installation is complete set the GFAC_HOME environment variable to point to the GFac's target/dist-bin folder:
export GFAC_HOME=/Users/archit/ogce/ogce-xsul-services-1.0-RC1/sgfac/target/dist-bin
Now create a folder to house the configuration files that will be used by our service.
cd ogce-xsul-services-1.0-RC1/sgfac
mkdir helloworld
cd helloworld
Now use your favorite editor to create the three XML configuration files needed by GFac to start the persistent service namely the App description document, the host description document and service description document.
Application Description File helloworldapp.xml:
<ApplicationDescription xmlns="http://www.extreme.indiana.edu/namespaces/2004/01/gFac" xmlns:lead="http://www.extreme.indiana.edu/lead">
<applicationName
targetNamespace="http://www.extreme.indiana.edu/lead">HelloWorldApp</applicationName>
<jobType>single</jobType>
<project> <projectName>TG-XXXXXXXXXX</projectName>
<projectDescription>
TG staff
</projectDescription>
</project>
<queue>
<queueName>SERIAL</queueName>
<queueDescription>
BigRed queue
</queueDescription>
</queue>
<maxWallTime>30</maxWallTime>
<count>1</count>
<rslparm name="project">TG-XXXXXXXXXX</rslparm>
<rslparm name="queue">SERIAL</rslparm>
<deploymentDescription>
<hostName>
bigred.iu.teragrid.org
</hostName>
<executable>/N/u/tg-archi/BigRed/helloworld</executable>
<workdir>
/N/u/tg-archi/BigRed/gfactmp
</workdir>
<!-- Tmp directory for this application.
if not specified, the tmp directory of the host will be used-->
<tmpDir>
/N/u/tg-archi/BigRed/gfactmp
</tmpDir>
<applicationEnv>
<name>FIRST_NAME</name>
<value>Archit
</value>
</applicationEnv>
</deploymentDescription>
</ApplicationDescription>
ServiceDescription file: helloworldsvc.xml
<ServiceMap xmlns="http://www.extreme.indiana.edu/namespaces/2004/01/gFac"
xmlns:lead="http://www.extreme.indiana.edu/lead">
<service>
<serviceName targetNamespace="http://www.extreme.indiana.edu/lead">HelloWorldService</serviceName>
</service>
<lifeTime>
<notAfterInactiveMinutes>-1</notAfterInactiveMinutes>
</lifeTime>
<portType>
<method stageOutputDataFiles="true" forceFileStagingToWorkDir="true">
<methodName>Run</methodName>
<application paramValuesOnly="true" useLEADNameListFile="true">
<applicationName targetNamespace="http://www.extreme.indiana.edu/lead">HelloWorldApp</applicationName>
</application>
<inputParameter>
<parameterName>lastname</parameterName>
<parameterType>String</parameterType>
</inputParameter>
<inputParameter>
<parameterName>inputfile</parameterName>
<parameterType>URI</parameterType>
</inputParameter>
<outputParameter>
<parameterName>friendCount</parameterName>
<parameterType>String</parameterType>
</outputParameter>
<outputParameter>
<parameterName>friendListFile</parameterName>
<parameterType>URI</parameterType>
</outputParameter>
</method>
</portType>
</ServiceMap>
Host Description File: bigred.xml
<HostDescription xmlns="http://www.extreme.indiana.edu/namespaces/2004/01/gFac" xmlns:lead="http://www.extreme.indiana.edu/lead">
<documentInfo>
<documentName targetNamespace="http://www.extreme.indiana.edu/lead">BigRed</documentName>
</documentInfo>
<hostName>bigred.iu.teragrid.org</hostName>
<hostConfiguration>
<tmpDir>/N/u/tg-archi/BigRed/gfactmp</tmpDir>
<globusGatekeeper wsGram="true">
<endPointReference>
https://gatekeeper.bigred.iu.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
</endPointReference>
<jobmanagertype>Loadleveler</jobmanagertype>
</globusGatekeeper>
<gridFTP>
<endPointReference>gridftp.bigred.iu.teragrid.org:2811</endPointReference>
</gridFTP>
</hostConfiguration>
</HostDescription>
Create the service properties file:
Finally, create the GFac service property file: helloworld.properties. This will tell GFac where to get the service, application, and host description files you just made.
serviceMapFile = helloworld/helloworldsvc.xml
appDescFile = helloworld/helloworldapp.xml
hostDescFile = helloworld/bigred.xml
port = 12346
#Comment this to make Factory and Services starts up without https
#transportSecurity=true
#private key used by the GFac to connect to other services, and start https socket, if it is enabled
ssl.hostcertsKeyFile=/home/ogce/ogce-xsul-services-1.0-RC1/sgfac/target/dist-bin/conf/ogce_services_key.pem
ssl.trustedCertsFile=/home/ogce/ogce-xsul-services-1.0-RC1/sgfac/target/dist-bin/conf/trusted_cas.pem
registryURL=https://<yourip>:6666/xregistry?wsdl
#Ask Gfac to go to local mode, so it can work without credentails. Comment if you need a remote installation
installation=local
myproxyServer=myproxy.teragrid.org
myproxyUserName=XXXXX
myproxyLifetime=86400
myproxyPasswd=XXXXXX
#gfac.prefferedProvider=Local|Gram|WSGram|SSH|ResourceBroker
wsgramPrefered=true
Now with your JAVA_HOME and GFAC_HOME set start the persisitent HelloWorldService using the run.sh provided with GFac as foolows:
./run.sh helloworld/helloworld.properties
This will start the service on port 12345 and you are ready to submit HelloWorld jobs.
<documentInfo>
<documentName targetNamespace="http://www.extreme.indiana.edu/lead">BigRed</documentName>
</documentInfo>
<hostName>bigred.iu.teragrid.org</hostName>
<hostConfiguration>
<tmpDir>/N/u/tg-archi/BigRed/gfactmp</tmpDir>
<globusGatekeeper wsGram="true">
<endPointReference>
https://gatekeeper.bigred.iu.teragrid.org:8443/wsrf/services/ManagedJobFactoryService
</endPointReference>
<jobmanagertype>Loadleveler</jobmanagertype>
</globusGatekeeper>
<gridFTP>
<endPointReference>gridftp.bigred.iu.teragrid.org:2811</endPointReference>
</gridFTP>
</hostConfiguration>
</HostDescription>
Create the service properties file:
Finally, create the GFac service property file: helloworld.properties. This will tell GFac where to get the service, application, and host description files you just made.
serviceMapFile = helloworld/helloworldsvc.xml
appDescFile = helloworld/helloworldapp.xml
hostDescFile = helloworld/bigred.xml
port = 12346
#Comment this to make Factory and Services starts up without https
#transportSecurity=true
#private key used by the GFac to connect to other services, and start https socket, if it is enabled
ssl.hostcertsKeyFile=/home/ogce/ogce-xsul-services-1.0-RC1/sgfac/target/dist-bin/conf/ogce_services_key.pem
ssl.trustedCertsFile=/home/ogce/ogce-xsul-services-1.0-RC1/sgfac/target/dist-bin/conf/trusted_cas.pem
registryURL=https://<yourip>:6666/xregistry?wsdl
#Ask Gfac to go to local mode, so it can work without credentails. Comment if you need a remote installation
installation=local
myproxyServer=myproxy.teragrid.org
myproxyUserName=XXXXX
myproxyLifetime=86400
myproxyPasswd=XXXXXX
#gfac.prefferedProvider=Local|Gram|WSGram|SSH|ResourceBroker
wsgramPrefered=true
Now with your JAVA_HOME and GFAC_HOME set start the persisitent HelloWorldService using the run.sh provided with GFac as foolows:
./run.sh helloworld/helloworld.properties
This will start the service on port 12345 and you are ready to submit HelloWorld jobs.
Subscribe to:
Posts (Atom)