Tags:
,
view all tags
---+ CREAM Test work plan ---++ Introduction The CREAM testsuite is a set of python scripts that interacts with the CREAM command line tools in order to perform several functional tests. ---++ Installation and setup The easiest way to deploy the testsuite is to have a UI node already available, for further details refer to the [[https://twiki.cern.ch/twiki/bin/view/LCG/GenericInstallGuide310#Installing_the_Middleware][Generic Installation and Configuration Guide]]. The testsuite can be installed using yum creating a file called _testsuites.repo_ in the yum.repos.d directory with the following definition: <verbatim> [testsuites] name=Testsuites baseurl=http://devel12.cnaf.infn.it:7444/repository/testsuites/ enabled=1 </verbatim> and then running <verbatim> yum update yum install glite-testsuites-cream </verbatim> After the installation it is suggested to check if the environment variable *GLITE_LOCATION* points to the correct gLite installation directory, i.e. the one containing the bin folder with the CREAM clients. ---++ Work plan ---+++ Testsuite description The set of test can be divided into two main categories, according to the type of status detection mechanism for a job: * with polling (synchronous): * [[CreamTestMonitoredCancel][cream-test-monitored-cancel]] * [[CreamTestMonitoredLeaseExpired][cream-test-monitored-lease-expired]] * [[CreamTestMonitoredLeaseUpdated][cream-test-monitored-lease-updated]] * [[CreamTestMonitoredProxyExpired][cream-test-monitored-proxy-expired]] * [[CreamTestMonitoredSubmit][cream-test-monitored-submit]] * with notifications (asynchronous): * [[CreamTestNotifiedCancel][cream-test-notified-cancel]] * [[CreamTestNotifiedLeaseExpired][cream-test-notified-lease-expired]] * [[CreamTestNotifiedLeaseUpdated][cream-test-notified-lease-updated]] * [[CreamTestNotifiedSubmit][cream-test-notified-submit]] ---+++ Proxy management Each test can be run using either an external user voms-proxy or with an internal management of the voms-proxy. The default mechanism is using an external voms-proxy. The external voms-proxy is not renewed by the test, the user is responsible for updating that credential if required in such a way that it does not interfere with tests, for example "renaming" the new proxy into the old one. The external voms-proxy path is defined with the environment variable *X509_USER_PROXY*, the main default is /tmp/x509_uuid. With the internal management of the voms-proxy the testsuite keeps track of the renewal of that credential, the user has just to provide a valid personal certificate and private key. The environment variables required for enabling this mode are: *X509_USER_CERT* and *X509_USER_KEY*; when this mode is selected each test requires the definition of the VO to be used (option *--vo*) and the voms-proxy-init client must be properly configured. ---+++ Delegation management Each test can be run either using a single delegated proxy on the CE for all the submissions or with one delegated proxy per submitted job, see *--delegationType* option. The tester must be aware of using the second mode can overload the entire system, both the service and the testsuite, so the tuning of the test parameters must consider that issue. ---+++ Isolation and interference tests One of the basic requirements for a test is to be _isolated_; each test handles only its own jobs and resources in general (delegated proxies, lease tokens, etc.) with no interferences from other tests. Multiple tests can be executed in parallel in order to detect interferences on the service side; for example the _cream-test-monitored-lease-expired_ test can be run together with _cream-test-monitored-submit_ for discovering a wrong lease management for the jobs submitted by the latter. ---+++ Hints for test tuning * Due to unavoidable delays in the command scheduling, the life-time of the job submitted with the cream-test-notified-cancel has to be at least 3 times longer than the rate parameter. With shorter life-time the job can terminate before the testsuite is able to detect the change of its status. ---+++ Proposed test plan (WORK IN PROGRESS) The set of tests described in this section is used for the pre-certification of the latest version of the CREAM CE and can be considered a template for external testers. In the following the CREAM CE under test is cream-12.pd.infn.it (port 8443) with Torque as batch system and cream_A as assigned queue, the hostname and port must be replaced with the correct values according to the arrangement of the testbed. The simple.jdl contains:<verbatim>[ executable="/bin/sleep"; arguments="180";]</verbatim> The long.jdl contains:<verbatim>[ executable="/bin/sleep"; arguments="1200";]</verbatim> The testsandbox.jdl contains:<verbatim> [ executable="/bin/cp"; arguments="grid-mapfile out-`date +%s%N`-`whoami`.txt"; inputsandbox={ "gsiftp://cream-12.pd.infn.it/etc/grid-security/grid-mapfile" }; outputsandbox={ "out*.txt" }; outputsandboxbasedesturi="gsiftp://cream-12.pd.infn.it/tmp"; epilogue="/bin/sleep"; epiloguearguments="60"; ] </verbatim> The log4py.conf contains:<verbatim> [Default] Format: %T %L %C [%F] - %M Target: cream-test-cream-12.log Ansi: False LogLevel: Debug </verbatim> * Simple submission with polling: <verbatim> cream-test-monitored-submit -r 30 -n 1000 -m 50 -C 50 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A -l log4py.conf -j simple.jdl </verbatim> The renewal process is disabled, the variable _X509_USER_PROXY_ must point to a 12-hours long proxy. * Simple submission with notifications:<verbatim> cream-test-notified-submit -r 30 -n 1000 -m 50 -C 50 -p 9000 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A -l log4py.conf -j simple.jdl </verbatim> The renewal process is disabled, the variable _X509_USER_PROXY_ must point to a 12-hours long proxy. * Submission and cancellation with polling:<verbatim> cream-test-monitored-cancel -r 30 -n 1000 -m 50 -C 50 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A -l log4py.conf -j simple.jdl </verbatim> The renewal process is disabled, the variable _X509_USER_PROXY_ must point to a 12-hours long proxy. * Submission and cancellation with notifications:<verbatim> cream-test-notified-cancel -r 30 -n 1000 -m 50 -C 50 -p 9000 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A -l log4py.conf -j simple.jdl </verbatim> The renewal process is disabled, the variable _X509_USER_PROXY_ must point to a 12-hours long proxy. * Submission with polling and sandbox transfer:<verbatim> cream-test-monitored-submit -r 30 -n 1000 -m 50 -C 50 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A -l log4py.conf -j testsandbox.jdl </verbatim> The renewal process is disabled, the variable _X509_USER_PROXY_ must point to a 12-hours long proxy. The output sandbox on the CE must be checked and removed manually. * Submission with notifications and sandbox transfer:<verbatim> cream-test-notified-submit -r 30 -n 1000 -m 50 -C 50 -p 9000 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A -l log4py.conf -j testsandbox.jdl </verbatim> The renewal process is disabled, the variable _X509_USER_PROXY_ must point to a 12-hours long proxy. The output sandbox on the CE must be checked and removed manually. * Simple submission with polling and proxy renewal:<verbatim> cream-test-monitored-submit -r 60 -n 50 -m 10 -C 10 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A -l log4py_cream-12.conf -j test2.jdl --vo dteam --valid 00:10 </verbatim> The variables _X509_USER_CERT_ and _X509_USER_KEY_ must point to the location of the user certificate and private key, passphrase is required. * Simple submission with notifications and proxy renewal:<verbatim> cream-test-notified-submit -r 60 -n 50 -m 10 -C 10 -p 9000 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A -l log4py_cream-12.conf -j test2.jdl --vo dteam --valid 00:10 </verbatim> The variables _X509_USER_CERT_ and _X509_USER_KEY_ must point to the location of the user certificate and private key, passphrase is required.
Edit
|
Attach
|
PDF
|
H
istory
:
r32
|
r15
<
r14
<
r13
<
r12
|
B
acklinks
|
V
iew topic
|
More topic actions...
Topic revision: r13 - 2008-11-27
-
PaoloAndreetto
Home
Site map
CEMon web
CREAM web
Cloud web
Cyclops web
DGAS web
EgeeJra1It web
Gows web
GridOversight web
IGIPortal web
IGIRelease web
MPI web
Main web
MarcheCloud web
MarcheCloudPilotaCNAF web
Middleware web
Operations web
Sandbox web
Security web
SiteAdminCorner web
TWiki web
Training web
UserSupport web
VOMS web
WMS web
WMSMonitor web
WeNMR web
EgeeJra1It Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
P
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Edit
Attach
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback