Testing/ARC-CE

From NorduGrid

Jump to: navigation, search

Coordination effort for each RC will be performed at the links shown in the Testing page.

Contents

Test report

To be attached here.

EMI Component Description and Version

ARC-CE components are responsible for accepting requests containing a description of generic computational jobs and executing them in the underlying computing resource.

Code analysis

  • Tester: Marek
  • due: for every RC
  • Sloccount:
  • CCCC metrics:

Later the results will be split between components.

Unit tests

  • Tester: Anders
  • due: for every RC

Link to Results of unit test code coverage for entire ARC code

The text description of results will come later.

Later the results will be split between components.

Deployment tests

CE-D1: clean installation

  • Tester: Marek
  • due: for every RC

CE-D2: upgrade installation

  • Tester: Marek
  • due postponed

System Tests

Regression tests

  • Tester: Marek
  • due: for every tester

See Savannah task for RfCs


Functionality tests

CE-F1: job management with invalid input (WS interface)

For all functions/operations of the ARC-CE interface check the invalid input. Invalid output should throw an exception as documented in XXX?

CE-F2: job management with invalid credentials

For all functions/operations of the ARC-CE interface check the invalid, non-authorized credentials. Use ordinary and VOMS proxies. Invalid/non-authorized credentials should throw security related exceptions and return reasonable error messages. Both pre-WS and WS interface.

CE-F3: simple job execution

Test the job submission for simple job. Test/use all supported (on the server side) job description languages. production interface.

CE-F4: data stage-in job

Test the job submission for simple job with input files being staged-in by both the client and the CE itself. Test cache functionality.

  • submission of job uploading one file
  • submission of job uploading many files
  • submission of job staging in one file from gsiftp SE
  • 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 functionality

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

CE-F5: data stage-out job

Test the job submission for simple job with output files being staged-out both the client (download) and the CE itself (server uploads to SE). Test all kind of protocols and index service registrations.

  • job results retrieval (retrieve of job with one output file)
  • job results retrieval (retrieve of job with many output files)
  • submission of job staging out one file to gsiftp SE
  • 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


CE-F6: job management via pre-WS

Check the main operations of the ARC-CE production interface: cancel, kill, so on... Use ordinary and VOMS proxies.

  • simple job submission
  • 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)

CE-F7: parallel job support

Check that more than one slots are request-able and allocated to a job when the corresponding job description element is used.

CE-F9: job management through WS-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" };
]
    • 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")
    • 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>
  • 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")

  • 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)


CE-F10: LRMS support

Test pbs/maui, SGE, Condor, SLURM, fork, .....

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

CE-F11: Janitor tests

  • Static
  • Dynamic using Janitor component
  • classic RTE tests
  • submission of jobs requiring different types of RTEs

CE-F12: gridmapfile

  • retrieval of proper DN lists
  • example authorization scenarios (vo groups)

CE-F13: infopublishing: nordugrid schema

  • Purpose: Check that the CE properly publishes cluster, queue, user and job information according to nordugrid schema.

Needed files: arc.conf, testngs.pl, nsnames.txt, testldap.xrsl, pbs.conf in Media:ARC_CE-F13-F16.tar.gz

Description of the test:

  1. Setup the testbed as described above using the given arc.conf, restart a-rex and grid-infosys;
  2. From a remote machine with ng* or arc* clients installed, submit at least 4 jobs using testldap.xrsl, wait until the jobs are in any INLRMS:Q and INLRMS:R status.
  3. from a remote machine, run the command:
    ldapsearch -h gridtest.hep.lu.se -p 2135 -x -b 'Mds-Vo-Name=local,o=grid' > nordugrid_ldif.txt
  4. in the same directory as the file generated above, place attached testngs.pl and nsnames.txt
  5. run
    ./testngs.pl

Testbed:

Description of testbed here

Expected result:

the output of testngs.pl should contain at least 89 published objects, and these should be at least:

nordugrid-job-reqcputime nordugrid-queue-maxqueuable nordugrid-cluster-support nordugrid-job-stdin nordugrid-info-group nordugrid-job-execcluster nordugrid-queue-architecture nordugrid-cluster-lrms-type nordugrid-authuser-sn nordugrid-queue-localqueued nordugrid-cluster-architecture nordugrid-cluster-sessiondir-lifetime nordugrid-job-gmlog nordugrid-cluster-runtimeenvironment nordugrid-queue-totalcpus nordugrid-cluster-name nordugrid-queue-defaultcputime nordugrid-cluster-cache-total nordugrid-job-cpucount nordugrid-queue-name nordugrid-cluster-sessiondir-total nordugrid-cluster-prelrmsqueued nordugrid-cluster-issuerca-hash nordugrid-cluster-opsys nordugrid-queue-maxwalltime nordugrid-cluster-sessiondir-free nordugrid-cluster-comment nordugrid-queue-gridrunning nordugrid-job-completiontime nordugrid-queue-comment nordugrid-queue-prelrmsqueued nordugrid-queue-nodememory nordugrid-authuser-diskspace nordugrid-cluster-cpudistribution nordugrid-job-usedmem nordugrid-job-submissionui nordugrid-cluster-middleware nordugrid-queue nordugrid-job-status nordugrid-queue-homogeneity nordugrid-queue-defaultwalltime nordugrid-cluster-trustedca nordugrid-job-sessiondirerasetime nordugrid-job-usedwalltime nordugrid-cluster-issuerca nordugrid-queue-mincputime nordugrid-cluster-owner nordugrid-queue-gridqueued nordugrid-cluster-nodecpu nordugrid-job-reqwalltime nordugrid-cluster-contactstring nordugrid-cluster-localse nordugrid-info-group-name nordugrid-cluster-benchmark nordugrid-job-stdout nordugrid-job-executionnodes nordugrid-queue-running nordugrid-cluster-usedcpus nordugrid-job-globalid nordugrid-cluster-totaljobs nordugrid-queue-opsys nordugrid-job-stderr nordugrid-cluster nordugrid-authuser-name nordugrid-queue-maxrunning nordugrid-queue-status nordugrid-job-runtimeenvironment nordugrid-queue-nodecpu nordugrid-cluster-credentialexpirationtime nordugrid-authuser nordugrid-job-proxyexpirationtime nordugrid-job-globalowner nordugrid-cluster-totalcpus nordugrid-queue-benchmark nordugrid-job-execqueue nordugrid-cluster-cache-free nordugrid-authuser-queuelength nordugrid-cluster-homogeneity nordugrid-job-usedcputime nordugrid-job-exitcode nordugrid-job-queuerank nordugrid-queue-maxcputime nordugrid-queue-schedulingpolicy nordugrid-authuser-freecpus nordugrid-job-jobname nordugrid-cluster-lrms-version nordugrid-job nordugrid-cluster-aliasname nordugrid-job-submissiontime

Result: : PASSED/FAILED

CE-F14: infopublishing: glue1.2 schema

  • Purpose: Check that the CE properly publishes resource info according to glue-1.2 schema.

attached files: arc.conf, textldap.xsrl in Media:ARC_CE-F13-F16.tar.gz

Description of the test:

  1. Setup the testbed using the given arc.conf, restart a-rex and grid-infosys;
  2. On a remote machine, setup of the EMI glue validator that can be found here: [1]
  3. From a remote machine with ng* or arc* clients installed, submit at least 4 jobs using testldap.xrsl, wait until the jobs are in any INLRMS:Q and INLRMS:R status.
  4. from a remote machine, run the command:
    ldapsearch -h gridtest.hep.lu.se -p 2135 -x -b 'Mds-Vo-Name=resource,o=grid' > glue12_ldif.txt
  5. run the glue validator on the resulting file:
    glue-validator -t glue1 -f glue12_ldif.txt

Testbed: Describe testbed here Expected result:

glue12_ldap.txt validates with no relevant errors using EMI validator.

Result: : X out of Y tests PASSED/FAILED

Comments:

CE-F15: infopublishing: glue2 LDAP schema

  • Purpose: Check that the CE properly publishes resource info according to the glue2 LDAP schema. Use EMI validator

attached files: arc.conf, testldap.xrsl in Media:ARC_CE-F13-F16.tar.gz

Description of the test:

  1. Setup the testbed as described above using the given arc.conf, restart a-rex and grid-infosys;
  2. On a remote machine, setup of the EMI glue validator that can be found here: [2]
  3. From a remote machine with ng* or arc* clients installed, submit at least 4 jobs using testldap.xrsl, wait until the jobs are in any INLRMS:Q and INLRMS:R status.
  4. from a remote machine, run the command:
    ldapsearch -h gridtest.hep.lu.se -p 2135 -x -b 'o=glue' > glue2_ldif.txt
  5. run the glue validator on the resulting file:
    glue-validator -t glue2 -f glue2_ldif.txt

Testbed: Describe testbed here Expected result:

glue2_ldap.txt validates with no relevant errors using EMI validator.

Result: X out of Y test PASSED/FAILED

CE-F16: infopublishing: glue2 xml schema

  • Purpose: Check that the CE properly publishes resource info according to the glue2 xml schema. Use some validator

Performance tests

CE-P1: service reliability

Services run by the component must maintain a good performance and reliability over long periods of time with normal operation. Long running unattended operation test measuring performance of the product. Service must not show performance degradation during a 3-day period.

example provided by: NSC medium-size resource: ~100 nodes running ~1000 jobs each 5 hours, which would give around < 5000 jobs in infosys that would give peak submission at 200 jobs per hour large-size resource: ~10k nodes running ~100k jobs each 5 hours, which would give around < 500k jobs in infosys that would give peak submission at 20 000 jobs per hour

CE-P2: load test

stress test the CE with

  • massive amount of synchronous job submission
  • massive amount of synchronous info query

CE-P3: job submission failure rate

run a properly configured CE and exercise that with e.g. series of 100 job submissions. check the failure rate


script many_jobs.sh:

#!/bin/bash
for i in `seq 1 100`
do
 arcsub -d VERBOSE -f tasks.xrls -c  ARC1:https://pgs02.grid.upjs.sk:50000/arex &
#arcsub -d VERBOSE -f tasks.xrls -c  ARC1:https://pgs02.grid.upjs.sk:50000/arex
done

script start.sh:

#!/bin/sh
gcc $1 -o prog
./prog $2 $3 $4
if test $? = 0
 then
    exit 0
 else
    exit 1
fi


file prog.c:


#include<stdlib.h>
#include<stdio.h>
int main(int argc, char *argv[])
{
 int i;
  for (i=1;i < argc;i++) printf("%s\n",argv[i]);
  return 0;
}

fite tasks.xrls:

&(executable="start.sh")
(arguments=   "prog.c" "arg1" "arg2" "arg3" )
(inputfiles=
("start.sh" "start.sh")
("prog.c" "prog.c")
)
(outputfiles=("/"  " ")
)
(stdout="out.txt")
(stderr="err.txt")
(jobName="prog")
(cpuTime="70")
(gmlog=".log")
(disk="10")


copy files in directory:

many_jobs.sh
prog.c
start.sh
tasks.xrls

to run test type:

./many_jobs.sh


There are two possibilities to run test in sequence or quasi parallel option (& running command in background). Uncomment appropriate line in script many_jobs.sh.

Scalability tests

WILL NOT BE DONE FOR RC1

Standard compliance/conformance tests

see the XYZ functionality test for glue2

CE-ICT Inter-component tests

ARC CE integration tests defined at https://twiki.cern.ch/twiki/bin/view/EMI/EmiJra1TaskForceIntegrationTesting

CE-ICT9 Integration Test 9 for ARC

Make sure you have access to at least three compute elements running A-REX, CREAM CE, and UNICORE/X, respectively, with support for the EMI-ES. You may e.g. use the EMI Test Bed. Note that the binary ARC package is not built with direct UNICORE support, but it may work with BES, as suggested by Martin.

Acquire a proxy certificate

   arcproxy -S testers.emi-eu.eu:all

or using another appropriate VO.

Prepare a job submission script ict9.jsdl

   <?xml version="1.0" encoding="UTF-8"?>
   <JobDefinition xmlns="http://schemas.ggf.org/jsdl/2005/11/jsdl">
     <JobDescription>
       <Application>
         <ApplicationName>ict9</ApplicationName>
         <POSIXApplication xmlns="http://schemas.ggf.org/jsdl/2005/11/jsdl-posix">
           <Executable>ict9.sh</Executable>
           <Output>ict9.out</Output>
           <Error>ict9.err</Error>
           <WallTimeLimit>600</WallTimeLimit>
         </POSIXApplication>
       </Application>
       <DataStaging>
         <FileName>ict9.sh</FileName>
         <Source><URI>file:ict9.sh</URI></Source>
         <CreationFlag>overwrite</CreationFlag>
       </DataStaging>
       <DataStaging>
         <FileName>ict9.env</FileName>
         <Target><URI>file:ict9.env</URI></Target>
         <CreationFlag>overwrite</CreationFlag>
       </DataStaging>
     </JobDescription>
   </JobDefinition>

and an executable job script ict9.sh:

   #! /bin/sh
   date --rfc-3339=seconds
   date --rfc-3339=seconds >ict9.env
   env >>ict9.env

Submit the job to a CE of each kind using

   arcsub -c ce.example.org ict9.jsdl

Follow the submitted jobs with arcstat -a. Fetch completed jobs with arcget jobid, and check the result files.

Add sleep 900 or similar to the end of the ict9.sh script. Repeat the above, but instead of fetching the jobs, try to cancel the jobs with arckill jobid before they complete.

CE-ICT10 Integration Test 10

Note: This test cannot currently be run. at the current status. Should be run once ldap tree structure is agreed between middlewares.

Summary Top BDII to consume GLUE2 LDAP from ARIS

1) The choosen test CE is pgs03.grid.upjs.sk in EMI testbed[3]
  • use the following arc.conf that enables most of possible information to be shown, and change it accordingly to the test CE.
  • unzip the following tarball in the configured runtime environments dir: Media:RTEs.tar.gz
  • unzip the following tarball in the controldir to have a bunch of jobs to publish: Media:Controldir_ICT12.tar.gz
[common]
hostname="pgs03.grid.upjs.sk"
x509_user_key="/etc/grid-security/hostkey.pem"
x509_user_cert="/etc/grid-security/hostcert.pem"
x509_cert_dir="/etc/grid-security/certificates"
gridmap="/etc/grid-security/grid-mapfile"
lrms="fork"

[grid-manager]
daemon="yes"
user="root"
controldir="/tmp/jobstatus"
sessiondir="/var/grid"
debug="5"
logfile="/tmp/grid-manager.log"
pidfile="/tmp/grid-manager.pid"
mail="mail@hep.lu.se"
joblog="/tmp/gm-jobs.log"
shared_filesystem="/var/grid"
arex_mount_point="https://pgs03.grid.upjs.sk/arex"
cachedir="/var/grid/cache"
runtimedir="/var/grid/SOFTWARE/"
enable_emies_interface="yes"

[gridftpd]
user="root"
debug="5"
logfile="/tmp/gridftpd.log"
logsize="100000 2"
pidfile="/tmp/gridftpd.pid"
port="2811"
allowunknown="no"

[gridftpd/jobs]
path="/jobs"
plugin="jobplugin.so"
allownew="yes"

[infosys]
oldconfsuffix=".oldconfig"
overwrite_config="yes"
port="2135"
debug="3"
slapd_loglevel="5"
provider_loglevel="5"

bdii_delete_delay=0

infosys_nordugrid="enable"
infosys_glue12="enable"
infosys_glue2_ldap="enable"

[infosys/admindomain]
name="ARC-TESTDOMAIN"
description="this is a parsing test for the AdminDomain block"
www="http://www.pgs03.grid.upjs.sk/"
distributed=yes
owner=email@hep.lu.se


[infosys/glue12]


resource_location="Lund, Sweden"

resource_latitude="55.7000"

resource_longitude="13.1833"

cpu_scaling_reference_si00="2400"

processor_other_description="Cores=4"

glue_site_web="http://www.nordugrid.org"

glue_site_unique_id="LUNDTESTCE"

provide_glue_site_info="true"

[infosys/site/LundTestSite]
unique_id="LundTestSite"
url="ldap://localhost:2135/mds-vo-name=resource,o=grid"

[cluster]
cluster_alias="Performance Test Server"
comment="This server is used for infoproviders performance tests"
homogeneity="True"
architecture="i386"
nodeaccess="inbound"
nodeaccess="outbound"
opsys="adotf"
nodecpu="3"
nodememory="256"
lrms_config="Single job per processor"
clustersupport="email@hep.lu.se"
cluster_location="SE-22100"
cluster_owner="University of Lund"
benchmark="specfp2000 333"
authorizedvo=VO:ATLAS
authorizedvo=VO:CMS
authorizedvo=VO:Lund University
authorizedvo="ATLAS"
authorizedvo="LundTesters"
authorizedvo="Some special strings?!?!#?)="

[queue/fork]
name="fork"
fork_job_limit="cpunumber"
homogeneity="True"
scheduling_policy="FIFO"
comment="This queue is nothing more than a fork host"
nodecpu="3"
architecture="i386"
authorizedvo="ATLAS"

[infosys/cluster/registration/toTESTGIIS]
targethostname="piff.hep.lu.se"
targetport="2135"
targetsuffix="mds-vo-name=TESTGIIS,o=grid"
regperiod="50"
2) start the services gridftp, arex and grid-infosys
service gridftp start
service a-rex start
service grid-infosys start
3.1) wait several minutes and check slapd didn't die by:
  1. service grid-infosys status

BDII Running [ OK ]

if slapd is not running, the test is FAILED. Otherwise proceed furhter

4) Choose a top-bdii and feed it with the CE information. This is done by adding some configuration to the

top-bdii emi2rc-sl5-bdii.cern.ch running on EMI testbed. The top-bdii is shown in the following page: https://twiki.cern.ch/twiki/bin/view/EMI/EMITestbedInventory#2_2_EMI_2_RC_Testbed_resources


5) run a ldapsearch on a top-bdii:
ldapsearch -x -h emi2rc-sl5-bdii.cern.ch -p 2135 -b 'GLUE2GroupID=resource,GLUE2AdminDomain=ARC-TESTDOMAIN,GLUE2GroupID=grid,o=glue' | grep pgs03.grid.upjs.sk
5) If the above search return some values, then the test is PASSED, otherwise FAILED.

Integration Test 11

Summary Execute jobs with data stage-in/stage-out using the EMI SEs and LFC.

This test submits a job which requires 3 files from LFC, whose replicas are in the three different SEs. The job generates a file which is then uploaded by the CE to the three different SEs and registered in LFC under the same LFN.

Testbed resources: From EMI-1 production testbed: ARC CE, DPM, LFC, StoRM, dCache, ARC Clients. The 3 input files specified in the job description were created on 8/3/12 and are assumed to still exist.

Job description ARC-CE-Integration-Test-11.xrsl:

&
("jobname" = "ARC-CE-Integration-Test-11")
("executable" = "ARC-CE-Integration-Test-11.sh")
("walltime" = "30" )
("cputime" = "30" )
("stdout" = "stdout")
("stderr" = "stderr")
("gmlog" = "gmlog")
("rerun" = "3")

("inputfiles" =
   (* Caching is explicitly turned off to force downloads *)
   ("test.file.dcache"
    "lfc://cvitblfc1.cern.ch/grid/testers.eu-emi.eu/ARC-CE-IntegrationTest/test.dcache.1"
    "cache=no")
   ("test.file.dpm"
    "lfc://cvitblfc1.cern.ch/grid/testers.eu-emi.eu/ARC-CE-IntegrationTest/test.dpm.1"
    "cache=no")
   ("test.file.storm"
    "lfc://cvitblfc1.cern.ch/grid/testers.eu-emi.eu/ARC-CE-IntegrationTest/test.storm.1"
    "cache=no")
)

(* The list of output files is created by the job *)
("outputfiles" = ("@output" ""))

Job executable ARC-CE-Integration-Test-11.sh:

#!/bin/sh

# generates a file and an output files list to upload it

/bin/dd of=test1 if=/dev/urandom count=100 

GUID=`uuidgen`

cat > output <<EOF
test1 lfc://srm://cvitbdpm1.cern.ch/dpm/cern.ch/home/testers.eu-emi.eu/ARC-CE-IntegrationTest/output/$GUID.dpm@cvitblfc1.cern.ch/grid/testers.eu-emi.eu/ARC-CE-IntegrationTest/output/$GUID
test1 lfc://srm://xen-ep-emi-tb-se-4.desy.de/pnfs/desy.de/data/testers.eu-emi.eu/ARC-CE-IntegrationTest/output/$GUID.dcache@cvitblfc1.cern.ch/grid/testers.eu-emi.eu/ARC-CE-IntegrationTest/output/$GUID
test1 lfc://srm://emitestbed03.cnaf.infn.it/testers.eu-emi.eu/ARC-CE-IntegrationTest/output/$GUID.storm@cvitblfc1.cern.ch/grid/testers.eu-emi.eu/ARC-CE-IntegrationTest/output/$GUID
EOF

To run test:

  • Save the above two files in the same directory
  • Generate a VOMS proxy for the VO testers.eu-emi.eu
  • Submit job to ARC CE: arcsub -c pgs03.grid.upjs.sk ARC-CE-Integration-Test-11.xrsl
  • Poll status with arcstat
  • If the job finished successfully the output files can be checked by listing LFC: arcls -lL lfc://cvitblfc1.cern.ch/grid/testers.eu-emi.eu/ARC-CE-IntegrationTest/output

CE-ICT12 Integration Test 12

Summary Run a basic functionality test to see if BDII backend of ARIS runs and info is there

1) The choosen test CE is testbed-emi1.grid.upjs.sk in EMI testbed[4]
  • use the following arc.conf that enables most of possible information to be shown, and change it accordingly to the test CE.
  • unzip the following tarball in the configured runtime environments dir: Media:RTEs.tar.gz
  • unzip the following tarball in the controldir to have a bunch of jobs to publish: Media:Controldir_ICT12.tar.gz
[common]
hostname="testbed-emi1.grid.upjs.sk"
x509_user_key="/etc/grid-security/hostkey.pem"
x509_user_cert="/etc/grid-security/hostcert.pem"
x509_cert_dir="/etc/grid-security/certificates"
gridmap="/etc/grid-security/grid-mapfile"
lrms="fork"

[grid-manager]
daemon="yes"
user="root"
controldir="/tmp/jobstatus"
sessiondir="/var/grid"
debug="5"
logfile="/tmp/grid-manager.log"
pidfile="/tmp/grid-manager.pid"
mail="email@hep.lu.se"
joblog="/tmp/gm-jobs.log"
shared_filesystem="/var/grid"
arex_mount_point="https://testbed-emi1.grid.upjs.sk/arex"
cachedir="/var/grid/cache"
runtimedir="/var/grid/SOFTWARE/"
enable_emies_interface="yes"

[gridftpd]
user="root"
debug="5"
logfile="/tmp/gridftpd.log"
logsize="100000 2"
pidfile="/tmp/gridftpd.pid"
port="2811"
allowunknown="no"

[gridftpd/jobs]
path="/jobs"
plugin="jobplugin.so"
allownew="yes"

[infosys]
oldconfsuffix=".oldconfig"
overwrite_config="yes"
port="2135"
debug="3"
slapd_loglevel="5"
provider_loglevel="5"

bdii_delete_delay=0

infosys_nordugrid="enable"
infosys_glue12="enable"
infosys_glue2_ldap="enable"

[infosys/admindomain]
name="ARC-TESTDOMAIN"
description="this is a parsing test for the AdminDomain block"
www="http://testbed-emi1.grid.upjs.sk/"
distributed=yes
owner=email@hep.lu.se


[infosys/glue12]


resource_location="Lund, Sweden"

resource_latitude="55.7000"

resource_longitude="13.1833"

cpu_scaling_reference_si00="2400"

processor_other_description="Cores=4"

glue_site_web="http://www.nordugrid.org"

glue_site_unique_id="LUNDTESTCE"

provide_glue_site_info="true"

[infosys/site/LundTestSite]
unique_id="LundTestSite"
url="ldap://localhost:2135/mds-vo-name=resource,o=grid"

[cluster]
cluster_alias="Performance Test Server"
comment="This server is used for infoproviders performance tests"
homogeneity="True"
architecture="i386"
nodeaccess="inbound"
nodeaccess="outbound"
opsys="adotf"
nodecpu="3"
nodememory="256"
lrms_config="Single job per processor"
clustersupport="email@hep.lu.se"
cluster_location="SE-22100"
cluster_owner="University of Lund"
benchmark="specfp2000 333"
authorizedvo=VO:ATLAS
authorizedvo=VO:CMS
authorizedvo=VO:Lund University
authorizedvo="ATLAS"
authorizedvo="LundTesters"
authorizedvo="Some special strings?!?!#?)="

[queue/fork]
name="fork"
fork_job_limit="cpunumber"
homogeneity="True"
scheduling_policy="FIFO"
comment="This queue is nothing more than a fork host"
nodecpu="3"
architecture="i386"
authorizedvo="ATLAS"

[infosys/cluster/registration/toTESTGIIS]
targethostname="piff.hep.lu.se"
targetport="2135"
targetsuffix="mds-vo-name=TESTGIIS,o=grid"
regperiod="50"
2) start the services gridftp, arex and grid-infosys
service gridftp start
service a-rex start
service grid-infosys start
3.1) wait several minutes and check slapd+bdii didn't die by testing service status:
# service grid-infosys status
BDII Running [ OK ]
3.2) check that slapd is running:
[root@piff ~]# ps aux | grep slapd
ldap      1649  0.1 51.6 4665640 1059792 ?     Ssl  Feb29   2:02 /usr/sbin/slapd -f /var/run/arc/bdii/bdii-slapd.conf -h ldap://*:2135 -u ldap
root     13860  0.0  0.0  61192   764 pts/0    S+   10:47   0:00 grep slapd
if slapd is not running, the test is FAILED.
4) run a ldapsearch on all the trees (can also be run on the same machine):
ldapsearch -x -h testbed-emi1.grid.upjs.sk -p 2135 -b 'mds-vo-name=local,o=grid'
ldapsearch -x -h testbed-emi1.grid.upjs.sk -p 2135 -b 'mds-vo-name=resource,o=grid'
ldapsearch -x -h testbed-emi1.grid.upjs.sk -p 2135 -b 'o=glue'
5) If all the three researches above return some values, then the test is PASSED, otherwise FAILED.

Integration Test 13

Summary Do authorization filtering based on VOMS attributes and ARGUS authorization.

Integration Test 26

Summary Submit and monitor jobs to ARC CE using LCAS for authorization and LCMAPS for user mapping.

Personal tools