OGCE Building and Testing on NMI
-
Upload
heidi-farmer -
Category
Documents
-
view
19 -
download
4
description
Transcript of OGCE Building and Testing on NMI
OGCE Building and Testing on NMI
Slides by: Rishi Verma
Configuring OGCE for NMI
• Design of NMI tests:o Used three NMI build scripts representing 28
platformso Each script downloads OGCE portal via svno Scripts use Maven to build portal for each
platformo Following each build, scripts run Apache
JMeter runtime checks against each platform's recently built portal
Configuring OGCE for NMI
• Example NMI submit file script (Linux)project = OGCEcomponent = Trunk Buildcomponent_version = 1.0.0description = Automated test of OGCE build/runtime execution
run_type = build
inputs = ogcePortal.svn, buildOGCEPortal-nonmac.scp, OGCEJMeterTestFile.scp, OGCEJMeterResults.scp, jakarta-jmeter-2.scp, maven.scp
remote_task = buildOGCEPortal-nonmac.sh
remote_task_args = ""
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
prereqs = java-1.5.0_08
notify = [email protected]
remote_task_timeout = 120m
Configuring OGCE for NMI
• Example NMI submit file script (OSX on x86)project = OGCEcomponent = Trunk Buildcomponent_version = 1.0.0description = Automated test of OGCE build/runtime execution
run_type = build
inputs = ogcePortal.svn, buildOGCEPortal-mac-x86.scp, tarResultsOGCEPortal-mac-x86.scp, OGCEJMeterTestFile.scp, jakarta-jmeter-2.scp
remote_task = buildOGCEPortal-mac-x86.sh
remote_task_args = ""
platforms = x86_macos_10.4
prereqs = java-1.5.0_06
notify = [email protected]
remote_task_timeout = 120m
Configuring OGCE for NMI
• Example NMI submit file script (OSX on ppc)project = OGCEcomponent = Trunk Buildcomponent_version = 1.0.0description = Automated test of OGCE build/runtime execution
run_type = build
inputs = ogcePortal.svn, buildOGCEPortal-mac-ppc.scp, tarResultsOGCEPortal-mac-ppc.scp, OGCEJMeterTestFile.scp, OGCEJMeterResults.scp, jakarta-jmeter-2.scp
remote_task = buildOGCEPortal-mac-ppc.sh
remote_task_args = ""
platforms = ppc_macos_10.4
prereqs = java-1.5.0_05
notify = [email protected]
remote_task_timeout = 120m
Configuring OGCE for NMI
Practical lessons:1. Need to modify your build script for some platforms
JDK versions were different between Linux platforms, Macintosh x86, and Macintosh ppc platforms respectively
Made it necessary to use three different NMI scripts
Maven program had to be copied separately for Linux platforms because of NMI incompatibilities with OGCE’s bundled maven
Configuring OGCE for NMI
Practical lessons continued..2. Environment variables need to be specifically assigned
o $JAVA_HOME needed to be set and added to patho $HOME directory needed to be set to current NMI
build directory because OGCE portal requires knowledge of $HOME
3. Keep trying to build even if project fails the first timeo OGCE svn download would occasionally fail, so we
had each script try 'rebuilding' the portal up to three times every night
Configuring OGCE for NMI
Practical lessons continued..4. Have your script "sleep" if runtime programs
aren't loadingo Apache Tomcat server would often fail to starto Issuing a "sleep 20" command gave Tomcat
enough time to load
Current state of OGCE NMI tests
• Buildso Occur nightlyo 26 Linux platforms, 2 Macintosh platformso Notifications sent via email, NMI dashboard
• Run-time assertion tests of portalo Tests run via console mode of Apache JMetero Still being implemented into OGCE NMI nightly
build schemeo We are still working on programmatic way to
combine all platforms' test information into single document for simple viewing
Analysis of OGCE NMI build tests
• Linux platformso Average build time per platform = 52.19 minuteso Average total time w/ queue wait (all platforms) =
223.2 minutes
• Macintosh OSX 10.4 (PPC)o Average build time = 10.3 minuteso Average total time (including queue) = 25.29 minutes
• Macintosh OSX 10.4 (x86)o Average build time = 6.2 minuteso Average total time (including queue) = 96.5 minutes
Runtime testing: Apache JMeter
• Apache JMetero Webpage load-testing and performance analysis
softwareo Assertion testing feature particularly useful for
OGCE testing• Status on NMI testbed
o JMeter not provided by NMI, so we have scripts copy and install JMeter during each nightly build
o After each platform's nightly build finishes, Tomcat server is started and then JMeter tests are run
o JMeter takes XML test-plan file, and outputs results of tests into another XML file
Runtime testing: Apache JMeter
• What kind of runtime tests?o Testing of “logging into portal”o Testing of “obtaining MyProxy certificates”o Testing each "portlet" of OGCE portal
Automatic clicking of all web-links Performing all theoretical user-actions Submitting files, downloading, submitting
jobso Testing of “logging out of portal”
Runtime testing: Apache JMeter
• How we set-up runtime tests on NMI1.Copy Apache JMeter by using ".scp" file
method = scpscp_file=/home/<username>/JMeter.tar.gz
2.Run JMeter within script– jmeter -n -t <JMeter Test File>.jmx -l <JMeter output file>
1. "-n" specifies non-gui mode2. "-t" specifies name of a JMeter test plan file3. "-l" specifies name of output file
3.Collect JMeter output file–Have script store JMeter output file in a
"results.tar.gz" file (NMI standard technique)
Runtime testing: Apache JMeter
• Current state of testingo XML-based results can be graphically
interpreted via XSLT programmingo Not yet fully implemented for all platforms
Runtime testing: Apache JMeter
• Graphical interpretation of results (XML output)