- Copy my own maven tar ball over to the NMI machine. For some reason, using the OGCE's bundled maven caused problems
Monday, April 7, 2008
NMI Testing notes
Here are a list of things I had to do to get the OGCE build running on NMI:
Friday, March 28, 2008
NMI checking java pre-reqs for various platforms
If you want to check which version of java a given platform provides, use the following command:
nmi_list_prereqs --platform= java
Here's a handy PERL script that goes through a whole list of platforms and tells you if they support a specific java version. You can easily modify it to just display the platform version.
#!/usr/bin/perl
# Author: Rishi Verma
# PURPOSE:
# This script goes through a list of platforms, checks whether each platform suppports
# a specific version of JDK, and prints the result (yes, no) onto the screen.
$jdk_version = "java-1.5.0_08";
$counter = 1;
# array for all non-mac platforms
@non_mac_platforms = ("x86_64_fc_4", "x86_64_fc_5", "x86_64_rhap_5", "x86_64_rhas_3", "x86_64_rhas_4", "x86_64_sles_8", "x86_cent_4.2", "x86_deb_3.1", "x86_deb_4.0", "x86_fc_2", "x86_fc_3", "x86_fc_4", "x86_fc_5", "x86_rh_7.2", "x86_rh_8.0", "x86_rh_9", "x86_rhap_5", "x86_rhas_3", "x86_rhas_4", "x86_slc_3", "x86_sles_8", "x86_sles_9", "x86_slf_3", "x86_suse_10.0", "x86_suse_10.2", "x86_ubuntu_5.10");
# go through each platform, check if jdk_version exists for it, and print yes or no
foreach(@non_mac_platforms)
{
$output = `nmi_list_prereqs --platform=$_ java`;
if ($output =~ /$jdk_version/)
{ print "$counter) Platform: $_ supports $jdk_version ? => YES\n"; }
else
{ print "$counter) Platform: $_ supports $jdk_version ? => NO\n"; }
$counter++;
}
nmi_list_prereqs --platform=
Here's a handy PERL script that goes through a whole list of platforms and tells you if they support a specific java version. You can easily modify it to just display the platform version.
#!/usr/bin/perl
# Author: Rishi Verma
# PURPOSE:
# This script goes through a list of platforms, checks whether each platform suppports
# a specific version of JDK, and prints the result (yes, no) onto the screen.
$jdk_version = "java-1.5.0_08";
$counter = 1;
# array for all non-mac platforms
@non_mac_platforms = ("x86_64_fc_4", "x86_64_fc_5", "x86_64_rhap_5", "x86_64_rhas_3", "x86_64_rhas_4", "x86_64_sles_8", "x86_cent_4.2", "x86_deb_3.1", "x86_deb_4.0", "x86_fc_2", "x86_fc_3", "x86_fc_4", "x86_fc_5", "x86_rh_7.2", "x86_rh_8.0", "x86_rh_9", "x86_rhap_5", "x86_rhas_3", "x86_rhas_4", "x86_slc_3", "x86_sles_8", "x86_sles_9", "x86_slf_3", "x86_suse_10.0", "x86_suse_10.2", "x86_ubuntu_5.10");
# go through each platform, check if jdk_version exists for it, and print yes or no
foreach(@non_mac_platforms)
{
$output = `nmi_list_prereqs --platform=$_ java`;
if ($output =~ /$jdk_version/)
{ print "$counter) Platform: $_ supports $jdk_version ? => YES\n"; }
else
{ print "$counter) Platform: $_ supports $jdk_version ? => NO\n"; }
$counter++;
}
Wednesday, March 26, 2008
XBaya load problem
XBaya doesn't seem to launch properly coming straight out of the box (as part of OGCE).
PROBLEM:
I keep getting the following:
An error occurred while launching/running the application.
Category: Launch File Error
The fieldcodebase has an invalid value: @HOST_BASE_URL@/xbaya/
I tried changing the value of "@HOST_BASE_URL@" to "${host.base.url}" in xbaya.jsp and xbaya.jnlp (in portlets/xbaya/src/main/webapp), but this yields pretty much the same problem.
SOLUTION:
In tomcat/webapps/xbaya/ open up xbaya-final.jsp and xbaya.jnlp, change "@HOST_BASE_URL@" to "http://localhost:8080".
PROBLEM:
I keep getting the following:
An error occurred while launching/running the application.
Category: Launch File Error
The field
SOLUTION:
In tomcat/webapps/xbaya/ open up xbaya-final.jsp and xbaya.jnlp, change "@HOST_BASE_URL@" to "http://localhost:8080".
Friday, February 29, 2008
Proxymanager GFAC credential problem
To try and resolve the proxy credential mismatch between proxy-manager portlet and gfac, I tried just manually deleting the following two jars from gfac deployment directory:
xsul.XsulException: The credential is not a Globus credential. at xsul.invoker.gsi.GsiInvoker.createPuretlsContext(GsiInvoker.java:51) at xsul.invoker.gsi.GsiInvoker.(GsiInvoker.java:43) at xregistry.utils.Utils.createWSIFClient(Utils.java:151) at xregistry.client.DocumentRegistryClient.(DocumentRegistryClient.java:82) at edu.indiana.extreme.gfac.external.impl.XregistryServiceWrapper.(XregistryServiceWrapper.java:49) at edu.indiana.extreme.gfac.external.ExternalServiceFactory.createRegistryService(ExternalServiceFactory.java:30) at edu.indiana.extreme.gfac.util.ui.GlobalContext.init(GlobalContext.java:117) at org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:251) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) at org.gridlab.gridsphere.portlet.jsrimpl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:57) at edu.indiana.extreme.gfac.util.ui.ServiceMapGeneratorPortlet.doView(ServiceMapGeneratorPortlet.java:200) at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201) at javax.portlet.GenericPortlet.render(GenericPortlet.java:140) at org.gridlab.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:387) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) at org.gridlab.gridsphere.portletcontainer.impl.SportletDispatcher.include(SportletDispatcher.java:299) at org.gridlab.gridsphere.portletcontainer.impl.SportletDispatcher.service(SportletDispatcher.java:162) at org.gridlab.gridsphere.portletcontainer.PortletInvoker.service(PortletInvoker.java:187) at org.gridlab.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:554) at org.gridlab.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:51) at org.gridlab.gridsphere.layout.PortletRowLayout.doRender(PortletRowLayout.java:37) at org.gridlab.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:193) at org.gridlab.gridsphere.layout.PortletTab.doRender(PortletTab.java:271) at org.gridlab.gridsphere.layout.PortletTabbedPane.doRender(PortletTabbedPane.java:330) at org.gridlab.gridsphere.layout.PortletTab.doRender(PortletTab.java:271) at org.gridlab.gridsphere.layout.PortletTabbedPane.doRender(PortletTabbedPane.java:330) at org.gridlab.gridsphere.layout.PortletPage.doRenderHTML(PortletPage.java:550) at org.gridlab.gridsphere.layout.PortletPage.doRender(PortletPage.java:453) at org.gridlab.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:106) at org.gridlab.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:270) at org.gridlab.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:138) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.gridlab.gridsphere.filters.GridSphereFilter.doFilter(GridSphereFilter.java:77) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.gridlab.gridsphere.filters.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:72) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595)
- cog-jglobus, version: 1.2-050621
- proxymanager-api, version: 4.3
xsul.XsulException: The credential is not a Globus credential. at xsul.invoker.gsi.GsiInvoker.createPuretlsContext(GsiInvoker.java:51) at xsul.invoker.gsi.GsiInvoker.(GsiInvoker.java:43) at xregistry.utils.Utils.createWSIFClient(Utils.java:151) at xregistry.client.DocumentRegistryClient.(DocumentRegistryClient.java:82) at edu.indiana.extreme.gfac.external.impl.XregistryServiceWrapper.(XregistryServiceWrapper.java:49) at edu.indiana.extreme.gfac.external.ExternalServiceFactory.createRegistryService(ExternalServiceFactory.java:30) at edu.indiana.extreme.gfac.util.ui.GlobalContext.init(GlobalContext.java:117) at org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:251) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) at org.gridlab.gridsphere.portlet.jsrimpl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:57) at edu.indiana.extreme.gfac.util.ui.ServiceMapGeneratorPortlet.doView(ServiceMapGeneratorPortlet.java:200) at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:201) at javax.portlet.GenericPortlet.render(GenericPortlet.java:140) at org.gridlab.gridsphere.provider.portlet.jsr.PortletServlet.service(PortletServlet.java:387) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) at org.gridlab.gridsphere.portletcontainer.impl.SportletDispatcher.include(SportletDispatcher.java:299) at org.gridlab.gridsphere.portletcontainer.impl.SportletDispatcher.service(SportletDispatcher.java:162) at org.gridlab.gridsphere.portletcontainer.PortletInvoker.service(PortletInvoker.java:187) at org.gridlab.gridsphere.layout.PortletFrame.doRender(PortletFrame.java:554) at org.gridlab.gridsphere.layout.PortletColumnLayout.doRender(PortletColumnLayout.java:51) at org.gridlab.gridsphere.layout.PortletRowLayout.doRender(PortletRowLayout.java:37) at org.gridlab.gridsphere.layout.PortletTableLayout.doRender(PortletTableLayout.java:193) at org.gridlab.gridsphere.layout.PortletTab.doRender(PortletTab.java:271) at org.gridlab.gridsphere.layout.PortletTabbedPane.doRender(PortletTabbedPane.java:330) at org.gridlab.gridsphere.layout.PortletTab.doRender(PortletTab.java:271) at org.gridlab.gridsphere.layout.PortletTabbedPane.doRender(PortletTabbedPane.java:330) at org.gridlab.gridsphere.layout.PortletPage.doRenderHTML(PortletPage.java:550) at org.gridlab.gridsphere.layout.PortletPage.doRender(PortletPage.java:453) at org.gridlab.gridsphere.layout.PortletLayoutEngine.service(PortletLayoutEngine.java:106) at org.gridlab.gridsphere.servlets.GridSphereServlet.processRequest(GridSphereServlet.java:270) at org.gridlab.gridsphere.servlets.GridSphereServlet.doGet(GridSphereServlet.java:138) at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.gridlab.gridsphere.filters.GridSphereFilter.doFilter(GridSphereFilter.java:77) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.gridlab.gridsphere.filters.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:72) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595)
MySQL won't start problem
Was trying to run MySQL, but came across a really annoying problem - it kept saying it couldn't find a "socket" file and thus wouldn't start.
eg.
> mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Here's how to fix it, just start the MySQL daemon again and all will work:
> /usr/local/mysql/bin/mysqld_safe &
eg.
> mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Here's how to fix it, just start the MySQL daemon again and all will work:
> /usr/local/mysql/bin/mysqld_safe &
Wednesday, February 20, 2008
Grid FTP / MDSS testing
Time has come to test the file-manager portlet once again. I'm using the same "MDSSLoadTesting.jmx" file as before, just with slightly bigger files this time.
I have downloaded the files, and just need to run the test within JMeter. I need to add three accounts however to the OGCE portal: ogceUSER1, ogceUSER2, ogceUSER3.
I have downloaded the files, and just need to run the test within JMeter. I need to add three accounts however to the OGCE portal: ogceUSER1, ogceUSER2, ogceUSER3.
Find out if something is running on port 8080
For my remote NMI builds, there is a problem I am facing that the portal I am building won't start on port 8080 because it is "being used by" something else.
Here's a test you can perform automatically to verify if the port is indeed being blocked, and by what (use the "lsof" command). By the way this doesn't actually help me any for my NMI builds since the NMI machines don't have the "lsof" command.
echo -------- IS THE TOMCAT PORTAL ALREADY RUNNING, OR IS PORT 8080 BEING USED? ---------
# COMMAND TO FIND OUT WHAT IS RUNNING ON PORT 8080
lsof -i :8080
if test $? -ne 0; then
echo " => PORT 8080 IS FREE, NO PROBLEMO"
else
echo " => PORT 8080 IS BLOCKED, TRY SHUTTING DOWN TOMCAT SERVER"
portal_deploy/apache-tomcat-5.5.12/bin/shutdown.sh
fi
echo ------------------------------------------------------------------------------------
Here's a test you can perform automatically to verify if the port is indeed being blocked, and by what (use the "lsof" command). By the way this doesn't actually help me any for my NMI builds since the NMI machines don't have the "lsof" command.
echo -------- IS THE TOMCAT PORTAL ALREADY RUNNING, OR IS PORT 8080 BEING USED? ---------
# COMMAND TO FIND OUT WHAT IS RUNNING ON PORT 8080
lsof -i :8080
if test $? -ne 0; then
echo " => PORT 8080 IS FREE, NO PROBLEMO"
else
echo " => PORT 8080 IS BLOCKED, TRY SHUTTING DOWN TOMCAT SERVER"
portal_deploy/apache-tomcat-5.5.12/bin/shutdown.sh
fi
echo ------------------------------------------------------------------------------------
Friday, January 18, 2008
OGCE Local build/run tests almost done
The build and JMeter run tests for the OGCE portal are almost done. I've got a script finished that builds the portal from scratch, runs the JMeter tests, and sends all the result files to SVN.
Things to do:
Things to do:
- Try somehow to show the HTTP response errors for the JMeter modules that failed
- Maybe give a URL link to the errors within the XML document?
- Highlight the tests that failed within the XML document (via XSL stylesheets!)
Adding XSL stylesheet info line on second line of XML document
Solution for #1:
Clip the ?xml...? first line from the XML document, and copy the rest of the XML file into a temporary file. Then insert XSL tag-sheet info as well as the XML document header (which you clipped) into the original file (overwrite the file). Finally, append the temp file's contents to the original file and voila! You've inserted the XML stylesheet info on the 2nd line of your file!
num_of_lines=`cat OGCEJMeterResults.xml | wc -l`
tail -n $[$num_of_lines - 1] OGCEJMeterResults.xml > OGCEJMeterResults-temp.xml
echo (THE XML AND XSL HEAD TAGS HERE) > OGCEJMeterResults.xml
cat OGCEJMeterResults-temp.xml >> OGCEJMeterResults.xml
rm OGCEJMeterResults-temp.xml
Clip the ?xml...? first line from the XML document, and copy the rest of the XML file into a temporary file. Then insert XSL tag-sheet info as well as the XML document header (which you clipped) into the original file (overwrite the file). Finally, append the temp file's contents to the original file and voila! You've inserted the XML stylesheet info on the 2nd line of your file!
num_of_lines=`cat OGCEJMeterResults.xml | wc -l`
tail -n $[$num_of_lines - 1] OGCEJMeterResults.xml > OGCEJMeterResults-temp.xml
echo (THE XML AND XSL HEAD TAGS HERE) > OGCEJMeterResults.xml
cat OGCEJMeterResults-temp.xml >> OGCEJMeterResults.xml
rm OGCEJMeterResults-temp.xml
Wednesday, January 16, 2008
Local OGCE build/run test
I'm setting up a local (non-NMI) build and run test of the OGCE framework.
Steps completed:
1) Script made that:
- svn checks out portal
- does a clean build on portal (maven, tomcat bundled)
- starts up portal on tomcat server
- runs JMeter test file against portal and stores results of test in XML file
2) XSLT Style sheet made that converts JMeter resultant XML output file into readable HTML
Things to do:
1) Auto insert XSL tag into the JMeter resultant XML output file (tag specifying the XSL stylesheet must but at the top of XML file to have it display properly):
2) Send the XML test results file and stylesheet to soureforge account
3) Store build text output in a file, and send to soureforge account
Steps completed:
1) Script made that:
- svn checks out portal
- does a clean build on portal (maven, tomcat bundled)
- starts up portal on tomcat server
- runs JMeter test file against portal and stores results of test in XML file
2) XSLT Style sheet made that converts JMeter resultant XML output file into readable HTML
Things to do:
1) Auto insert XSL tag into the JMeter resultant XML output file (tag specifying the XSL stylesheet must but at the top of XML file to have it display properly):
2) Send the XML test results file and stylesheet to soureforge account
3) Store build text output in a file, and send to soureforge account
Subscribe to:
Posts (Atom)