This wiki is obsolete, see the NorduGrid web pages for up to date information.

Testing/ARC-CE emi1 rc0

From NorduGrid
Jump to navigationJump to search

Component Description

brief description of what is being tested, version, modules, components

Code analysis

Very preliminary results of SLOC count entire ARC code can be found here:

http://testbed1.grid.upjs.sk/static_code_analysis/nordugrid-arc-1.0.0b1.sloccount

http://testbed1.grid.upjs.sk/static_code_analysis/nordugrid-arc-compat-1.0.0b1.sloccount

Later the results will be split between components.

Unit tests

Preliminary results of unit test code coverage for entire ARC code can be found here:

http://hep.nbi.dk/~waananen/nordugrid/20702/

Later the results will be split between components.

Regression tests

initially the verification of resolved bugs

Deployment tests

clean installation

There are issues with installing ARC from the RC0 repository. The executive summary is: Packages based on the lcg-dm-common sources needs fixing or we will have the same problem for RC1.

ETICS respects EMI packaging policy which is to follow among others the EPEL packaging policy. That policy states that AutoReqProv by default MUST be on. Packages SHOULD not use it since the defaults are fine. The source package:

lcg-dm-common-1.8.0-1sec.sl5.src.rpm

produces the binary packages:

lcgdm-devel-1.8.0-1sec.sl5.x86_64.rpm
lcgdm-libs-1.8.0-1sec.sl5.x86_64.rpm

which explicitly have AutoReqProv turned off. Therefore ARC and dependent packages which are packaged correctly will not work. This includes:

nordugrid-arc-compat-1.0.0-0.b1.el5.src.rpm
nordugrid-arc-1.0.0-0.b1.el5.src.rpm
semsgplugins-1.0.0-1.src.rpm

The packages that apparently have the autoreqprov on and use direct package dependencies and thus will work are:

lcg-dm-common-1.8.0-1sec.sl5.src.rpm
DPM-mysql-1.8.0-1sec.sl5.src.rpm
DPM-oracle-1.8.0-1sec.sl5.src.rpm
LFC-mysql-1.8.0-1sec.sl5.src.rpm
LFC-oracle-1.8.0-1sec.sl5.src.rpm

These packages are broken according to EMI policies. Known violations are:

No sonames in libraries           https://savannah.cern.ch/bugs/?57528
Using static libraries            https://savannah.cern.ch/bugs/?57529
Turning off autoreqprov           <not reported in Savannah>
Same sources in several src.rpms  <not reported in Savannah> 

The combination of the first 3 issues break ARC and one other package. Note that direct dependencies are allowed and needed when the AutoReqProv can not find dependencies/provides. Packages with plugins are an example.

The ARC packages in RC0 would work if the lcg-dm-common was fixed according to the above. However, since ARC was built against a broken lcg-dm-common there are some erroneous dependencies on lcgdm.so which require a rebuild of ARC to get fixed.

So the bottom line is that there are no known packaging bugs in the ARC packages and that they would work (in principle) without recompilation.

One can still test the ARC packages from RC0 but this requires installing RPMs with broken dependencies.

upgrade installation

Functionality tests

GLUE 2.0 support

job management through jobplugin component

  • simple job submission
  • submission of job uploading one file
  • submission of job uploading many files
  • simple job migration
  • migration of job with input files
  • job status retrieval
  • job catenate retrieval
  • killing job
  • job cleaning
  • job results retrieval (retrieve of job with one output file)
  • job results retrieval (retrieve of job with many output files)

job management through native BES interface

  • simple job submission
    • Submission of simple job described in JDL
arcsub -c ARC1:https://pgs03.grid.upjs.sk:50000/arex jdl_hostname.jdl

jdl_hostname.jdl
[
Executable = "/bin/hostname";
StdOutput = "std.out";
StdError = "std.err";
OutputSandbox = {"std.out","std.err"};
OutputSandboxDestURI = { "gsiftp://localhost/std.out", "gsiftp://localhost/std.err" };
]

FAILED - Bug 2254

    • Submission of simple job described in XRSL
arcsub -c ARC1:https://pgs03.grid.upjs.sk:50000/arex xrsl_hostname.xrsl
xrsl_hostname.xrsl
&(executable = "/bin/hostname")
(stdout = "stdout.txt")
(jobName= "hostname-test")

PASSED

    • Submission of simple job described in JSDL
arcsub -c ARC1:https://pgs03.grid.upjs.sk:50000/arex jsdl_hostname.xml
jsdl_hostname.xml
<?xml version="1.0" encoding="UTF-8"?>
<JobDefinition
 xmlns="http://schemas.ggf.org/jsdl/2005/11/jsdl"
 xmlns:posix="http://schemas.ggf.org/jsdl/2005/11/jsdl-posix"
 xmlns:arc="http://www.nordugrid.org/ws/schemas/jsdl-arc">
 <JobDescription>
   <JobIdentification>
     <JobName>JSDL-TEST</JobName>
   </JobIdentification>
   <Application>
     <posix:POSIXApplication>
       <posix:Executable>/bin/hostname</posix:Executable>
       <posix:Output>out.txt</posix:Output>
       <posix:Error>err.txt</posix:Error>
     </posix:POSIXApplication>
   </Application>
   <DataStaging>
     <FileName>out.txt</FileName>
     <DeleteOnTermination>false</DeleteOnTermination>
     <DownloadToCache>false</DownloadToCache>
   </DataStaging>
   <DataStaging>
     <FileName>err.txt</FileName>
   </DataStaging>
 </JobDescription>
</JobDefinition>

PASSED

  • submission of job uploading one file
    • Submission of simple job described in XRSL
arcsub -c ARC1:https://pgs03.grid.upjs.sk:50000/arex xrsl_shell.xrsl
xrsl_shell.xrsl
&(executable = "shell.sh")
(inputFiles = ("shell.sh" ""))
(outputFiles =
("stdout.txt" "")
("stderr.txt" "")
)
(stdout = "stdout.txt")
(stderr = "stderr.txt")
(jobName= "shell-test")

PASSED

  • submission of job uploading many files
  • simple job migration - FAILED (Bug 2255)
  • migration of job with input files - FAILED (Bug 2255)
  • job status retrieval
    • PASSED for JDL, JSDL, XRSL
  • job catenate retrieval - FAILED (Bug 2257)
  • killing job
    • PASSED for JDL, JSDL, XRSL
  • job cleaning
    • PASSED for JDL, JSDL, XRSL
  • job results retrieval (retrieve of job with one output file)
    • PASSED for JDL, JSDL, XRSL
  • job results retrieval (retrieve of job with many output files)

data stage out

  • submission of job staging out one file to gsiftp SE
    • PASSED for JSDL and XRSL jobs, FAILED for JDL (Bug 2254)
  • submission of job staging out many files to gsiftp SE
  • submission of job staging out one file to http SE
  • submission of job staging out many files to http SE
  • submission of job staging out one file to ftp SE
  • submission of job staging out many files to ftp SE
  • submission of job staging out one file to srm SE
  • submission of job staging out many files to srm SE
  • submission of job staging out one file to lfc SE
  • submission of job staging out many files to lfc SE

data stage in

  • submission of job staging in one file from gsiftp SE
    • PASSED for JSDL and XRSL jobs, FAILED for JDL (Bug 2254)
  • submission of job staging in many files from gsiftp SE
  • submission of job staging in one file from http SE
  • submission of job staging in many files from http SE
  • submission of job staging in one file from ftp SE
  • submission of job staging in many files from ftp SE
  • submission of job staging in one file from srm SE
  • submission of job staging in many files from srm SE
  • submission of job staging in one file from lfc SE
  • submission of job staging in many files from lfc SE

cache management utilities

  • caching of staged in/uploaded files
    • caching of staged in file from Unixacl PASSED

LRMS modules

  • correct job status identification
  • correct identification of running/pending/queueing jobs
  • correct CE information propagation (part of Glue2 tests)

RTE management janitor

  • Static
  • Dynamic using Janitor component
    • ???? is there a plan to have janitor?
  • classic RTE tests
  • submission of jobs requiring different types of RTEs

Performance tests

e.g. measurement of the response time

Scalability tests

Load and stress tests

Standard compliance/conformance tests

can be a reference to a functionality test

Inter-component tests

clearly identify the third-party components involved in the test