This wiki is obsolete, see the NorduGrid web pages for up to date information.
Testing/ARC-Clients emi1 rc0
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
Job submission
- ngsub
- arcsub
Job migration
- arcmigrate
job and cluster querying
- ngstat
- arcstat
- arcinfo
retrieval of job results/output
- ngget
- arcget
view of stdout/stderr or server logs
- ngcat
- arccat
removal of jobs from target
- ngclean
- arcclean
kill running jobs
- ngkill
- arckill
proxy reneval
- ngrenew
- arcrenew
resumming of failed jobs
- ngresume
- arcresume
synchronization of job list
- ngsync
- arcsync
testing client and server setup
- ngtest
acess to EMI storage elements
- arcls
- arccp
- arcrm
- ngls
- ngcp
- ngrm
arcproxy
- ordinary RFC proxy
- RFC proxy with VOMS extensions
command: arcproxy
correct output:
Your identity: /C=SK/O=SlovakGrid/O=UPJS/CN=Jozef Cernak Enter pass phrase for /home/cernak/.globus/userkey.pem: ....++++++ .......++++++ Proxy generation succeeded Your proxy is valid until: 2011-03-03 00:10:52
The result of test:
Your identity: /C=SK/O=SlovakGrid/O=UPJS/CN=Jozef Cernak Enter pass phrase for /home/cernak/.globus/userkey.pem: ....++++++ .......++++++ Proxy generation succeeded Your proxy is valid until: 2011-03-03 00:10:52
PASSED
command arcproxy -d (FATAL, ERROR, WARNING, INFO, VERBOSE, DEBUG)
arcproxy -d VERBOSE
INFO: Loading configuration (/etc/arc/client.conf) INFO: Configuration (/etc/arc/client.conf) loaded INFO: Loading configuration (/home/cernak/.arc/client.conf) INFO: Configuration (/home/cernak/.arc/client.conf) loaded Your identity: /C=SK/O=SlovakGrid/O=UPJS/CN=Jozef Cernak Enter pass phrase for /home/cernak/.globus/userkey.pem: VERBOSE: Certificate verification succeeded .++++++ .............++++++ INFO: Succeeded to sign the proxy certificate INFO: Succeeded to verify the signed certificate INFO: Output the proxy certificate VERBOSE: Certificate verification succeeded Proxy generation succeeded Your proxy is valid until: 2011-03-03 00:19:41
PASSED
command arcproxy -d INFO
INFO: Loading configuration (/etc/arc/client.conf) INFO: Configuration (/etc/arc/client.conf) loaded INFO: Loading configuration (/home/cernak/.arc/client.conf) INFO: Configuration (/home/cernak/.arc/client.conf) loaded Your identity: /C=SK/O=SlovakGrid/O=UPJS/CN=Jozef Cernak Enter pass phrase for /home/cernak/.globus/userkey.pem: ...............++++++ ..++++++ INFO: Succeeded to sign the proxy certificate INFO: Succeeded to verify the signed certificate INFO: Output the proxy certificate Proxy generation succeeded Your proxy is valid until: 2011-03-03 00:21:00
PASSED
command: arcproxy -v
arcproxy version 1.0.0b1
PASSED
command arcproxy -I
Subject: /C=SK/O=SlovakGrid/O=UPJS/CN=Jozef Cernak/CN=448705739 Identity: /C=SK/O=SlovakGrid/O=UPJS/CN=Jozef Cernak Time left for proxy: 11 hours 45 minutes 48 seconds Proxy path: /tmp/x509up_u500 Proxy type: X.509 Proxy Certificate Profile RFC compliant restricted proxy
PASSED
Performance tests
Scenario
Initial setup server(production version or RC) client(RC). From client jobs are submitted on the server in loop. The number of submitted jobs is N, the number of really submitted jobs is N1. We investigate ration N1/N for various settings of client and for number of jobs 10, 100, 1000 or 10000.
Criteria
test is successful if N1/N = 1
many_jobs.sh
#!/bin/bash for i in `seq 1 100` do arcsub -f tasks.xrls -c ARC1:https://pgs03.grid.upjs.sk:50000/arex # arcsub -f tasks.xrls -c ARC1:https://rc1.grid.upjs.sk:50000/arex # arcsub -f tasks.xrls -c ARC0:ldap://pgs02.grid.upjs.sk:2135/nordugrid-cluster # arcsub -f tasks.xrls -c ARC1:https://pgs03.grid.upjs.sk:50000/arex # arcsub -f tasks.xrls -c ARC0:ldap://rc0.grid.upjs.sk:2135/nordugrid-cluster-n # arcsub -f tasks.xrls -c ARC0:ldap://pgs02.grid.upjs.sk:2135/nordugrid-cluster #arcsub -f tasks.xrls -c ARC1:https://lem.grid.niif.hu:60000/arex # ngsub -f tasks.xrls -c pgs02.grid.upjs.sk done
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; }
start.sh
#!/bin/sh gcc $1 -o prog ./prog $2 $3 $4 if test $? = 0 then exit 0 else exit 1 fi
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")
The results
I submitted N=1000, N1=850
http://bugzilla.nordugrid.org/show_bug.cgi?id=2283
FAILED
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