Difference: CreamTestWorkPlan (1 vs. 31)

Revision 312013-10-09 - TWikiAdminUser

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 2735 to 2735
 
Proxy renewal for job in IDLE
cream-test-monitored-submit -r 60 -n $TOTAL -m $PART -C $PART -l log4py.conf -j onehoursleep.jdl --vo dteam --valid 00:45 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The variables X509_USER_CERT and X509_USER_KEY must point to the location of the user certificate and private key, passphrase is required. The variable $PART is an integer greater than the number of jobs which can be run concurrently in the batch system, the variable $TOTAL is a multiple of $PART.
\ No newline at end of file
Added:
>
>
META PREFERENCE name="ALLOWWEBCHANGE" title="ALLOWWEBCHANGE" type="Set" value="Main.CreamGroup"

Revision 302012-05-08 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 178 to 178
 Once the job is in DONE-OK, retrieve the OSB files using the glite-ce-job-output command. Check the result of the data upload operations in the file DSUpload_.out
Changed:
<
<
Not Implemented
>
>
Implemented in the Robot based testsuite
 

Sandbox staging Test

Revision 292012-04-13 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 2525 to 2525
 

Glue 1 compliance

Changed:
<
<
Glue 1 compliance of the information published by the CREAM-CE resource bdii should be tested. This should be done using [[https://tomtools.cern.ch/confluence/display/IS/GLUEValidator]GlueValidator]].
>
>
Glue 1 compliance of the information published by the CREAM-CE resource bdii should be tested. This should be done using GlueValidator.
  Status: Implemented in the Robot based testsuite

Glue 2 compliance

Changed:
<
<
Glue 2 compliance of the information published by the CREAM-CE resource bdii should be tested. This should be done using [[https://tomtools.cern.ch/confluence/display/IS/GLUEValidator]GlueValidator]].
>
>
Glue 2 compliance of the information published by the CREAM-CE resource bdii should be tested. This should be done using GlueValidator.
  Status: Implemented in the Robot based testsuite

Revision 282012-04-13 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 1748 to 1748
  Verify also that the output file gsiftp://cream-35.pd.infn.it/tmp/file.out has been created.
Added:
>
>
Status: Not Implemented
 

Submission of multiple activities

Line: 1841 to 1842
 [sgaravat@cream-50 ADLExamples]$
Added:
>
>
Status: Not Implemented
 

Validation for unsupported capability

Line: 1970 to 1972
 
Added:
>
>
Status: Not Implemented
 

Pre and Post Executables

Line: 2089 to 2092
 
Changed:
<
<
>
>
Status: Not Implemented
 

Activity with Environment

Line: 2180 to 2183
 forma=rombo
Added:
>
>
Status: Not Implemented
 

List

Line: 2249 to 2253
 CR_ES975108994
Added:
>
>
Status: Not Implemented
 

ActivityInfo

Submit an activity and then check it with the activityinfo operation, e.g.:

Line: 2314 to 2322
 [sgaravat@cream-50 ADLExamples]$
Changed:
<
<
TBC
>
>
Status: Not Implemented
 
Line: 2374 to 2384
 
Added:
>
>
Status: Not Implemented
 

Cancel

Submit a long activity:

Line: 2411 to 2424
 Description = cancelled by the user
Added:
>
>

Status: Not Implemented

 

Wipe

Submit an activity and wait that the status is TERMINAL:

Line: 2445 to 2463
  Verify that the job sandbox directory has been removed
Added:
>
>

Status: Not Implemented

 

Regression tests

See: http://wiki.italiangrid.it/twiki/bin/view/CREAM/RegressionTestWorkPlan

Revision 272012-04-12 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 1370 to 1370
  Status: Not Implemented
Deleted:
<
<

Activity with Input and Output with multiple Sources (both wrong)

TBD

Status: Not Implemented

 

Activity with Input and Output with multiple Sources (one wrong, one correct)

Revision 262012-04-12 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 548 to 548
  Verify the final job status which should eventually be DONE-OK
Changed:
<
<
Status: Not Implemented
>
>
Status: Implemented in the Robot based testsuite
 

Automatic proxy purger test

Line: 559 to 559
  Try again the submission using the same delegationid after 24 hours. This should not work (the error message should say that the delegation was not found)
Changed:
<
<
Status: Not Implemented
>
>
Status: Implemented in the Robot based testsuite
 
Line: 670 to 670
  Verify the output of glite-ce-service-info command for both verbosity levels.
Changed:
<
<
TBD
>
>
Status: Implemented in the Robot based testsuite
 
Line: 740 to 740
 Subject = CN=Massimo Sgaravatto,L=Padova,OU=Personal Certificate,O=INFN,C=IT
Added:
>
>
Status: Not Implemented
 

Proxy renewal

Line: 793 to 794
 Subject = CN=Massimo Sgaravatto,L=Padova,OU=Personal Certificate,O=INFN,C=IT
Added:
>
>
Status: Not Implemented
 

Activity without data staging

Submit an activity where in the Application part there is just the Executable without failifExitCodeNotEqualTo.

Revision 252012-03-21 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 1844 to 1844
 
Changed:
<
<

Validations

>
>

Validation for unsupported capability

Consider a ADL specifying a not supported atribute (e.g. RemoteLogging):

[sgaravat@cream-50 ADLExamples]$ cat remotelogging.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>sleep60</Name>
            <Description>sleep 60</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/sleep</Path>
                <Argument>60</Argument>
            </Executable>
           <RemoteLogging>
             <ServiceType>LB</ServiceType>
             <URL>https://locallogger.com</URL>
           </RemoteLogging>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
        </DataStaging>
    </ActivityDescription>

Submit it: a "capability not supported" message should be returned:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it remotelogging.adl
*****************************************
ActivityID     = 
FAULT:  Message=[remote logging capability not supported!] Timestamp=[1332346982]
ActivityMgrURI = 
Status         = N/A
ETNSC          = 
STAGEIN Dir    = {}
SESSION Dir    = {}
STAGEOUT Dir   = {}

Repeat the test specifying optional=false. The same error message should be returned:

[sgaravat@cream-50 ADLExamples]$ cat remotelogging.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>sleep60</Name>
            <Description>sleep 60</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/sleep</Path>
                <Argument>60</Argument>
            </Executable>
           <RemoteLogging optional="false">
             <ServiceType>LB</ServiceType>
             <URL>https://locallogger.com</URL>
           </RemoteLogging>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
        </DataStaging>
    </ActivityDescription>


[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it remotelogging.adl
*****************************************
ActivityID     = 
FAULT:  Message=[remote logging capability not supported!] Timestamp=[1332347088]
ActivityMgrURI = 
Status         = N/A
ETNSC          = 
STAGEIN Dir    = {}
SESSION Dir    = {}
STAGEOUT Dir   = {}

Repeat the test specifying optional=true. In this case the activity should be submitted:

[sgaravat@cream-50 ADLExamples]$ cat remotelogging.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>sleep60</Name>
            <Description>sleep 60</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/sleep</Path>
                <Argument>60</Argument>
            </Executable>
           <RemoteLogging optional="true">
             <ServiceType>LB</ServiceType>
             <URL>https://locallogger.com</URL>
           </RemoteLogging>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
        </DataStaging>
    </ActivityDescription>


[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it remotelogging.adl
*****************************************
ActivityID     = CR_ES663995663
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {}
Timestamp      = Wed Mar 21 17:25:09 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/66/CR_ES663995663/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/66/CR_ES663995663/OSB}
 
Deleted:
<
<
TBD
 

Pre and Post Executables

Revision 242012-03-20 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 2058 to 2058
 
Added:
>
>

List

Use the list operation and check if all your jobs are returned:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-list -e cream-47.pd.infn.it
CR_ES121359049
CR_ES271831319
CR_ES355205210
CR_ES393049605
CR_ES699482608
CR_ES745555371
CR_ES799188399
CR_ES810395877
CR_ES898737831
CR_ES931295038
CR_ES953523652
CR_ES975108994

Test the limit option. Only at most the specified number of entries should be returned:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-list -e cream-47.pd.infn.it -l 1
CR_ES121359049

Submit a job, and while it is running issue a list with the filter on the PROCESSING-RUNNING status:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it activity_sleep60.adl
*****************************************
ActivityID     = CR_ES747877778
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {}
Timestamp      = Tue Mar 20 14:45:24 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/74/CR_ES747877778/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/74/CR_ES747877778/OSB}

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-list -e cream-47.pd.infn.it -S PROCESSING_RUNNING
CR_ES747877778

Test the filter on the submission time, e.g.:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-list -e cream-47.pd.infn.it -F '2012-03-20 10:00:00'
CR_ES699482608
CR_ES747877778
CR_ES799188399

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-list -e cream-47.pd.infn.it -F '2012-03-01 10:00:00' -T '2012-03-19 10:00:00'
CR_ES121359049
CR_ES271831319
CR_ES393049605
CR_ES745555371
CR_ES810395877
CR_ES898737831
CR_ES931295038
CR_ES953523652
CR_ES975108994

ActivityInfo

Submit an activity and then check it with the activityinfo operation, e.g.:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-info -e cream-47.pd.infn.it CR_ES799188399 

**** ActivityID = CR_ES799188399

ID=https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService?CR_ES799188399
Name=sleep60
OtherInfo={}
CreationTime=1332250577 (Tue Mar 20 14:36:17 2012)
Validity=N/A
***** Extension #0:
      LocalID=CR_ES799188399
      Key=ACTIVITY_HISTORY
      Value=ACTIVITY_HISTORY
***** Extension #1:
      LocalID=CR_ES799188399
      Key=STAGE_IN_URI
      Value=gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/79/CR_ES799188399/ISB
***** Extension #2:
      LocalID=CR_ES799188399
      Key=STAGE_OUT_URI
      Value=gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/79/CR_ES799188399/OSB
BaseType=
Type=SINGLE
IDFromEndpoint=https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService?CR_ES799188399
LocalIDFromManager=lsf/20120320/607375
JobDescription=emi:adl
State={ACCEPTED, PREPROCESSING, PROCESSING-ACCEPTING, PROCESSING-QUEUED, PROCESSING-RUNNING, TERMINAL}
RestartState={}
ExitCode=0
ComputingManagerExitCode=N/A
Error={}
WaitingPosition=N/A
UserDomain=dteam
Owner=CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL
LocalOwner=dteam004
RequestedTotalWallTime=N/A
RequestedTotalCPUTime=N/A
RequestedSlots=N/A
RequestedApplicationEnvironment={}
StdIn=N/A
StdOut=N/A
StdErr=N/A
LogDir=N/A
ExecutionNode=prod-wn-003.pn.pd.infn.it
Queue=creamtest2
UsedTotalWallTime=N/A
UsedMainMemory=N/A
SubmissionTime=1332250577 (Tue Mar 20 14:36:17 2012)
ComputingManagerSubmissionTime=1332250577 (Tue Mar 20 14:36:17 2012)
StartTime=1332250588 (Tue Mar 20 14:36:28 2012)
ComputingManagerEndTime=1332250648 (Tue Mar 20 14:37:28 2012)
EndTime=1332250648 (Tue Mar 20 14:37:28 2012)
WorkingAreaEraseTime=N/A
ProxyExpirationTime=N/A
SubmissionHost=N/A
SubmissionClientName=N/A
OtherMessages=
[sgaravat@cream-50 ADLExamples]$ 

TBC

 

Pause and Resume

Create a long activity:

Revision 232012-03-19 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 1848 to 1848
  TBD
Added:
>
>

Pre and Post Executables

Consider this ADL:

[sgaravat@cream-50 ADLExamples]$ cat prepost.adl 
    <ActivityDescription>
        <ActivityIdentification>
            <Name>prepost</Name>
            <Description>prepost</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/hostname</Path>
                <Argument>-f</Argument>
            </Executable>
            <Output>prepost.out</Output>
            <PreExecutable>
                <Path>/bin/touch</Path>
                <Argument>/tmp/file1</Argument>
            </PreExecutable>
            <PreExecutable>
                <Path>/bin/touch</Path>
                <Argument>/tmp/file2</Argument>
            </PreExecutable>
            <PostExecutable>
                <Path>/bin/touch</Path>
                <Argument>/tmp/file3</Argument>
            </PostExecutable>
            <PostExecutable>
                <Path>/bin/touch</Path>
                <Argument>/tmp/file4</Argument>
            </PostExecutable>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
          <OutputFile>
             <Name>prepost.out</Name>
          </OutputFile>
        </DataStaging>
    </ActivityDescription>

Submit it:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it prepost.adl 
*****************************************
ActivityID     = CR_ES121359049
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {}
Timestamp      = Mon Mar 19 09:36:28 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/12/CR_ES121359049/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/12/CR_ES121359049/OSB}

Wait the termination of the job and retrieve the output file:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES121359049
*****************************************
JobID       = CR_ES121359049
Status      = TERMINAL
Attributes  = {CLIENT_STAGEOUT_POSSIBLE}
Timestamp   = Mon Mar 19 09:36:38 2012
Description = reason=0

[sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it
220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [Globus Toolkit 5.2.0] ready.
230 User dteam004 logged in.
UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/12/CR_ES121359049/OSB
UberFTP> ls
drwx------   3 dteam004    dteam         4096 Mar 19 09:36 .
drwx------   4 dteam004    dteam         4096 Mar 19 09:36 ..
-rw-r--r--   1 dteam004    dteam           26 Mar 19 09:36 prepost.out
UberFTP> get prepost.out
prepost.out: 26 bytes in 0.012021 Seconds (2.112 KB/s)
UberFTP> bye
221 Goodbye.

Check where the job was executed:

[sgaravat@cream-50 ADLExamples]$ cat prepost.out 
prod-wn-002.pn.pd.infn.it

Verify that in these WNs the files created by the pre and post executables have been created:

[sgaravat@cream-50 ADLExamples]$ ssh root@prod-wn-002.pn.pd.infn.it
The authenticity of host 'prod-wn-002.pn.pd.infn.it (192.168.132.102)' can't be established.
RSA key fingerprint is ac:fb:ee:57:ec:16:90:82:e7:de:36:ef:cb:0e:f6:95.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'prod-wn-002.pn.pd.infn.it,192.168.132.102' (RSA) to the list of known hosts.
root@prod-wn-002.pn.pd.infn.it's password: 
Last login: Sun Mar 18 09:50:57 2012 from cream-47.pd.infn.it
[root@prod-wn-002 ~]# ls -al /tmp/file*
-rw-r--r-- 1 dteam004 dteam 0 Mar 19 09:36 /tmp/file1
-rw-r--r-- 1 dteam004 dteam 0 Mar 19 09:36 /tmp/file2
-rw-r--r-- 1 dteam004 dteam 0 Mar 19 09:36 /tmp/file3
-rw-r--r-- 1 dteam004 dteam 0 Mar 19 09:36 /tmp/file4

 

Activity with Environment

Consider this activity:

Revision 222012-03-18 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 279 to 279
 to understand how to save and check the submission scripts.
Changed:
<
<
Status: Not Implemented
>
>
Status: Implemented in the Robot based testsuite
 

CPU Allocation Test 2

Line: 309 to 309
  with S equal to the value published as GlueHostArchitectureSMPSize.
Changed:
<
<
Status: Not Implemented
>
>
Status: Implemented in the Robot based testsuite
 

CPU Allocation Test 3

Line: 341 to 341
  with S equal to the value published as GlueHostArchitectureSMPSize.
Changed:
<
<
Status: Not Implemented
>
>
Status: Implemented in the Robot based testsuite
 

CPU Allocation Test 4

Line: 375 to 375
 R = C % G
Changed:
<
<
Status: Not Implemented
>
>
Status: Implemented in the Robot based testsuite
 

CPU Allocation Test 5

Line: 412 to 412
 R = C % H
Changed:
<
<
Status: Not Implemented
>
>
Status: Implemented in the Robot based testsuite
 

CPU Allocation Test 6

Line: 438 to 438
 PBS -l nodes=C
Changed:
<
<
Status: Not Implemented
>
>
Status: Implemented in the Robot based testsuite
 

JobStatus test

Line: 455 to 455
 Verify the proper functionality of the --from and -to option. Specify a time range where a single job was submitted, and verify that only the status of this job is returned.
Changed:
<
<
Status: Not Implemented
>
>
Status: Implemented in the Robot based testsuite
 
Line: 533 to 533
  After 24 hours recheck the status of the job with glite-ce-job-status. The job should not be found. Verify in the CREAM CE in the CREAM sandbox dir that a directory for this job doesn't exist anymore.
Changed:
<
<
Status: Not Implemented
>
>
Status: Implemented in the Robot based testsuite
 
Line: 743 to 743
 

Proxy renewal

Changed:
<
<
TBD
>
>
Create a 1 hour proxy and delegate it:

[sgaravat@cream-50 ADLExamples]$ voms-proxy-init -voms dteam  -valid 01:00
Enter GRID pass phrase:
Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=Padova/CN=Massimo Sgaravatto
Creating temporary proxy ..................... Done
Contacting  voms2.hellasgrid.gr:15004 [/C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms2.hellasgrid.gr] "dteam" Done
Creating proxy ............................. Done

Your proxy is valid until Sun Mar 18 11:59:28 2012

[sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it  
DelegationID = 6694176412145996

Verify with glite-es-delegation-info that the proxy lasts 1 hour:

[sgaravat@cream-50 ADLExamples]$ glite-es-delegation-info -e cream-47.pd.infn.it  6694176412145996
Lifetime = Sun Mar 18 11:58:35 2012
Issuer   = CN=proxy,CN=proxy,CN=Massimo Sgaravatto,L=Padova,OU=Personal Certificate,O=INFN,C=IT
Subject  = CN=Massimo Sgaravatto,L=Padova,OU=Personal Certificate,O=INFN,C=IT

Create a 2 hours proxy and renew the previously delegated proxy:

[sgaravat@cream-50 ADLExamples]$ voms-proxy-init -voms dteam  -valid 02:00
Enter GRID pass phrase:
Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=Padova/CN=Massimo Sgaravatto
Creating temporary proxy .................................... Done
Contacting  voms2.hellasgrid.gr:15004 [/C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms2.hellasgrid.gr] "dteam" Done
Creating proxy ............................................................... Done

Your proxy is valid until Sun Mar 18 13:00:27 2012

[sgaravat@cream-50 ADLExamples]$ glite-es-delegation-renew -e cream-47.pd.infn.it  6694176412145996
Delegation with identifier [6694176412145996] successfully renewed

Verify with glite-es-delegation-info that the proxy lasts 2 hours:

[sgaravat@cream-50 ADLExamples]$ glite-es-delegation-info -e cream-47.pd.infn.it  6694176412145996
Lifetime = Sun Mar 18 12:59:36 2012
Issuer   = CN=proxy,CN=proxy,CN=Massimo Sgaravatto,L=Padova,OU=Personal Certificate,O=INFN,C=IT
Subject  = CN=Massimo Sgaravatto,L=Padova,OU=Personal Certificate,O=INFN,C=IT
 

Activity without data staging

Line: 1321 to 1369
 

Activity with Input and Output with multiple Sources (both wrong)

Changed:
<
<
>
>
TBD
  Status: Not Implemented
Line: 1567 to 1615
 Status: Not Implemented
Changed:
<
<

Proxy renewal con 2 deleghe

>
>

Proxy renewal of multiple delegations

 
Changed:
<
<
[sgaravat@cream-50 ~]$ voms-proxy-init -voms dteam -valid 00:30Enter GRID pass phrase:
>
>
Create a short proxy:

[sgaravat@cream-50 ADLExamples]$ voms-proxy-init -voms dteam -valid 00:30
Enter GRID pass phrase:
 Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=Padova/CN=Massimo Sgaravatto
Changed:
<
<
Creating temporary proxy ....................... Done Contacting voms.hellasgrid.gr:15004 [/C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms.hellasgrid.gr] "dteam" Done Creating proxy ........................................ Done
>
>
Creating temporary proxy ..................... Done Contacting voms2.hellasgrid.gr:15004 [/C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms2.hellasgrid.gr] "dteam" Done Creating proxy .................................................. Done

Your proxy is valid until Sun Mar 18 10:12:19 2012

Delegate it twice, i.e. create two delegations:

 
Changed:
<
<
Your proxy is valid until Thu Mar 15 15:53:20 2012 [sgaravat@cream-50 ~]$ cd ADLExamples/
>
>
 [sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it
Changed:
<
<
DelegationID = 7409072324574691 [sgaravat@cream-50 ADLExamples]$ emacs -nw proxyrenewal.adl
>
>
DelegationID = 5670349996819731
 [sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it
Changed:
<
<
DelegationID = 2700215137909804 [sgaravat@cream-50 ADLExamples]$ emacs -nw proxyrenewal.adl[sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it proxyrenewal.adl
>
>
DelegationID = 6261618400431184

Consider this ADL (the delegationids are the ones returned by the glite-es-delegate-proxy commands):

[sgaravat@cream-50 ADLExamples]$ cat proxyrenewal.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>Proxy Renewal</Name>
            <Description>Proxy Renewal</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>proxyrenewal.sh</Path>
            </Executable>
            <Input>file.inp</Input>
            <Output>file.out</Output>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
          <ClientDataPush>true</ClientDataPush>
          <InputFile>
             <Name>file.inp</Name>
             <Source>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.inp</URI>
               <DelegationID>5670349996819731</DelegationID>
             </Source>
          </InputFile>
          <OutputFile>
             <Name>file.out</Name>
             <Target>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.out</URI>
               <DelegationID>6261618400431184</DelegationID>
             </Target>
          </OutputFile>
        </DataStaging>
    </ActivityDescription>

[sgaravat@cream-50 ADLExamples]$ cat proxyrenewal.sh 
#!/bin/sh
sleep 3600
/usr/bin/tee

Create the input file gsiftp://cream-35.pd.infn.it/tmp/file.inp and submit this activity:

sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it proxyrenewal.adl
 ***************************************
Changed:
<
<
ActivityID = CR_ES702776033
>
>
ActivityID = CR_ES898737831
 ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService Status = PREPROCESSING Status Attrs = {CLIENT_STAGEIN_POSSIBLE}
Changed:
<
<
Timestamp = Thu Mar 15 15:24:19 2012
>
>
Timestamp = Sun Mar 18 09:47:58 2012
 Description = ETNSC =
Changed:
<
<
STAGEIN Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/70/CR_ES702776033/ISB}
>
>
STAGEIN Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/89/CR_ES898737831/ISB}
 SESSION Dir = {}
Changed:
<
<
STAGEOUT Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/70/CR_ES702776033/OSB} [sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it 220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready.
>
>
STAGEOUT Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/89/CR_ES898737831/OSB}

Upload the proxyrenewal.sh input file and notify the service:

[sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [Globus Toolkit 5.2.0] ready.
 230 User dteam004 logged in.
Changed:
<
<
UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/70/CR_ES702776033/ISB
>
>
UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/89/CR_ES898737831/ISB
 UberFTP> put proxyrenewal.sh
Changed:
<
<
proxyrenewal.sh: 34 bytes in 0.015364 Seconds (2.161 KB/s)
>
>
proxyrenewal.sh: 34 bytes in 0.011920 Seconds (2.785 KB/s)
 UberFTP> bye 221 Goodbye.
Changed:
<
<
[sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES702776033:CLIENT-DATAPUSH-DONE
>
>
[sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES898737831:CLIENT-DATAPUSH-DONE
 
Changed:
<
<
[sgaravat@cream-50 ADLExamples]$ voms-proxy-init -voms dteam Enter GRID pass phrase: wrong pass phrase Function: proxy_init_cred
>
>
After 10 minutes create a long proxy and renew the 2 delegations:
 [sgaravat@cream-50 ADLExamples]$ voms-proxy-init -voms dteam Enter GRID pass phrase: Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=Padova/CN=Massimo Sgaravatto
Changed:
<
<
Creating temporary proxy .................................... Done
>
>
Creating temporary proxy ......................................... Done
 Contacting voms2.hellasgrid.gr:15004 [/C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms2.hellasgrid.gr] "dteam" Done
Changed:
<
<
Creating proxy ................................................. Done
>
>
Creating proxy .................................................................... Done
 
Changed:
<
<
Your proxy is valid until Fri Mar 16 03:36:11 2012 [sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$ glite-es-delegation-renew -e cream-47.pd.infn.it 2700215137909804 Delegation with identifier [2700215137909804] successfully renewed [sgaravat@cream-50 ADLExamples]$ glite-es-delegation-renew -e cream-47.pd.infn.it 7409072324574691 Delegation with identifier [7409072324574691] successfully renewed
>
>
Your proxy is valid until Sun Mar 18 21:51:31 2012
 
Added:
>
>
[sgaravat@cream-50 ADLExamples]$ glite-es-delegation-renew -e cream-47.pd.infn.it 5670349996819731 Delegation with identifier [5670349996819731] successfully renewed [sgaravat@cream-50 ADLExamples]$ glite-es-delegation-renew -e cream-47.pd.infn.it 6261618400431184 Delegation with identifier [6261618400431184] successfully renewed
 
Changed:
<
<
xxxxxx
>
>
After 30 minutes check the job status which should be TERMINAL without attributes:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES898737831
*****************************************
JobID       = CR_ES898737831
Status      = TERMINAL
Attributes  = {}
Timestamp   = Sun Mar 18 10:49:42 2012
Description = reason=0

Verify also that the output file gsiftp://cream-35.pd.infn.it/tmp/file.out has been created.

 

Submission of multiple activities

Line: 1725 to 1846
 

Validations

Added:
>
>
TBD
 

Activity with Environment

Added:
>
>
Consider this activity:

[sgaravat@cream-50 ADLExamples]$ cat environment.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>env</Name>
            <Description>env</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/env</Path>
            </Executable>
            <Output>env.out</Output>
            <Environment>  
             <Name>colore</Name>
             <Value>rosso</Value>
            </Environment>  
            <Environment>  
             <Name>forma</Name>
             <Value>rombo</Value>
            </Environment>  
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
          <OutputFile>
             <Name>env.out</Name>
          </OutputFile>
        </DataStaging>
    </ActivityDescription>

Submit it:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it environment.adl
*****************************************
ActivityID     = CR_ES953523652
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {}
Timestamp      = Sun Mar 18 11:22:47 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/95/CR_ES953523652/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/95/CR_ES953523652/OSB}

When the status is TERMINAL with CLIENT_STAGEOUT_POSSIBLE retrieve the output file:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES953523652
*****************************************
JobID       = CR_ES953523652
Status      = TERMINAL
Attributes  = {CLIENT_STAGEOUT_POSSIBLE}
Timestamp   = Sun Mar 18 11:22:51 2012
Description = reason=0

[sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it
220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [Globus Toolkit 5.2.0] ready.
230 User dteam004 logged in.
UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/95/CR_ES953523652/OSB
UberFTP> ls
drwx------   3 dteam004    dteam         4096 Mar 18 11:22 .
drwx------   4 dteam004    dteam         4096 Mar 18 11:22 ..
-rw-r--r--   1 dteam004    dteam         3179 Mar 18 11:22 env.out
UberFTP> get env.out
env.out: 3179 bytes in 0.012435 Seconds (249.658 KB/s)
UberFTP> bye
221 Goodbye.

Verify that in output file the two variables are defined:

[sgaravat@cream-50 ADLExamples]$ grep -i colore env.out 
colore=rosso
[sgaravat@cream-50 ADLExamples]$ grep -i forma env.out 
forma=rombo
 

Pause and Resume

Revision 212012-03-15 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 1569 to 1569
 

Proxy renewal con 2 deleghe

Changed:
<
<
[sgaravat@cream-50 ADLExamples]$ voms-proxy-init -voms dteam -valid 00:30 Enter GRID pass phrase:
>
>
[sgaravat@cream-50 ~]$ voms-proxy-init -voms dteam -valid 00:30Enter GRID pass phrase:
 Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=Padova/CN=Massimo Sgaravatto
Changed:
<
<
Creating temporary proxy ............................................................... Done
>
>
Creating temporary proxy ....................... Done
 Contacting voms.hellasgrid.gr:15004 [/C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms.hellasgrid.gr] "dteam" Done
Changed:
<
<
Creating proxy ....................................... Done
>
>
Creating proxy ........................................ Done
 
Changed:
<
<
Your proxy is valid until Tue Mar 13 12:30:38 2012
>
>
Your proxy is valid until Thu Mar 15 15:53:20 2012 [sgaravat@cream-50 ~]$ cd ADLExamples/
 [sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it
Changed:
<
<
DelegationID = 2415012188170419
>
>
DelegationID = 7409072324574691
 [sgaravat@cream-50 ADLExamples]$ emacs -nw proxyrenewal.adl [sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it
Changed:
<
<
DelegationID = 8383865496467339
>
>
DelegationID = 2700215137909804
 [sgaravat@cream-50 ADLExamples]$ emacs -nw proxyrenewal.adl[sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$
Added:
>
>
[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it proxyrenewal.adl *************************************** ActivityID = CR_ES702776033 ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService Status = PREPROCESSING Status Attrs = {CLIENT_STAGEIN_POSSIBLE} Timestamp = Thu Mar 15 15:24:19 2012 Description = ETNSC = STAGEIN Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/70/CR_ES702776033/ISB} SESSION Dir = {} STAGEOUT Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/70/CR_ES702776033/OSB} [sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it 220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready. 230 User dteam004 logged in. UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/70/CR_ES702776033/ISB UberFTP> put proxyrenewal.sh proxyrenewal.sh: 34 bytes in 0.015364 Seconds (2.161 KB/s) UberFTP> bye 221 Goodbye. [sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES702776033:CLIENT-DATAPUSH-DONE

[sgaravat@cream-50 ADLExamples]$ voms-proxy-init -voms dteam Enter GRID pass phrase: wrong pass phrase Function: proxy_init_cred [sgaravat@cream-50 ADLExamples]$ voms-proxy-init -voms dteam Enter GRID pass phrase: Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=Padova/CN=Massimo Sgaravatto Creating temporary proxy .................................... Done Contacting voms2.hellasgrid.gr:15004 [/C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms2.hellasgrid.gr] "dteam" Done Creating proxy ................................................. Done

Your proxy is valid until Fri Mar 16 03:36:11 2012

 [sgaravat@cream-50 ADLExamples]$
Added:
>
>
[sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$ glite-es-delegation-renew -e cream-47.pd.infn.it 2700215137909804 Delegation with identifier [2700215137909804] successfully renewed [sgaravat@cream-50 ADLExamples]$ glite-es-delegation-renew -e cream-47.pd.infn.it 7409072324574691 Delegation with identifier [7409072324574691] successfully renewed

xxxxxx

 

Submission of multiple activities

Revision 202012-03-15 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 1319 to 1319
  Status: Not Implemented
Added:
>
>

Activity with Input and Output with multiple Sources (both wrong)

 
Added:
>
>
Status: Not Implemented

Activity with Input and Output with multiple Sources (one wrong, one correct)

Delegate a proxy:

[sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it  
DelegationID = 7658329806304154

Consider the following ADL (the delegationid is the one returned by the previous command):

[sgaravat@cream-50 ADLExamples]$ cat datastag8.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>cat</Name>
            <Description>cat</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/cat</Path>
            </Executable>
            <Input>file.inp</Input>
            <Output>file.out</Output>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
          <InputFile>
             <Name>file.inp</Name>
             <Source>
               <URI>gsiftp://host1.domain1/tmp/file.inp</URI>
               <DelegationID>7658329806304154</DelegationID>
             </Source>
             <Source>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.inp</URI>
               <DelegationID>7658329806304154</DelegationID>
             </Source>
          </InputFile>
          <OutputFile>
             <Name>file.out</Name>
             <Target>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.out</URI>
               <DelegationID>7658329806304154</DelegationID>
             </Target>
          </OutputFile>
        </DataStaging>
    </ActivityDescription>

Create the input file gsiftp://cream-35.pd.infn.it/tmp/file.inp and submit the activity:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it datastag8.adl
*****************************************
ActivityID     = CR_ES475196853
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {}
Timestamp      = Thu Mar 15 11:39:07 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/47/CR_ES475196853/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam004/47/CR_ES475196853/OSB}

Check the status which should eventually be TERMINAL:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES475196853
*****************************************
JobID       = CR_ES475196853
Status      = TERMINAL
Attributes  = {}
Timestamp   = Thu Mar 15 11:39:18 2012
Description = reason=0

Verify that the output file gsiftp://cream-35.pd.infn.it/tmp/file.out has been created.

Status: Not Implemented

 

Activity with Input and Output with multiple Targets

Create a delegation:

Revision 192012-03-13 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 1495 to 1495
 [sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$
Added:
>
>

Submission of multiple activities

 
Changed:
<
<
[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it proxyrenewal.adl
>
>
Consider the follow ADL:

[sgaravat@cream-50 ADLExamples]$ cat multi.adl
<CreateActivities>
    <ActivityDescription>
        <ActivityIdentification>
            <Name>sleep60</Name>
            <Description>sleep 60</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/sleep</Path>
                <Argument>60</Argument>
            </Executable>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
    </ActivityDescription>
    <ActivityDescription>
        <ActivityIdentification>
            <Name>sleep60</Name>
            <Description>sleep 60</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/sleep</Path>
                <Argument>600</Argument>
            </Executable>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
    </ActivityDescription>
</CreateActivities>

Submit it (two jobs should be submitted):

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it multi.adl
 ***************************************
Changed:
<
<
ActivityID = CR_ES276293409
>
>
ActivityID = CR_ES063075266
 ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService Status = PREPROCESSING
Changed:
<
<
Status Attrs = {CLIENT_STAGEIN_POSSIBLE} Timestamp = Tue Mar 13 12:05:50 2012
>
>
Status Attrs = {} Timestamp = Tue Mar 13 16:12:02 2012
 Description = ETNSC =
Changed:
<
<
STAGEIN Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/27/CR_ES276293409/ISB}
>
>
STAGEIN Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/06/CR_ES063075266/ISB}
 SESSION Dir = {}
Changed:
<
<
STAGEOUT Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/27/CR_ES276293409/OSB} [sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it 220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready. 230 User dteam042 logged in. UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/27/CR_ES276293409/ISB UberFTP> put proxy_renewal.sh proxy_renewal.sh: 34 bytes in 0.015349 Seconds (2.163 KB/s) UberFTP> bye 221 Goodbye. [sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES276293409:CLIENT-DATAPUSH-DONE
>
>
STAGEOUT Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/06/CR_ES063075266/OSB} *************************************** ActivityID = CR_ES016651242 ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService Status = PREPROCESSING Status Attrs = {} Timestamp = Tue Mar 13 16:12:03 2012 Description = ETNSC = STAGEIN Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/01/CR_ES016651242/ISB} SESSION Dir = {} STAGEOUT Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/01/CR_ES016651242/OSB}
 
Added:
>
>
Check their status using a single command:
 
Added:
>
>
[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES016651242 CR_ES063075266
*****************************************
JobID       = CR_ES016651242
Status      = PROCESSING_RUNNING
Attributes  = {}
Timestamp   = Tue Mar 13 16:12:15 2012
Description = 
*****************************************
JobID       = CR_ES063075266
Status      = TERMINAL
Attributes  = {}
Timestamp   = Tue Mar 13 16:13:10 2012
Description = reason=0
[sgaravat@cream-50 ADLExamples]$ 
 

Validations

Line: 1529 to 1595
 
Added:
>
>

Pause and Resume

Create a long activity:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it activity_sleep60.adl
*****************************************
ActivityID     = CR_ES679500221
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {}
Timestamp      = Tue Mar 13 16:25:08 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/67/CR_ES679500221/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/67/CR_ES679500221/OSB}

Wait some minutes and then pause it:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-pause -e cream-47.pd.infn.it CR_ES679500221

Wait some minutes and the check its status which should be PROCESSING_RUNNING with CLIENT_PAUSED as attribute:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES679500221
*****************************************
JobID       = CR_ES679500221
Status      = PROCESSING_RUNNING
Attributes  = {CLIENT_PAUSED}
Timestamp   = Tue Mar 13 16:25:33 2012
Description =

Resume it:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-resume -e cream-47.pd.infn.it CR_ES679500221

Wait some minutes and then check its status again which should be PROCESSING_RUNNING without attributes:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES679500221
*****************************************
JobID       = CR_ES679500221
Status      = PROCESSING_RUNNING
Attributes  = {}
Timestamp   = Tue Mar 13 16:26:16 2012
Description = 

Cancel

Submit a long activity:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it activity_sleep60.adl
*****************************************
ActivityID     = CR_ES619765347
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {}
Timestamp      = Tue Mar 13 15:59:25 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/61/CR_ES619765347/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/61/CR_ES619765347/OSB}

Wait a while and then cancel it:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-cancel -e cream-47.pd.infn.it CR_ES619765347

Check the status that eventually should be TERMINAL with xxx_CANCEL as attribute:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES619765347
*****************************************
JobID       = CR_ES619765347
Status      = TERMINAL
Attributes  = {PROCESSING_CANCEL}
Timestamp   = Tue Mar 13 16:00:04 2012
Description = cancelled by the user

Wipe

Submit an activity and wait that the status is TERMINAL:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES668400340
*****************************************
JobID       = CR_ES668400340
Status      = TERMINAL
Attributes  = {}
Timestamp   = Tue Mar 13 15:51:24 2012
Description = reason=0

Issue the wipe:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-wipe -e cream-47.pd.infn.it CR_ES668400340

Retry a status, which should report that the activity is not found:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES668400340
*****************************************
JobID       = CR_ES668400340
Message     = Activity not found!
Timestamp   = Tue Mar 13 15:51:57 2012
Description = N/A
FailCode    = N/A

Verify that the job sandbox directory has been removed

 

Regression tests

See: http://wiki.italiangrid.it/twiki/bin/view/CREAM/RegressionTestWorkPlan

Revision 182012-03-13 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 1477 to 1477
 

Proxy renewal con 2 deleghe

Added:
>
>
[sgaravat@cream-50 ADLExamples]$ voms-proxy-init -voms dteam -valid 00:30 Enter GRID pass phrase: Your identity: /C=IT/O=INFN/OU=Personal Certificate/L=Padova/CN=Massimo Sgaravatto Creating temporary proxy ............................................................... Done Contacting voms.hellasgrid.gr:15004 [/C=GR/O=HellasGrid/OU=hellasgrid.gr/CN=voms.hellasgrid.gr] "dteam" Done Creating proxy ....................................... Done

Your proxy is valid until Tue Mar 13 12:30:38 2012 [sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it DelegationID = 2415012188170419 [sgaravat@cream-50 ADLExamples]$ emacs -nw proxyrenewal.adl [sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it DelegationID = 8383865496467339 [sgaravat@cream-50 ADLExamples]$ emacs -nw proxyrenewal.adl[sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$ [sgaravat@cream-50 ADLExamples]$

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it proxyrenewal.adl *************************************** ActivityID = CR_ES276293409 ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService Status = PREPROCESSING Status Attrs = {CLIENT_STAGEIN_POSSIBLE} Timestamp = Tue Mar 13 12:05:50 2012 Description = ETNSC = STAGEIN Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/27/CR_ES276293409/ISB} SESSION Dir = {} STAGEOUT Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/27/CR_ES276293409/OSB} [sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it 220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready. 230 User dteam042 logged in. UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/27/CR_ES276293409/ISB UberFTP> put proxy_renewal.sh proxy_renewal.sh: 34 bytes in 0.015349 Seconds (2.163 KB/s) UberFTP> bye 221 Goodbye. [sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES276293409:CLIENT-DATAPUSH-DONE

 

Validations

Revision 172012-03-13 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 855 to 855
 

Activity with Input and Output: Client Data Push and Client Data Pull

Changed:
<
<
datastag0.adl
>
>
Consider this ADL:

<ActivityDescription>
        <ActivityIdentification>
            <Name>cat</Name>
            <Description>cat</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/cat</Path>
            </Executable>
            <Input>file.inp</Input>
            <Output>file.out</Output>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
          <ClientDataPush>true</ClientDataPush>
          <OutputFile>
             <Name>file.out</Name>
          </OutputFile>
        </DataStaging>
    </ActivityDescription>

Submit it:

$ glite-es-activity-create -e cream-47.pd.infn.it datastag0.adl
*****************************************
ActivityID     = CR_ES853730468
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {CLIENT_STAGEIN_POSSIBLE}
Timestamp      = Tue Mar 13 09:20:33 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/85/CR_ES853730468/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/85/CR_ES853730468/OSB}

Stage the input files in the STAGEIN Dir:

[sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it
220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready.
230 User dteam042 logged in.
UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/85/CR_ES853730468/ISB
UberFTP> put file.inp
file.inp: 18 bytes in 0.015343 Seconds (1.146 KB/s)
UberFTP> bye
221 Goodbye.

Notify the service that the stagein was done:

[sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES853730468:CLIENT-DATAPUSH-DONE

Check the status that eventually should be TERMINAL with CLIENT_STAGEOUT_POSSIBLE as attribute:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES853730468
*****************************************
JobID       = CR_ES853730468
Status      = TERMINAL
Attributes  = {CLIENT_STAGEOUT_POSSIBLE}
Timestamp   = Tue Mar 13 09:21:22 2012
Description = reason=0

Retrieve the output files from the STAGEOUT Dir:

[sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready.
230 User dteam042 logged in.
UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/85/CR_ES853730468/OSB
UberFTP> ls
drwx------   3 dteam042    dteam         4096 Mar 13 09:21 .
drwx------   4 dteam042    dteam         4096 Mar 13 09:21 ..
-rw-r--r--   1 dteam042    dteam           18 Mar 13 09:21 file.out
UberFTP> get file.out
file.out: 18 bytes in 0.010151 Seconds (1.732 KB/s)
UberFTP> bye
221 Goodbye.

Notify the service that the stageout was done:

[sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES853730468:CLIENT-DATAPULL-DONE

Check the job status which should be TERMINAL without attributes:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES853730468
*****************************************
JobID       = CR_ES853730468
Status      = TERMINAL
Attributes  = {}
Timestamp   = Tue Mar 13 09:21:23 2012
Description = reason=0

Status: Not Implemented

 

Activity with Input and Output: Server Data Push and Server Data Pull

Changed:
<
<
datastag1.adl
>
>
Delegate a proxy:

[sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it  
DelegationID = 32141661326088133

Consider this JDL (the DelegationID should be the one returned by the glite-es-delegate-proxy operation):

[sgaravat@cream-50 ADLExamples]$ cat datastag1.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>cat</Name>
            <Description>cat</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/cat</Path>
            </Executable>
            <Input>file.inp</Input>
            <Output>file.out</Output>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
          <InputFile>
             <Name>file.inp</Name>
             <Source>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.inp</URI>
               <DelegationID>32141661326088133</DelegationID>
             </Source>
          </InputFile>
          <OutputFile>
             <Name>file.out</Name>
             <Target>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.out</URI>
               <DelegationID>32141661326088133</DelegationID>
             </Target>
          </OutputFile>
        </DataStaging>
    </ActivityDescription>

Create the input file gsiftp://cream-35.pd.infn.it/tmp/file.inp.

Submit the activity:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it datastag1.adl
*****************************************
ActivityID     = CR_ES691768495
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {}
Timestamp      = Tue Mar 13 09:39:34 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/69/CR_ES691768495/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/69/CR_ES691768495/OSB}

Check the job status which should eventually be TERMINAL:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES691768495 
*****************************************
JobID       = CR_ES691768495
Status      = TERMINAL
Attributes  = {}
Timestamp   = Tue Mar 13 09:39:45 2012
Description = reason=0

Verify that the specified output file (gsiftp://cream-35.pd.infn.it/tmp/file.out) has been produced.

Status: Not Implemented

 

Activity with Input and Output: Server and Client Data Push, Server and Client Data Pull

Changed:
<
<
datastag2.adl
>
>
Delegate a proxy:

[sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it  
DelegationID = 3368110324080861

Consider this ADL (the DelegationID) must be the one returned by the glite-es-delegate-proxy command:

[sgaravat@cream-50 ADLExamples]$ cat datastag2.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>cat</Name>
            <Description>cat</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>myscript.sh</Path>
            </Executable>
            <Output>myscript.out</Output>
            <Error>myscript.err</Error>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
          <ClientDataPush>true</ClientDataPush>
          <InputFile>
             <Name>file.inp</Name>
             <Source>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.inp</URI>
               <DelegationID>3368110324080861</DelegationID>
             </Source>
          </InputFile>
          <OutputFile>
             <Name>myscript.out</Name>
             <Target>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/myscript.out</URI>
               <DelegationID>3368110324080861</DelegationID>
             </Target>
          </OutputFile>
          <OutputFile>
             <Name>myscript.err</Name>
          </OutputFile>
        </DataStaging>
    </ActivityDescription>

Create the input file gsiftp://cream-35.pd.infn.it/tmp/file.inp and submit the activity:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it datastag2.adl
*****************************************
ActivityID     = CR_ES526044183
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {CLIENT_STAGEIN_POSSIBLE}
Timestamp      = Tue Mar 13 10:01:29 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/52/CR_ES526044183/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/52/CR_ES526044183/OSB}

Upload the input file in the STAGEIN Dir and notify the service that the upload was done:

[sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready.
230 User dteam042 logged in.
UberFTP> cd var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/52/CR_ES526044183/ISB  
[sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it
220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready.
230 User dteam042 logged in.
UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/52/CR_ES526044183/ISB
UberFTP> put myscript.sh
myscript.sh: 50 bytes in 0.015672 Seconds (3.116 KB/s)
UberFTP> bye
221 Goodbye.
[sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES526044183:CLIENT-DATAPUSH-DONE

Check the status which eventually should be TERMINAL with CLIENT_STAGEOUT_POSSIBLE as attribute:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES526044183
*****************************************
JobID       = CR_ES526044183
Status      = TERMINAL
Attributes  = {CLIENT_STAGEOUT_POSSIBLE}
Timestamp   = Tue Mar 13 10:02:25 2012
Description = reason=0

Download the output files from the StageOUT Dir and notify the service:

[sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready.
230 User dteam042 logged in.
UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/52/CR_ES526044183/OSB
UberFTP> ls
drwx------   3 dteam042    dteam         4096 Mar 13 10:02 .
drwx------   4 dteam042    dteam         4096 Mar 13 10:02 ..
-rw-r--r--   1 dteam042    dteam           55 Mar 13 10:02 myscript.err
UberFTP> get myscript.err
myscript.err: 55 bytes in 0.012255 Seconds (4.383 KB/s)
UberFTP> bye
221 Goodbye.
[sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES526044183:CLIENT-DATAPULL-DONE

Check the status which should be TERMINAL without attributes:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES526044183
*****************************************
JobID       = CR_ES526044183
Status      = TERMINAL
Attributes  = {}
Timestamp   = Tue Mar 13 10:02:26 2012
Description = reason=0

Verify that the output file gsiftp://cream-35.pd.infn.it/tmp/myscript.out has been produced.

Status: Not Implemented

 

Activity with Input and Output: Server and Client Data Push, Server and Client Data Pull, and multiple Delegations

Changed:
<
<
datastag3.adl
>
>
Perform two delegations:

[sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it 
DelegationID = 059683951543786695
[sgaravat@cream-50 ADLExamples]$ 
[sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it 
DelegationID = 5352938890620005

Consider this ADL (the 2 delegationids must be the ones returned by the glite-es-delegate-proxy commands):

[sgaravat@cream-50 ADLExamples]$ cat datastag3.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>cat</Name>
            <Description>cat</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>myscript.sh</Path>
            </Executable>
            <Output>myscript.out</Output>
            <Error>myscript.err</Error>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
          <ClientDataPush>true</ClientDataPush>
          <InputFile>
             <Name>file.inp</Name>
             <Source>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.inp</URI>
               <DelegationID>059683951543786695</DelegationID>
             </Source>
          </InputFile>
          <OutputFile>
             <Name>myscript.out</Name>
             <Target>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/myscript.out</URI>
               <DelegationID>5352938890620005</DelegationID>
             </Target>
          </OutputFile>
          <OutputFile>
             <Name>myscript.err</Name>
          </OutputFile>
        </DataStaging>
    </ActivityDescription>

Create the input file gsiftp://cream-35.pd.infn.it/tmp/file.inp and submit the activity:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it datastag3.adl
*****************************************
ActivityID     = CR_ES034507131
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {CLIENT_STAGEIN_POSSIBLE}
Timestamp      = Tue Mar 13 10:15:11 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/03/CR_ES034507131/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/03/CR_ES034507131/OSB}

Upload the input files in the STAGEIN Dir and notify the service:

[sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it
220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready.
230 User dteam042 logged in.
UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/03/CR_ES034507131/ISB
UberFTP> put myscript.sh
myscript.sh: 50 bytes in 0.015260 Seconds (3.200 KB/s)
UberFTP> bye
221 Goodbye.
[sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES034507131:CLIENT-DATAPUSH-DONE

Check the activity status which eventually should be TERMINAL with CLIENT_STAGEOUT_POSSIBLE as attribute:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES034507131
*****************************************
JobID       = CR_ES034507131
Status      = TERMINAL
Attributes  = {CLIENT_STAGEOUT_POSSIBLE}
Timestamp   = Tue Mar 13 10:16:05 2012
Description = reason=0

Download the output files from the StageOUT Dir and notify the service:

[sgaravat@cream-50 ADLExamples]$ uberftp cream-47.pd.infn.it220 cream-47.pd.infn.it GridFTP Server 6.5 (gcc64, 1323378368-83) [unknown] ready.
230 User dteam042 logged in.
UberFTP> cd /var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/03/CR_ES034507131/OSB
UberFTP> ls
drwx------   3 dteam042    dteam         4096 Mar 13 10:16 .
drwx------   4 dteam042    dteam         4096 Mar 13 10:16 ..
-rw-r--r--   1 dteam042    dteam           55 Mar 13 10:16 myscript.err
UberFTP> get myscript.err
myscript.err: 55 bytes in 0.011562 Seconds (4.645 KB/s)
UberFTP> bye
221 Goodbye.
[sgaravat@cream-50 ADLExamples]$ glite-es-notify-service -e cream-47.pd.infn.it CR_ES034507131:CLIENT-DATAPULL-DONE

Check the status which should be TERMINAL without attributes:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES034507131
*****************************************
JobID       = CR_ES034507131
Status      = TERMINAL
Attributes  = {}
Timestamp   = Tue Mar 13 10:16:05 2012
Description = reason=0

Verify that the output file gsiftp://cream-35.pd.infn.it/tmp/myscript.out has been created.

Status: Not Implemented

 

Activity with Input and Output with multiple Targets

Changed:
<
<
datastag5.adl
>
>
Create a delegation:

[sgaravat@cream-50 ADLExamples]$ glite-es-delegate-proxy -e cream-47.pd.infn.it 
DelegationID = 6749966998262459

Consider this ADL, where the delegationid is the one returned by the glite-es-delegate-proxy command:

[sgaravat@cream-50 ADLExamples]$ cat datastag5.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>cat</Name>
            <Description>cat</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/cat</Path>
            </Executable>
            <Input>file.inp</Input>
            <Output>file.out</Output>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
          <InputFile>
             <Name>file.inp</Name>
             <Source>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.inp</URI>
               <DelegationID>6749966998262459</DelegationID>
             </Source>
          </InputFile>
          <OutputFile>
             <Name>file.out</Name>
             <Target>
               <URI>gsiftp://cream-47.pd.infn.it/tmp/file.out</URI>
               <DelegationID>6749966998262459</DelegationID>
               <Mandatory>true</Mandatory>
             </Target>
             <Target>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.out</URI>
               <DelegationID>6749966998262459</DelegationID>
               <Mandatory>true</Mandatory>
             </Target>
          </OutputFile>
        </DataStaging>
    </ActivityDescription>

Create the input file gsiftp://cream-35.pd.infn.it/tmp/file.inp and submit the activity:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it datastag5.adl
*****************************************
ActivityID     = CR_ES417521144
ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = PREPROCESSING
Status Attrs   = {}
Timestamp      = Tue Mar 13 10:33:14 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/41/CR_ES417521144/ISB}
SESSION Dir    = {}
STAGEOUT Dir   = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/41/CR_ES417521144/OSB}

Check the job status which eventually should be TERMINAL without attributes:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES417521144
*****************************************
JobID       = CR_ES417521144
Status      = TERMINAL
Attributes  = {}
Timestamp   = Tue Mar 13 10:33:26 2012
Description = reason=0

Verify that the output files gsiftp://cream-47.pd.infn.it/tmp/file.out and gsiftp://cream-35.pd.infn.it/tmp/file.out have been both created.

Status: Not Implemented

 

Activity with Input and Output specifying a non existing delegationid

Changed:
<
<
datastagnodel.adl
>
>
Consider this ADL (where the specified delegationid doesn't exist):

[sgaravat@cream-50 ADLExamples]$ cat datastagnodel.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>cat</Name>
            <Description>cat</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>myscript.sh</Path>
            </Executable>
            <Output>myscript.out</Output>
            <Error>myscript.err</Error>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
        <DataStaging>
          <ClientDataPush>true</ClientDataPush>
          <InputFile>
             <Name>file.inp</Name>
             <Source>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/file.inp</URI>
               <DelegationID>xyz</DelegationID>
             </Source>
          </InputFile>
          <OutputFile>
             <Name>myscript.out</Name>
             <Target>
               <URI>gsiftp://cream-35.pd.infn.it/tmp/myscript.out</URI>
               <DelegationID>xyz</DelegationID>
             </Target>
          </OutputFile>
          <OutputFile>
             <Name>myscript.err</Name>
          </OutputFile>
        </DataStaging>
    </ActivityDescription>

and try to submit it. An error should be returned:

[sgaravat@cream-50 ADLExamples]$ glite-es-activity-create -e cream-47.pd.infn.it datastagnodel.adl
*****************************************
ActivityID     = 
FAULT:  Message=[delegation [delegId=xyz; dn=CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT; localUser=dteam042] not found!] Timestamp=[1331631651]
ActivityMgrURI = 
Status         = N/A
ETNSC          = 
STAGEIN Dir    = {}
SESSION Dir    = {}
STAGEOUT Dir   = {}

Status: Not Implemented

Proxy renewal con 2 deleghe

Validations

 

Activity with Environment

Revision 162012-03-12 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 745 to 745
  TBD
Changed:
<
<

Activity submission without data staging

>
>

Activity without data staging

  Submit an activity where in the Application part there is just the Executable without failifExitCodeNotEqualTo.
Line: 800 to 800
  Status: Not Implemented
Changed:
<
<

Activity submission with failifExitCodeNotEqualTo

>
>

Activity with failifExitCodeNotEqualTo

  Submit an activity where in the Application part there is just the Executable with failifExitCodeNotEqualTo.
Line: 853 to 853
  Status: Not Implemented
Changed:
<
<

Activity submission with Input and Output: Client Data Push and Client Data Pull

>
>

Activity with Input and Output: Client Data Push and Client Data Pull

  datastag0.adl
Changed:
<
<

Activity submission with Input and Output: Server Data Push and Server Data Pull

>
>

Activity with Input and Output: Server Data Push and Server Data Pull

  datastag1.adl
Changed:
<
<

Activity submission with Environment

>
>

Activity with Input and Output: Server and Client Data Push, Server and Client Data Pull

datastag2.adl

Activity with Input and Output: Server and Client Data Push, Server and Client Data Pull, and multiple Delegations

datastag3.adl

Activity with Input and Output with multiple Targets

datastag5.adl

Activity with Input and Output specifying a non existing delegationid

datastagnodel.adl

Activity with Environment

 

Revision 152012-03-12 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 770 to 770
 

$ glite-es-activity-create -e cream-38.pd.infn.it activity_sleep60.adl

Added:
>
>
$ glite-es-activity-create -e cream-47.pd.infn.it activity_sleep60.adl
 ***************************************
Changed:
<
<
ActivityID = CR_ES096117205 ActivityMgrURI = https://cream-38.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService Status = ACCEPTED
>
>
ActivityID = CR_ES156078531 ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService Status = PREPROCESSING
 Status Attrs = {}
Changed:
<
<
Timestamp = Tue Feb 28 15:42:05 2012
>
>
Timestamp = Mon Mar 12 12:16:33 2012
 Description = ETNSC =
Changed:
<
<
STAGEIN Dir = {}
>
>
STAGEIN Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/15/CR_ES156078531/ISB}
 SESSION Dir = {}
Changed:
<
<
STAGEOUT Dir = {}
>
>
STAGEOUT Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/15/CR_ES156078531/OSB}
 

Eventually check with glite-es-activity-status the state which should be TERMINAL without attributes:

Changed:
<
<
$ glite-es-activity-status -e cream-38.pd.infn.it CR_ES096117205 Sending ActivityStatus request for ActivityID(s) {CR_ES096117205} to service [https://cream-38.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService]
>
>
$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES156078531
 ***************************************
Changed:
<
<
JobID = CR_ES096117205
>
>
JobID = CR_ES156078531
 Status = TERMINAL Attributes = {}
Changed:
<
<
Timestamp = Tue Feb 28 15:43:10 2012
>
>
Timestamp = Mon Mar 12 12:17:42 2012
 Description = reason=0
Line: 824 to 824
 
Changed:
<
<
$ glite-es-activity-create -e cream-38.pd.infn.it activity_sleep60_failif.adl
>
>
$ glite-es-activity-create -e cream-47.pd.infn.it activity_sleep60_failif.adl
 ***************************************
Changed:
<
<
ActivityID = CR_ES776810952 ActivityMgrURI = https://cream-38.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService Status = ACCEPTED
>
>
ActivityID = CR_ES908177323 ActivityMgrURI = https://cream-47.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService Status = PREPROCESSING
 Status Attrs = {}
Changed:
<
<
Timestamp = Tue Feb 28 15:52:51 2012
>
>
Timestamp = Mon Mar 12 12:18:57 2012
 Description = ETNSC =
Changed:
<
<
STAGEIN Dir = {}
>
>
STAGEIN Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/90/CR_ES908177323/ISB}
 SESSION Dir = {}
Changed:
<
<
STAGEOUT Dir = {}
>
>
STAGEOUT Dir = {gsiftp://cream-47.pd.infn.it/var/cs-es/dteam/CN_Massimo_Sgaravatto_L_Padova_OU_Personal_Certificate_O_INFN_C_IT_dteam_Role_NULL_Capability_NULL_dteam042/90/CR_ES908177323/OSB}
 

Eventually check with glite-es-activity-status the state which should be TERMINAL with attribute APP-FAILURE:

Changed:
<
<
$ glite-es-activity-status -e cream-38.pd.infn.it CR_ES776810952 Sending ActivityStatus request for ActivityID(s) {CR_ES776810952} to service [https://cream-38.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService]
>
>
$ glite-es-activity-status -e cream-47.pd.infn.it CR_ES908177323
 ***************************************
Changed:
<
<
JobID = CR_ES776810952
>
>
JobID = CR_ES908177323
 Status = TERMINAL Attributes = {APP_FAILURE}
Changed:
<
<
Timestamp = Tue Feb 28 15:53:54 2012
>
>
Timestamp = Mon Mar 12 12:20:01 2012
 Description = Executable exitCode 0 instead of 1

Status: Not Implemented

Changed:
<
<

Activity submission with Input, Output, Client Data Push and Client Data Pull

>
>

Activity submission with Input and Output: Client Data Push and Client Data Pull

datastag0.adl

Activity submission with Input and Output: Server Data Push and Server Data Pull

datastag1.adl

 

Activity submission with Environment

Revision 142012-02-28 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 46 to 46
 

System tests

Changed:
<
<

Basic functionality tests

>
>

Basic functionality tests for legacy interface

 

Simple Submission Test

Line: 714 to 714
  Status: Not Implemented in the Robot based testsuite
Added:
>
>

Basic functionality tests for EMI-ES interface

Delegation

Delegate a proxy with the glite-es-delegate-proxy command.

It should return a delegationid.

E.g.:

glite-es-delegate-proxy -e cream-38.pd.infn.it
DelegationID = 5655008298193933

Check with the glite-es-delegation-info command about this delegationid. In particular check the lifetime field which should match the expiration time of the proxy in the UI:

$ glite-es-delegation-info -e cream-38.pd.infn.it 5655008298193933
Lifetime = Tue Feb 28 21:14:46 2012
Issuer   = CN=proxy,CN=proxy,CN=Massimo Sgaravatto,L=Padova,OU=Personal Certificate,O=INFN,C=IT
Subject  = CN=Massimo Sgaravatto,L=Padova,OU=Personal Certificate,O=INFN,C=IT

Proxy renewal

TBD

Activity submission without data staging

Submit an activity where in the Application part there is just the Executable without failifExitCodeNotEqualTo.

$ cat activity_sleep60.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>sleep60</Name>
            <Description>sleep 60</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/sleep</Path>
                <Argument>60</Argument>
            </Executable>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
    </ActivityDescription>


$ glite-es-activity-create -e cream-38.pd.infn.it activity_sleep60.adl
*****************************************
ActivityID     = CR_ES096117205
ActivityMgrURI = https://cream-38.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = ACCEPTED
Status Attrs   = {}
Timestamp      = Tue Feb 28 15:42:05 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {}
SESSION Dir    = {}
STAGEOUT Dir   = {}

Eventually check with glite-es-activity-status the state which should be TERMINAL without attributes:

$ glite-es-activity-status -e cream-38.pd.infn.it CR_ES096117205
Sending ActivityStatus request for ActivityID(s) {CR_ES096117205} to service [https://cream-38.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService]
*****************************************
JobID       = CR_ES096117205
Status      = TERMINAL
Attributes  = {}
Timestamp   = Tue Feb 28 15:43:10 2012
Description = reason=0

Status: Not Implemented

Activity submission with failifExitCodeNotEqualTo

Submit an activity where in the Application part there is just the Executable with failifExitCodeNotEqualTo.

$ cat activity_sleep60_failif.adl
    <ActivityDescription>
        <ActivityIdentification>
            <Name>sleep60</Name>
            <Description>sleep 60</Description>
            <Type>single</Type>
        </ActivityIdentification>
        <Application>
            <Executable>
                <Path>/bin/sleep</Path>
                <Argument>60</Argument>
                <FailIfExitCodeNotEqualTo>1</FailIfExitCodeNotEqualTo>
            </Executable>
        </Application>
        <Resources>
            <QueueName>creamtest2</QueueName>
        </Resources>
    </ActivityDescription>

$ glite-es-activity-create -e cream-38.pd.infn.it activity_sleep60_failif.adl
*****************************************
ActivityID     = CR_ES776810952
ActivityMgrURI = https://cream-38.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService
Status         = ACCEPTED
Status Attrs   = {}
Timestamp      = Tue Feb 28 15:52:51 2012
Description    = 
ETNSC          = 
STAGEIN Dir    = {}
SESSION Dir    = {}
STAGEOUT Dir   = {}

Eventually check with glite-es-activity-status the state which should be TERMINAL with attribute APP-FAILURE:

$ glite-es-activity-status -e cream-38.pd.infn.it  CR_ES776810952
Sending ActivityStatus request for ActivityID(s) {CR_ES776810952} to service [https://cream-38.pd.infn.it:8443/ce-cream-es/services/ActivityManagementService]
*****************************************
JobID       = CR_ES776810952
Status      = TERMINAL
Attributes  = {APP_FAILURE}
Timestamp   = Tue Feb 28 15:53:54 2012
Description = Executable exitCode 0 instead of 1

Status: Not Implemented

Activity submission with Input, Output, Client Data Push and Client Data Pull

Activity submission with Environment

 

Regression tests

See: http://wiki.italiangrid.it/twiki/bin/view/CREAM/RegressionTestWorkPlan

Revision 132012-02-24 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 541 to 541
  Verify the functionality of the glite-ce-proxy-renew command.
Changed:
<
<
Submit a job lasting 1 hour using a proxy valid 30 minutes.
>
>
Submit a job lasting 20 minutes using a proxy valid 10 minutes.
 
Changed:
<
<
After 15 minutes renew the proxy with the glite-ce-proxy-renew command.
>
>
After 10 minutes create on the UI a long proxy, and renew the proxy with the glite-ce-proxy-renew command.
  Verify the final job status which should eventually be DONE-OK

Revision 122012-02-03 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 701 to 701
 Status: Not Implemented in the Robot based testsuite
Added:
>
>

LB test

Submit a job to CREAM through the gLite-WMS and wait till the job is Done status

Check the logging-info output of this job: among the logged events there should be 3 events logged as LRMS as source:

  • Running
  • Really-Running
  • Done

Status: Not Implemented in the Robot based testsuite

 

Regression tests

See: http://wiki.italiangrid.it/twiki/bin/view/CREAM/RegressionTestWorkPlan

Revision 112012-01-13 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 690 to 690
  Status: Implemented in the Robot based testsuite
Added:
>
>

Blparser restart test

Configure a CREAM CE using the old blah blparser.

Stop the blparser and after a few seconds (e.g. 10) restart it.

Wait for 2 minute and try a job submission. The should run and complete properly.

Status: Not Implemented in the Robot based testsuite

 

Regression tests

Revision 102011-12-30 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 764 to 764
 
Deleted:
<
<

Inter-component tests

TBD

 

Nagios probe

For testing nagios probes for worker nodes see here, tests description for nagios probes for direct cream job submission is here

Revision 92011-12-29 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 240 to 240
 Status: Implemented in the Robot based testsuite
Changed:
<
<

CPUNumber test

>
>

CPU Allocation Test 1

 
Changed:
<
<
Execute /bin/uname -a.Set the jdl attribute CPUNumber to a certain number. The submission is expected to fail for a value of 0 (this is treated as the corect behaviour).On the other hand,it is expected to succeed and the final job state should be done-ok,if it has any other >=1 value. NOTE: The glite-ce-job-submit will succeed for an unsupported value (e.g. not enough cpus available on site) but will fail eventually and the final state of the job will be aborted (with a message such as: BLAH error: submission command failed (exit code = 1) (stdout:) (stderr:qsub: Job exceeds queue resource limits MSG=cannot locate feasible nodes-) N/A (jobId = CREAM918215196)
>
>
Submit a job where in the JDL there is:
 
Changed:
<
<
TBC
>
>
WholeNodes=true;
SMPGranularity=G;
 Hostnumber=H;
 
Changed:
<
<

HostNumber test

>
>
with H > 1.
 
Changed:
<
<
Execute /bin/uname -a.Set the jdl attribute HostNumber to a certain number. The submission is expected to fail for a value of 0 (this is treated as the corect behaviour).On the other hand,it is expected to succeed and the final job state should be done-ok,if it has any other >=1 value. NOTE: The glite-ce-job-submit will succeed for an unsupported value (e.g. not enough cpus available on site) but will fail eventually and the final state of the job will be aborted (with a message such as: [BLAH error: submission command failed (exit code = 1) (stdout:) (stderr:qsub: Job exceeds queue resource limits MSG=cannot locate feasible nodes-) N/A (jobId = CREAM150008664)]
>
>
Verify that in the submission script there is
 
Changed:
<
<
TBC
>
>
  • for LSF:
 
Changed:
<
<

SMPGranularity Test

>
>
BSUB -n S*H      
BSUB -R "span[ptile=S]    
BSUB -x
 
Changed:
<
<
Execute /bin/uname -a.Set the jdl attribute SMPGranularity to a certain number. The submission is expected to fail for a value of 0 (this is treated as the corect behaviour).On the other hand,it is expected to succeed and the final job state should be done-ok,if it has any other >=1 value. NOTE: The glite-ce-job-submit will succeed for an unsupported value (e.g. not enough cpus available on site) but will fail eventually and the final state of the job will be aborted (with a message such as: [BLAH error: submission command failed (exit code = 1) (stdout:) (stderr:qsub: Job exceeds queue resource limits MSG=cannot locate feasible nodes-) N/A (jobId = CREAM348964588)]
>
>
  • for PBS:
 
Added:
>
>
PBS -l nodes=H:ppn=S
PBS -W x=NACCESSPOLICY:SINGLEJOB
 
Changed:
<
<
TBC
>
>
with S equal to the value published as GlueHostArchitectureSMPSize.
 
Deleted:
<
<

WholeNode Test

 
Changed:
<
<
Execute /bin/uname -a.Set the jdl attribute WholeNodes to True and False. The submission is expected to succeed for both values and the final job state should be done-ok.
>
>
See:
 
Changed:
<
<
TBC
>
>
http://wiki.italiangrid.it/twiki/bin/view/CREAM/TroubleshootingGuide#5_1_Saving_the_batch_job_submiss
 
Added:
>
>
to understand how to save and check the submission scripts.
 
Changed:
<
<

HostNumber-SMPGranularity-WholeNodes combo test

>
>
Status: Not Implemented
 
Changed:
<
<
  • Set the jdl attributes HostNumber and SMPGranularity to a random -correct- value and WholeNodes to False and try a job submission. It should fail
  • Set the jdl attributes HostNumber and SMPGranularity to a random -correct- value and WholeNodes to True and try a job submission. It should succeed and the final job state should be DONE-OK
>
>

CPU Allocation Test 2

 
Changed:
<
<
TBC
>
>
Submit a job where in the JDL there is:
 
Added:
>
>
WholeNodes=true;
SMPGranularity=G;

Verify that in the submission script there is

  • for LSF:

BSUB -n S   
BSUB -R "span[hosts=1]"    
BSUB -x

  • for PBS:

PBS -l nodes=1:ppn=S
PBS -W x=NACCESSPOLICY:SINGLEJOB

with S equal to the value published as GlueHostArchitectureSMPSize.

Status: Not Implemented

CPU Allocation Test 3

Submit a job where in the JDL there is:

WholeNodes=true;
HostNumber=H;

with H>1.

Verify that in the submission script there is

  • for LSF:

BSUB -n S*H  
BSUB -R "span[ptile=S]"
BSUB -x

  • for PBS:

PBS -l nodes=H:ppn=S
PBS -W x=NACCESSPOLICY:SINGLEJOB

with S equal to the value published as GlueHostArchitectureSMPSize.

Status: Not Implemented

CPU Allocation Test 4

Submit a job where in the JDL there is:

WholeNodes=false;
SMPGranularity=G; 
CPUNumber=C;

Verify that in the submission script there is

  • for LSF:

BSUB -n C
BSUB -R "span[ptile=G]"   

  • for PBS:

 PBS  -l nodes=N:ppn=G { [+1:ppn=R] if r>0 }

with:

N = C / G
R = C % G

Status: Not Implemented

CPU Allocation Test 5

Submit a job where in the JDL there is:

WholeNodes=false;
HostNumber=H;
CPUNumber=C;

with H>1.

Verify that in the submission script there is

  • for LSF:

BSUB -n C
BSUB -R "span[ptile={ N if R=0 ; N+1 if R>0 }]"

  • for PBS:

PBS -l nodes=H-R:ppn=N { [+R:ppn=N+1] if R>0 }

with:

N = C / H
R = C % H

Status: Not Implemented

CPU Allocation Test 6

Submit a job where in the JDL there is:

WholeNodes=false;
CPUNumber=C;

Verify that in the submission script there is

  • for LSF:

BSUB -n C

  • for PBS:

PBS -l nodes=C

Status: Not Implemented

 
Deleted:
<
<
Status: Implemented in the Robot based testsuite
 

JobStatus test

Verify the proper functionality of the glite-ce-job-status command with different level of verbosity and different options.
Line: 412 to 576
 Check if the resource bdii publishes all the relevant objectclasses for both glue1 and glue2
Changed:
<
<
ldapsearch -h cream-38 -x -p 2170 -b "o=grid" objectclass=GlueSubCluster
>
>
  • Check if the resource BDII publishes glue 1 GlueCE objectclasses. There should be one GlueCE objectclass per each queue:
 
Added:
>
>
ldapsearch -h <CREAM CE hostname> -x -p 2170 -b "o=grid" objectclass=GlueCE
 
Changed:
<
<
TBD
>
>
  • Check if the resource BDII publishes glue 1 GlueVOView objectclasses. There should be one GlueVOView objectclass per each queue-VO:

ldapsearch -h <CREAM CE hostname> -x -p 2170 -b "o=grid" objectclass=GlueVOView
 
Added:
>
>
  • Check if the resource BDII publishes glue 1 GlueCluster objectclasses. If the CE is configured in no cluster mode there should be one GlueCluster objectclass. If the CE is configured in cluster mode and the gLite-CLUSTER is deployed on a different node, there shouldn't be any GlueCluster objectclass.
 
Added:
>
>
ldapsearch -h <CREAM CE hostname> -x -p 2170 -b "o=grid" objectclass=GlueCluster

  • Check if the resource BDII publishes glue 1 GlueSubCluster objectclasses. If the CE is configured in no cluster mode there should be one GlueSubCluster objectclass. If the CE is configured in cluster mode and the gLite-CLUSTER is deployed on a different node, there shouldn't be any GlueSubCluster objectclass.

ldapsearch -h <CREAM CE hostname> -x -p 2170 -b "o=grid" objectclass=GlueSubCluster

ldapsearch -h <CREAM CE hostname> -x -p 2170 -b "o=glue" objectclass=GLUE2ComputingService

ldapsearch -h <CREAM CE hostname> -x -p 2170 -b "o=glue" "(&(objectclass=GLUE2ComputingEndPoint)(GLUE2EndpointInterfaceName=org.glite.ce.CREAM))"

  • Check if the resource BDII publishes glue 2 GLUE2Manager objectclasses. If the CE is configured in no cluster mode there should be one GLUE2Manager objectclass. If the CE is configured in cluster mode and the gLite-CLUSTER is deployed on a different node, there shouldn't be any GLUE2Manager objectclass.

ldapsearch -h <CREAM CE hostname> -x -p 2170 -b "o=glue" objectclass=GLUE2Manager

  • Check if the resource BDII publishes glue 2 GLUE2Share objectclasses. If the CE is configured in no cluster mode there should be one GLUE2Share objectclass per each VOview. If the CE is configured in cluster mode and the gLite-CLUSTER is deployed on a different node, there shouldn't be any GLUE2Share objectclass.

ldapsearch -h <CREAM CE hostname> -x -p 2170 -b "o=glue" objectclass=GLUE2Share

ldapsearch -h <CREAM CE hostname> -x -p 2170 -b "o=glue" objectclass=GLUE2ExecutionEnvironment

  • Check if the resource BDII publishes glue 2 GLUE2ComputingEndPoint objectclasses with GLUE2EndpointInterfaceName equal to org.glite.ce.ApplicationPublisher. If the CE is configured in no cluster mode there should be one of such objectclass. If the CE is configured in cluster mode and the gLite-CLUSTER is deployed on a different node, there shouldn't be any of such objectclasses.

ldapsearch -h  <CREAM CE hostname> -x -p 2170 -b "o=glue" "(&(objectclass=GLUE2ComputingEndPoint)(GLUE2EndpointInterfaceName=org.glite.ce.ApplicationPublisher))"

Status: Not Implemented

 

Banning test

Line: 436 to 659
 

Admin manage job test

Changed:
<
<
TBD
>
>
Check that a user who is not admin can't check the status of jobs submitted by another user.

Check that a user who is admin can check the status of jobs submitted by another user.

Status: Implemented in the Robot based testsuite

 

Service-info test

Revision 82011-12-29 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 48 to 48
 

Basic functionality tests

Added:
>
>

Simple Submission Test

Submit a job which simply does "/bin/uname -a".

Check the final job status which should be DONE-OK.

Status: Implemented in the Robot based testsuite

 

InputSandbox Test

Execute a bash shell script.

Line: 125 to 134
  Status: Implemented in the Robot based testsuite
Added:
>
>

OutputData test

Try OutputData JDL attributes considering all the possible combinations.

To do that, you can consider a JDL such as this one:

[
executable="/bin/sleep";
arguments="25";
Stdoutput = "env.out" ;
StdError =  "env.err" ;
InputSandbox = {
"/etc/passwd",
"ssh1.sh",
"gsiftp://cream-18.pd.infn.it:2811/etc/hostname.txt",
"file:///etc/fstab"
};
outputsandbox={"out.out", "passwd", "ssh1.sh", "hostname.txt", "fstab"};
OutputSandboxBaseDestURI="gsiftp://localhost";
OutputData={
[
OutputFile="passwd";
LogicalFileName = "lfn:/sgaravat/passwd";
],
[
OutputFile="hostname.txt";
],
[
OutputFile="ssh1.sh";
StorageElement="prod-se-01.pd.infn.it";
],
[
OutputFile="fstab";
LogicalFileName="lfn:/sgaravat/fstab";
StorageElement="prod-se-01.pd.infn.it";
]
};
]

Once the job is in DONE-OK, retrieve the OSB files using the glite-ce-job-output command. Check the result of the data upload operations in the file DSUpload_.out

Not Implemented

 

Sandbox staging Test

Line: 198 to 252
  TBC
Added:
>
>

SMPGranularity Test

Execute /bin/uname -a.Set the jdl attribute SMPGranularity to a certain number. The submission is expected to fail for a value of 0 (this is treated as the corect behaviour).On the other hand,it is expected to succeed and the final job state should be done-ok,if it has any other >=1 value. NOTE: The glite-ce-job-submit will succeed for an unsupported value (e.g. not enough cpus available on site) but will fail eventually and the final state of the job will be aborted (with a message such as: [BLAH error: submission command failed (exit code = 1) (stdout:) (stderr:qsub: Job exceeds queue resource limits MSG=cannot locate feasible nodes-) N/A (jobId = CREAM348964588)]

TBC

WholeNode Test

Execute /bin/uname -a.Set the jdl attribute WholeNodes to True and False. The submission is expected to succeed for both values and the final job state should be done-ok.

TBC

 

HostNumber-SMPGranularity-WholeNodes combo test

Line: 209 to 277
  Status: Implemented in the Robot based testsuite
Added:
>
>

JobStatus test

Verify the proper functionality of the glite-ce-job-status command with different level of verbosity and different options.

Verify that with -L 0 it is reported the "Status".

Verify that with -L 1 it is reported the "Status", the "Job status changes" and the "Issued commands".

Verify that with -L 1 it is reported the "Status", the "Job status changes", the "Issued commands", the "Worker Node", the "Deleg Proxy ID", the "DelegProxyInfo", "Local User", "JDL".

Verify the status of 2 jobs, with ids specified in the command line and with ids read from a file (option -i).

Verify the proper functionality of the --from and -to option. Specify a time range where a single job was submitted, and verify that only the status of this job is returned.

Status: Not Implemented

 

List test

Perform a glite-ce-job-list.

Line: 237 to 323
  Status: Implemented in the Robot based testsuite
Added:
>
>

Suspend/Resume Test

Submit a job.

Wait until it's state is REALLY-RUNNING and then suspend it.

Case LSF batch system: It's state should be HELD. Then resume the same job.It's status should be REALLY-RUNNING.The final status should be DONE-OK.

Case Torque batch system: It's state should still be REALLY-RUNNING.Resume the job and expect an error.It's status should be REALLY-RUNNING.The final status should be DONE-OK.

Status: Implemented in the Robot based testsuite

 

Enable/disable job submission test

his test case tests the proper functionality of the glite-ce-allowed-submission and glite-ce-enable/disable-submission commands, for admin and non-admin users. The test executes the following steps:

Line: 262 to 361
  Status: Implemented in the Robot based testsuite
Added:
>
>

Automatic job purger test

Modify the JOB_PURGE_POLICY attribute in the configuration file /etc/glite-ce-cream/cream-config.xml setting 0 days for CANCELLED.Then restart tomcat.

Submit a long job and then cancel it. Verify that the job status is cancelled.

After 24 hours recheck the status of the job with glite-ce-job-status. The job should not be found. Verify in the CREAM CE in the CREAM sandbox dir that a directory for this job doesn't exist anymore.

Status: Not Implemented

Proxy renewal test

Verify the functionality of the glite-ce-proxy-renew command.

Submit a job lasting 1 hour using a proxy valid 30 minutes.

After 15 minutes renew the proxy with the glite-ce-proxy-renew command.

Verify the final job status which should eventually be DONE-OK

Status: Not Implemented

Automatic proxy purger test

Delegate a proxy valid 1 hour

Submit a job using that delegatioid. This should work.

Try again the submission using the same delegationid after 24 hours. This should not work (the error message should say that the delegation was not found)

Status: Not Implemented

Authz test

Try functionality of CREAM with both Argus based authorizations and gJAF based authorizations.

To do that simply perform the "Simple Submission Test", "Delegation test", "List test" and "Cancel test" first using a CREAM configured using gJAF, and then using a CREAM configured using ARGUS.

Resource BDII test

Check if the resource bdii publishes all the relevant objectclasses for both glue1 and glue2

ldapsearch -h cream-38 -x -p 2170 -b "o=grid" objectclass=GlueSubCluster

TBD

 

Banning test

Line: 284 to 441
 

Service-info test

Verify the output of glite-ce-service-info command for both verbosity levels.

Changed:
<
<
TBC
>
>
TBD
 

Limiter test

Line: 312 to 469
 

Performance and scalability tests

Added:
>
>

Submission and cancellation with polling

Submit 1000 simple jobs (without sandbox transfers) in bunch of 50 jobs and then cancel them.

Check the status of these jobs using the queryevent operation.

All jobs should eventually have CANCELLED as final state.

Status: Implemented in the old testsuite

cream-test-monitored-cancel -r 30 -n 1000 -m 50 -C 50 -l log4py.conf -j simple.jdl -R cream-35.pd.infn.it:8443/cream-lsf-creamtest2

Submission with polling and sandbox transfer

Submit 1000 jobs (with sandbox transfers) in bunch of 50 jobs.

Check the status of these jobs using the queryevent operation.

All jobs should eventually have DONE-OK as final state.

Status: Implemented in the old testsuite

cream-test-monitored-submit -r 30 -n 1000 -m 50 -C 50 -l log4py.conf -j testsandbox.jdl -R cream-35.pd.infn.it:8443/cream-lsf-creamtest2

Simple submission with polling, lease updated and proxy renewal

Submit 100 jobs lasting 6000 seconds in bunch of 10 jobs, with an initial lease of 1200 seconds and with an initial proxy valid 20 minutes.

Renew the lease and the proxy.

Check the status of these jobs using the queryevent operation.

All jobs should eventually have DONE-OK as final state.

Status: Implemented in the old testsuite

cream-test-monitored-lease-updated -r 60 -n 100 -m 10 -C 10 -l log4py.conf -W 1200 --vo dteam --valid 00:20 -R cream-35.pd.infn.it:8443/cream-lsf-creamtest2
 

Standard compliance and conformance tests

Glue 1 compliance

Line: 332 to 537
 

Inter-component tests

Changed:
<
<

>
>
TBD
 
Added:
>
>

Nagios probe

 
Added:
>
>
For testing nagios probes for worker nodes see here, tests description for nagios probes for direct cream job submission is here
 
Added:
>
>

Robot based Testsuite

 
Changed:
<
<

Introduction

>
>
Information about the Robot Based Testsuite is available at:
 
Changed:
<
<
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

>
>
https://twiki.cern.ch/twiki/bin/view/EMI/CREAMRobotFuncTests

Old Testsuite

The old 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 old testsuite is to have a UI node already available.

 
Deleted:
<
<
The easiest way to deploy the testsuite is to have a UI node already available, for further details refer to the Generic Installation and Configuration Guide.
 
Changed:
<
<
The testsuite can be installed using yum creating a file called testsuites.repo in the yum.repos.d directory with the following definition:
>
>
The old testsuite can then be installed using yum creating a file called testsuites.repo in the yum.repos.d directory with the following definition:
 
[ETICS-name-CREAM-service-testsuite]
name=ETICS Repository of CREAM-service-testsuite
baseurl=http://etics-repository.cern.ch:8080/repository/pm/registered/repomd/name/CREAM-service-testsuite_1_0_7
Line: 363 to 576
  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.
Changed:
<
<

Testsuite and ETICS

>
>

Old Testsuite and ETICS

 
Changed:
<
<
The testsuite can be downloaded and build directly from the ETICS framework. For any details concerning the ETICS client installation refer to the User Guide or to the twiki site.
>
>
The old testsuite can be downloaded and build directly from the ETICS framework. For any details concerning the ETICS client installation refer to the User Guide or to the twiki site.
  The following list of commands is required in order to retrieve and build the latest stable release:
etics-workspace-setup
Line: 374 to 586
 etics-checkout --config glite-testsuites-cream_R_1_0_7_0 --project-config glite_branch_3_1_0 org.glite.testsuites.cream etics-build org.glite.testsuites.cream
Changed:
<
<

Releases and Changelog

>
>

Releases and Changelog

 
  • 1.0.3.0 (2009-02-24):
    • Fixed bug: bad termination condition in cream-monitored-* tests with failures during the submission
  • 1.0.4.0 (2009-03-05):
Line: 388 to 600
 
  • 1.0.7.0 (2009-03-02):
    • Support for event query
Changed:
<
<

Work plan


Testsuite description

>
>

Old 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):
Line: 405 to 614
 
Changed:
<
<

Proxy management

>
>
Proxy management
  Each test can be run using either an external user voms-proxy or with an internal management of the voms-proxy.
Line: 414 to 624
 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.

Changed:
<
<

Delegation management

>
>
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.

Changed:
<
<

Isolation and interference tests

>
>
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.

Deleted:
<
<

Nagios probe

For testing nagios probes for worker nodes see here, tests description for nagios probes for direct cream job submission is here

 
Changed:
<
<

Hints for test tuning

>
>
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.
  • In order to test the internal proxy renewal mechanism of the CREAM service it's strongly suggested to run at least one test with notifications and proxy renewal all alone, with no other tests running on the same CE.
  • It is strongly suggested to configure the socket timeout according to the latency of the network using the --sotimeout option (available since version 1.0.5)
Changed:
<
<

Proposed test plan

>
>
Proposed tests
  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 VO dteam is used.
Line: 530 to 736
 
Proxy renewal for job in IDLE
cream-test-monitored-submit -r 60 -n $TOTAL -m $PART -C $PART -l log4py.conf -j onehoursleep.jdl --vo dteam --valid 00:45 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The variables X509_USER_CERT and X509_USER_KEY must point to the location of the user certificate and private key, passphrase is required. The variable $PART is an integer greater than the number of jobs which can be run concurrently in the batch system, the variable $TOTAL is a multiple of $PART.
Deleted:
<
<

Missing tests

  • Logging and Bookkeeping integration: tests of the notifications sent by the job wrapper to the local logger (if installed) and in the next future for direct CREAM-LB integration.

  • Shallow resubmission support: tests for token handling.

Contacts

For any trouble concerning the test suite or the test plan please contacts: cream-support@lists.infn.it

Revision 72011-12-23 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 92 to 92
  Status: Implemented in the Robot based testsuite
Added:
>
>

OutputSandbox localhost and get-output Test

  • Write a simple job which executes =/bin/uname = and Ssore std out and error streams on "gsiftp://localhost"
  • Submit the jdl and wait for final job state which should be DONE-OK
  • Download the produced files with glite-ce-job-ouput
  • Get the output file list from the jdl file and compare the two file lists

Status: Implemented in the Robot based testsuite

OutputSandboxDestURI Test

  • Write a simple job which executes /bin/uname -a and stores std out and error streams on a gridftp server.The jdl attribute OutputSandboxDestURI is used.
  • Get output file list from jdl,base dest uri.
  • lcg-ls base dest uri and files shouldn't exist
  • Submit job and wait for its completion
  • lcg-ls base dest uri and files should exist
  • Delete files (cleanup)
  • lcg-ls base dest uri and files shouldn't exist

Status: Implemented in the Robot based testsuite

OutputSandboxBaseDestURI Test

  • Write a simple job which simply executes /bin/uname -a. and stores std out and error streams on a gridftp server. The jdl attribute OutputSandboxBaseDestURI is used.
  • Get output file list from jdl base dest uri.
  • lcg-ls base dest uri and files shouldn't exist
  • Submit job and wait for its completion
  • lcg-ls base dest uri and verify that files exist
  • Delete files (cleanup)
  • lcg-ls base dest uri and files shouldn't exist

Status: Implemented in the Robot based testsuite

Sandbox staging Test

This test case tests the two different Sandbox staging operations available for the /etc/glite-ce-cream/cream-config.xml, LRMS and GSIFTP.

  • Change the setting (if GSIFTP, set to LRMS, if LRMS, set to GSIFTP)
  • Run the "OutputSandbox localhost and get-output" Test
  • Reset the setting to its original and rerun the "OutputSandbox localhost and get-output" Test

Status: Implemented in the Robot based testsuite

 

Delegation tests

Line: 127 to 171
  Status: Implemented in the Robot based testsuite
Added:
>
>

Prologue test

Execute two bash shell scripts, one for the job and the other as a prologue.

The prologue script creates a file with a certain string, which is collected by the job as an output file

Submit the jdl.

Check the final state which should be DONE-OK.

Check the output file which should have the designated string.

Status: Implemented in the Robot based testsuite

 

CPUNumber test

Execute /bin/uname -a.Set the jdl attribute CPUNumber to a certain number. The submission is expected to fail for a value of 0 (this is treated as the corect behaviour).On the other hand,it is expected to succeed and the final job state should be done-ok,if it has any other >=1 value. NOTE: The glite-ce-job-submit will succeed for an unsupported value (e.g. not enough cpus available on site) but will fail eventually and the final state of the job will be aborted (with a message such as: BLAH error: submission command failed (exit code = 1) (stdout:) (stderr:qsub: Job exceeds queue resource limits MSG=cannot locate feasible nodes-) N/A (jobId = CREAM918215196)

Line: 150 to 209
  Status: Implemented in the Robot based testsuite

Added:
>
>

List test

Perform a glite-ce-job-list.

Perform a job submission

Perform again a glite-ce-job-list

The returned jobid shouldn't exist in the in the job list command output before the submission and should exist afterwards.

Status: Implemented in the Robot based testsuite

 

Cancel test

  • Submit a job
Line: 159 to 230
  Status: Implemented in the Robot based testsuite
Added:
>
>

Manual cancel test

  • Submit a job and then manually qdel/bkill it on the CE host
  • Check the final status which should be either "DONE-FAILED" or "CANCELLED"

Status: Implemented in the Robot based testsuite

 

Enable/disable job submission test

Line: 176 to 253
 
  • Remove current user from CREAM admin
  • Try to disable submission using glite-ce-disable-submission= command (should fail, since the user isn't a CREAM admin anymore).
Added:
>
>
Status: Implemented in the Robot based testsuite

Purge test

  • Purges a job
  • Then searches for its status and its sandbox dirs on the cream node. The job shouldn't be found by the status command and the sandbox dirs shouldn't exist.

Status: Implemented in the Robot based testsuite

 

Banning test

Revision 62011-12-23 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Line: 48 to 48
 

Basic functionality tests

Added:
>
>

InputSandbox Test

Execute a bash shell script.

The script is stored on the UI.

The jdl attribute InputSandbox is used.

Firstly submit the jdl and then wait for final job state which should be DONE-OK.

Status: Implemented in the Robot based testsuite

Remote InputSandbox Test

Execute a bash shell script.

The script is stored in a gridftp server.

The jdl attribute InputSandbox is used.

First upload the executable script.

Then submit the jdl and check the the final state which should be DONE-OK.

Status: Implemented in the Robot based testsuite

InputSandboxBaseURI Test

Submit a job where the executable is a bash shell script.

The script is stored in a gridftp server.

The jdl attribute InputSandboxBaseURI is used.

First upload the executable script in the considered gridftp server.

Then submit the jdl.

Check the final state which should be DONE-OK.

Status: Implemented in the Robot based testsuite

 

Delegation tests

  • Delegate a proxy with glite-ce-delegaet-proxy and submit a job referring to the previously delegate proxy. Job final state should be DONE-OK
Line: 57 to 102
 Status: Implemented in the Robot based testsuite
Added:
>
>

Environment test

Consider a job where the jdl sets an environmental variable and the executable is a script which prints the value of that variable. Submit the jdl.

Check the the final state which should be DONE-OK.

Check the output file which should have the designated variable.

Status: Implemented in the Robot based testsuite

Epilogue test

Execute two bash shell scripts, one for the job and the other as an epilogue.

The epilogue script creates a file with a certain string, which is collected by the job as an output file

Submit the jdl.

Check the final state which should be DONE-OK.

Check the output file which should have the designated string.

Status: Implemented in the Robot based testsuite

 

CPUNumber test

Execute /bin/uname -a.Set the jdl attribute CPUNumber to a certain number. The submission is expected to fail for a value of 0 (this is treated as the corect behaviour).On the other hand,it is expected to succeed and the final job state should be done-ok,if it has any other >=1 value. NOTE: The glite-ce-job-submit will succeed for an unsupported value (e.g. not enough cpus available on site) but will fail eventually and the final state of the job will be aborted (with a message such as: BLAH error: submission command failed (exit code = 1) (stdout:) (stderr:qsub: Job exceeds queue resource limits MSG=cannot locate feasible nodes-) N/A (jobId = CREAM918215196)

TBC

Added:
>
>

HostNumber test

Execute /bin/uname -a.Set the jdl attribute HostNumber to a certain number. The submission is expected to fail for a value of 0 (this is treated as the corect behaviour).On the other hand,it is expected to succeed and the final job state should be done-ok,if it has any other >=1 value. NOTE: The glite-ce-job-submit will succeed for an unsupported value (e.g. not enough cpus available on site) but will fail eventually and the final state of the job will be aborted (with a message such as: [BLAH error: submission command failed (exit code = 1) (stdout:) (stderr:qsub: Job exceeds queue resource limits MSG=cannot locate feasible nodes-) N/A (jobId = CREAM150008664)]

TBC

 

HostNumber-SMPGranularity-WholeNodes combo test

  • Set the jdl attributes HostNumber and SMPGranularity to a random -correct- value and WholeNodes to False and try a job submission. It should fail
Line: 114 to 191
 Status: Implemented in the Robot based testsuite

Added:
>
>

Admin manage job test

TBD

 

Service-info test

Verify the output of glite-ce-service-info command for both verbosity levels. TBC

Added:
>
>

Limiter test

Set a limiter threshold to a value which will trigger it.

Wait for the limiter script to be run automatically.

Submit and job and expect failure.

Reset the limiter to the original values.

Wait for the limiter script to be run automatically.

Submit a command and expect success

Status: Implemented in the Robot based testsuite

 

Regression tests

Revision 52011-12-21 - MassimoSgaravatto

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"
Changed:
<
<

CREAM Test work plan

>
>

CREAM Test work plan

Unit tests

TBD

Deployment tests

Installation

The following should be tested:

  • Fresh installation of a CREAM-CE node, doing what is documented in the CREAM System administratror guide (Sections: "Installation of a CREAM CE node in no cluster mode" and "Installation of a CREAM CE node in cluster mode")
  • Update from a previous version of the same EMI major release. This should be tested doing a simple yum update.
  • Update from a previous EMI major release. TBD

The following installation and update scenarios should be tested:

  • CREAM CE in no cluster mode
  • CREAM CE in cluster mode with gLite-cluster deployed in the same CREAM-CE node

Configuration

The configuration via yaim should be tested.

The following scenarios should be tested (they are documented in CREAM System Administrator Guide):

  • CREAM CE configured in no cluster mode
  • CREAM configured in cluster mode with gLite-cluster deployed in the same CREAM-CE node
  • CREAM configured in cluster mode with gLite-cluster deployed on another node
  • CREAM configured using gJAF as authorization system
  • CREAM configured using ARGUS as authorization system
  • CREAM using the new BLAH blparser
  • CREAM using the old BLAH blparser
  • CREAM using Torque as batch system
  • CREAM using LSF as batch system
  • CREAM using GE as batch system

System tests

Basic functionality tests

Delegation tests

  • Delegate a proxy with glite-ce-delegaet-proxy and submit a job referring to the previously delegate proxy. Job final state should be DONE-OK
  • Try to delegate a a proxy using an already used delegationid. This should fail
  • Try to submit a job referring to a non-existing delegationid. This should fail

Status: Implemented in the Robot based testsuite

CPUNumber test

Execute /bin/uname -a.Set the jdl attribute CPUNumber to a certain number. The submission is expected to fail for a value of 0 (this is treated as the corect behaviour).On the other hand,it is expected to succeed and the final job state should be done-ok,if it has any other >=1 value. NOTE: The glite-ce-job-submit will succeed for an unsupported value (e.g. not enough cpus available on site) but will fail eventually and the final state of the job will be aborted (with a message such as: BLAH error: submission command failed (exit code = 1) (stdout:) (stderr:qsub: Job exceeds queue resource limits MSG=cannot locate feasible nodes-) N/A (jobId = CREAM918215196)

TBC

HostNumber-SMPGranularity-WholeNodes combo test

  • Set the jdl attributes HostNumber and SMPGranularity to a random -correct- value and WholeNodes to False and try a job submission. It should fail
  • Set the jdl attributes HostNumber and SMPGranularity to a random -correct- value and WholeNodes to True and try a job submission. It should succeed and the final job state should be DONE-OK

TBC

Status: Implemented in the Robot based testsuite

Cancel test

  • Submit a job
  • Cancel it using the glite-ce-job-cancel command
  • Check job status: it should eventually be CANCELLED
  • Try to cancel again the aforementioned job. A failure should be returned

Status: Implemented in the Robot based testsuite

Enable/disable job submission test

his test case tests the proper functionality of the glite-ce-allowed-submission and glite-ce-enable/disable-submission commands, for admin and non-admin users. The test executes the following steps:

  • Check with glite-ce-allowed-submission if submissions are enabled (they should)
  • Executes a simple job (it should succeed)
  • Try to Disable submission using glite-ce-disable-submission command considering that the current user is not a CREAM admin. This should fail
  • Add the current user as a CREAM admin
  • Try to disable submission using glite-ce-disable-submission command. This time it should succeed)
  • Check with glite-ce-allowed-submission if submission is allowed (it shouldn't)
  • Try a simple job submission (it should fail)
  • Enable submission with glite-ce-enable-submission command
  • Try the submission of a simple job (it should succeed)
  • Remove current user from CREAM admin
  • Try to disable submission using glite-ce-disable-submission= command (should fail, since the user isn't a CREAM admin anymore).

Banning test

For a CREAM-CE configured using gJAF:

  • Add the user's DN to /etc/lcas/ban_users.db on the cream host
  • Try to submit job: you should expect failure
  • Remove DN from the aforementioned file
  • Submit another job: you should expect a successfull submission

The test should not be done using a CREAM-CE configured using ARGUS

Status: Implemented in the Robot based testsuite

Service-info test

Verify the output of glite-ce-service-info command for both verbosity levels. TBC

Regression tests

See: http://wiki.italiangrid.it/twiki/bin/view/CREAM/RegressionTestWorkPlan

Performance and scalability tests

Standard compliance and conformance tests

Glue 1 compliance

Glue 1 compliance of the information published by the CREAM-CE resource bdii should be tested. This should be done using [[https://tomtools.cern.ch/confluence/display/IS/GLUEValidator]GlueValidator]].

Status: Implemented in the Robot based testsuite

Glue 2 compliance

Glue 2 compliance of the information published by the CREAM-CE resource bdii should be tested. This should be done using [[https://tomtools.cern.ch/confluence/display/IS/GLUEValidator]GlueValidator]].

Status: Implemented in the Robot based testsuite

Inter-component tests


 

Introduction

Revision 42011-11-11 - AlessioGianelle

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Introduction

Line: 87 to 88
 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.

Added:
>
>

Nagios probe

For testing nagios probes for worker nodes see here, tests description for nagios probes for direct cream job submission is here

 

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.

Revision 32011-10-27 - TWikiAdminUser

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Introduction

Line: 6 to 6
  The CREAM testsuite is a set of python scripts that interacts with the CREAM command line tools in order to perform several functional tests.

Changed:
<
<

Operations/Installation and setup

>
>

Installation and setup

 

Changed:
<
<
The easiest way to deploy the testsuite is to have a UI node already available, for further details refer to the Generic Operations/Installation and Configuration Guide.
>
>
The easiest way to deploy the testsuite is to have a UI node already available, for further details refer to the 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:
[ETICS-name-CREAM-service-testsuite]

Revision 22011-10-24 - TWikiAdminUser

Line: 1 to 1
 
META TOPICPARENT name="CreamTesting"

CREAM Test work plan

Introduction

Line: 6 to 6
  The CREAM testsuite is a set of python scripts that interacts with the CREAM command line tools in order to perform several functional tests.

Changed:
<
<

Installation and setup

>
>

Operations/Installation and setup

 

Changed:
<
<
The easiest way to deploy the testsuite is to have a UI node already available, for further details refer to the Generic Installation and Configuration Guide.
>
>
The easiest way to deploy the testsuite is to have a UI node already available, for further details refer to the Generic Operations/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:
[ETICS-name-CREAM-service-testsuite]

Revision 12011-04-28 - PaoloAndreetto

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="CreamTesting"

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 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:

[ETICS-name-CREAM-service-testsuite]
name=ETICS Repository of CREAM-service-testsuite
baseurl=http://etics-repository.cern.ch:8080/repository/pm/registered/repomd/name/CREAM-service-testsuite_1_0_7
protect=0
enabled=1
gpgcheck=0

and then running

yum update
yum install glite-testsuites-cream

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.

Testsuite and ETICS

The testsuite can be downloaded and build directly from the ETICS framework. For any details concerning the ETICS client installation refer to the User Guide or to the twiki site.

The following list of commands is required in order to retrieve and build the latest stable release:

etics-workspace-setup
etics-get-project org.glite
etics-checkout --config glite-testsuites-cream_R_1_0_7_0 --project-config glite_branch_3_1_0 org.glite.testsuites.cream
etics-build org.glite.testsuites.cream

Releases and Changelog

  • 1.0.3.0 (2009-02-24):
    • Fixed bug: bad termination condition in cream-monitored-* tests with failures during the submission
  • 1.0.4.0 (2009-03-05):
    • Changed command line of the CE monitor client, this version can be used only with the clients whose version is 1.11 or higher
  • 1.0.5.0 (2009-04-17):
    • Fixed minor issues
    • New options "nopurge" and "sotimeout" are available
  • 1.0.6.0 (2009-05-26):
    • Fixed man pages in rpm
    • Fixed minor issues
  • 1.0.7.0 (2009-03-02):
    • Support for event query

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:

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.
  • In order to test the internal proxy renewal mechanism of the CREAM service it's strongly suggested to run at least one test with notifications and proxy renewal all alone, with no other tests running on the same CE.
  • It is strongly suggested to configure the socket timeout according to the latency of the network using the --sotimeout option (available since version 1.0.5)

Proposed test plan

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 VO dteam is used.


The simple.jdl contains:

[ executable="/bin/sleep"; arguments="180";]

The long.jdl contains:

[ executable="/bin/sleep"; arguments="1800";]

The onehoursleep contains:<verbatim>[ executable="/bin/sleep"; arguments="3600";]</verbatim>

The testsandbox.jdl contains:

[
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";
]

The log4py.conf contains:

[Default]
Format: %T %L %C [%F] - %M
Target: cream-test-cream-12.log
Ansi: False
LogLevel: Debug

Simple submission with polling
cream-test-monitored-submit -r 30 -n 1000 -m 50 -C 50 -l log4py.conf -j simple.jdl -R cream-12.pd.infn.it:8443/cream-pbs-cream_A 
The renewal process is disabled, the variable X509_USER_PROXY must point to a 12-hours long proxy
Simple submission with notifications
cream-test-notified-submit -r 30 -n 1000 -m 50 -C 50 -p 9000 -l log4py.conf -j simple.jdl -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The renewal process is disabled, the variable X509_USER_PROXY must point to a 12-hours long proxy
Submission and cancellation with polling
cream-test-monitored-cancel -r 30 -n 1000 -m 50 -C 50 -l log4py.conf -j simple.jdl -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The renewal process is disabled, the variable X509_USER_PROXY must point to a 12-hours long proxy.
Submission and cancellation with notifications
cream-test-notified-cancel -r 30 -n 1000 -m 50 -C 50 -p 9000 -l log4py.conf -j simple.jdl -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The renewal process is disabled, the variable X509_USER_PROXY must point to a 12-hours long proxy.
Submission with polling and sandbox transfer
cream-test-monitored-submit -r 30 -n 1000 -m 50 -C 50 -l log4py.conf -j testsandbox.jdl -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
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
cream-test-notified-submit -r 30 -n 1000 -m 50 -C 50 -p 9000 -l log4py.conf -j testsandbox.jdl -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
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
cream-test-monitored-submit -r 60 -n 50 -m 10 -C 10 -l log4py.conf -j long.jdl --vo dteam --valid 00:20 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
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
cream-test-notified-submit -r 60 -n 50 -m 10 -C 10 -p 9000 -l log4py.conf -j long.jdl --vo dteam --valid 00:20 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
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 polling and proxy expired
cream-test-monitored-proxy-expired -r 60 -n 50 -m 10 -C 10 -l log4py.conf --vo dteam --valid 00:20 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
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 polling and lease expired
cream-test-monitored-lease-expired -r 60 -n 50 -m 10 -C 10 -l log4py.conf -W 1200 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The renewal process is disabled, the variable X509_USER_PROXY must point to a 12-hours long proxy. One lease token is defined for all jobs.
Simple submission with notifications and lease expired
cream-test-notified-lease-expired -r 60 -n 50 -m 10 -C 10 -l log4py.conf -W 1200 -p 9000 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The renewal process is disabled, the variable X509_USER_PROXY must point to a 12-hours long proxy.One lease token is defined for all jobs
Simple submission with polling, lease expired and proxy renewal
cream-test-monitored-lease-expired -r 60 -n 50 -m 10 -C 10 -l log4py.conf -W 1800 --vo dteam --valid 00:20 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The variables X509_USER_CERT and X509_USER_KEY must point to the location of the user certificate and private key, passphrase is required.One lease token is defined for all jobs.
Simple submission with notifications, lease expired and proxy renewal
cream-test-notified-lease-expired -r 60 -n 50 -m 10 -C 10 -l log4py.conf -W 1800 -p 9000 --vo dteam --valid 00:20 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The variables X509_USER_CERT and X509_USER_KEY must point to the location of the user certificate and private key, passphrase is required.One lease token is defined for all jobs.
Simple submission with polling and lease updated
cream-test-monitored-lease-updated -r 60 -n 50 -m 10 -C 10 -l log4py.conf -W 1200 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The renewal process is disabled, the variable X509_USER_PROXY must point to a 12-hours long proxy.One lease token is defined for all jobs.
Simple submission with notifications and lease updated
cream-test-notified-lease-updated -r 60 -n 50 -m 10 -C 10 -l log4py.conf -W 1200 -p 9000 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The renewal process is disabled, the variable X509_USER_PROXY must point to a 12-hours long proxy.One lease token is defined for all jobs.
Simple submission with polling, lease updated and proxy renewal
cream-test-monitored-lease-updated -r 60 -n 50 -m 10 -C 10 -l log4py.conf -W 1800 --vo dteam --valid 00:20 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The variables X509_USER_CERT and X509_USER_KEY must point to the location of the user certificate and private key, passphrase is required.One lease token is defined for all jobs.
Simple submission with notifications, lease updated and proxy renewal
cream-test-notified-lease-updated -r 60 -n 50 -m 10 -C 10 -l log4py.conf -W 1800 -p 9000 --vo dteam --valid 00:20 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The variables X509_USER_CERT and X509_USER_KEY must point to the location of the user certificate and private key, passphrase is required.One lease token is defined for all jobs.
Proxy renewal for job in IDLE
cream-test-monitored-submit -r 60 -n $TOTAL -m $PART -C $PART -l log4py.conf -j onehoursleep.jdl --vo dteam --valid 00:45 -R cream-12.pd.infn.it:8443/cream-pbs-cream_A
The variables X509_USER_CERT and X509_USER_KEY must point to the location of the user certificate and private key, passphrase is required. The variable $PART is an integer greater than the number of jobs which can be run concurrently in the batch system, the variable $TOTAL is a multiple of $PART.

Missing tests

  • Logging and Bookkeeping integration: tests of the notifications sent by the job wrapper to the local logger (if installed) and in the next future for direct CREAM-LB integration.

  • Shallow resubmission support: tests for token handling.

Contacts

For any trouble concerning the test suite or the test plan please contacts: cream-support@lists.infn.it

 
This site is powered by the TWiki collaboration platformCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback