OGCE Building and Testing on NMI

15
OGCE Building and Testing on NMI Slides by: Rishi Verma

description

OGCE Building and Testing on NMI. Slides by: Rishi Verma. Configuring OGCE for NMI. Design of NMI tests: Used three NMI build scripts representing 28 platforms Each script downloads OGCE portal via svn Scripts use Maven to build portal for each platform - PowerPoint PPT Presentation

Transcript of OGCE Building and Testing on NMI

Page 1: OGCE Building and Testing on NMI

OGCE Building and Testing on NMI

Slides by: Rishi Verma

Page 2: OGCE Building and Testing on NMI

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

Page 3: OGCE Building and Testing on NMI

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

Page 4: OGCE Building and Testing on NMI

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

Page 5: OGCE Building and Testing on NMI

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

Page 6: OGCE Building and Testing on NMI

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

Page 7: OGCE Building and Testing on NMI

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

Page 8: OGCE Building and Testing on NMI

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

Page 9: OGCE Building and Testing on NMI

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

Page 10: OGCE Building and Testing on NMI

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

Page 11: OGCE Building and Testing on NMI

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

Page 12: OGCE Building and Testing on NMI

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”

Page 13: OGCE Building and Testing on NMI

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)

Page 14: OGCE Building and Testing on NMI

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

Page 15: OGCE Building and Testing on NMI

Runtime testing: Apache JMeter

• Graphical interpretation of results (XML output)