Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

Globus Online testing

From EGIWiki
Jump to navigation Jump to search


Tests have been carried out while creating this Cookbook.

This page is a summary of the tests that Karolis Eigelis from the EGI User Community Support Team (UCST) carried out with the European Globus Online service during October-November 2012.

The tests helped UCST establish a Globus Online Cookbook for EGI Virtual Organisations. Other results of the tests are a number of conclusions:

  • Because of lack of regulations, restrictive permissions are set on local storage elements for the main SRM directory.
  • VOInfoPath in BDII may be the path only for SRM interface, but patgh for the related GridFTP server is different.
  • The SRM hostname that is advertised in BDII is not always the same site where the GridFTP server operates (but usually is). Globus Online uses GridFTP endpoints.

The tests involved the following services:

  • MyProxy server: px.grid.sara.nl
  • User Interface: bosui.nikhef.nl
  • BDII: bdii.grid.sara.nl
  • Storage Elements:
    • DPM 1.8.2 - tbn18.nikhef.nl
    • dCache 2.2.4 - srm.grid.sara.nl
    • Storm 1.8.2 - bostorm.bo.infn.it
  • VO: dteam


SRM storage directory


-bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SE=bostorm.bo.infn.it' --attrs 'VOInfoPath'

- SE: bostorm.bo.infn.it

 - VOInfoPath          /dteam

VOInfoPath is /dteam for SRM interface:


-bash-3.2$ srmls -2 srm://bostorm.bo.infn.it:8444/dteam

Picked up _JAVA_OPTIONS: -Xmx512M

 0 /dteam/

     599 /dteam/20080528-143657-3356-0.txt

     755 /dteam/20081117-145803-15525-0.txt

     599 /dteam/20080528-143353-2676-0.txt

     0 /dteam/misurelli

     0 /dteam/testas

     0 /dteam/-acls

     599 /dteam/20080528-145209-4387-0.txt

     755 /dteam/20081117-145800-15187-0.txt

     0 /dteam/karolis

     599 /dteam/20080528-144905-4048-0.txt

     755 /dteam/20081117-150109-16203-0.txt

     0 /dteam/generated

     0 /dteam/dbauer

but if we connnect using GridFTP, /dteam directory even does not exist:


-bash-3.2$ uberftp bostorm.bo.infn.it "ls /dteam"

220 bostorm.bo.infn.it GridFTP Server 6.10 (gcc64, 1334324800-83) [Globus Toolkit 5.2.0] ready.

230 User dteam028 logged in.

Could not list /dteam: 500-Command failed. : System error in stat: No such file or directory

500-A system call failed: No such file or directory

500 End.

because , it is a "symlink" in SRM WS to real directory which is /storage/dteam, but only SRM interface may access it:


-bash-3.2$ uberftp bostorm.bo.infn.it "ls /storage"

220 bostorm.bo.infn.it GridFTP Server 6.10 (gcc64, 1334324800-83) [Globus Toolkit 5.2.0] ready.

230 User dteam028 logged in.

drwxrwxr-x  21  storm  storm   4096 Sep 26 12:45  alice

drwxrwxr-x   4  storm  storm   4096 Sep 26 12:45  atlas

drwxrwxr-x   3  storm  storm   4096 Sep 26 12:45  cms

drwxr-x---   2  storm  storm   4096 Sep 26 12:45  comput-er.it

drwxrwxr-x   2  storm  storm   4096 Jun 29 09:34  computer

drwxrwxr-x   6  storm  storm   4096 Oct 29 15:01  dteam

drwxr-x---   2  storm  storm   4096 Sep 26 12:45  infngrid

drwx------   2   root   root  16384 Jun  7 18:43  lost+found

drwxrwxr-x   4  storm  storm  69632 Nov  2 09:58  ops

-bash-3.2$ uberftp bostorm.bo.infn.it "ls /storage/dteam"

220 bostorm.bo.infn.it GridFTP Server 6.10 (gcc64, 1334324800-83) [Globus Toolkit 5.2.0] ready.

230 User dteam028 logged in.

Could not list /storage/dteam: 500-Command failed. : System error in scandir: Permission denied

500-A system call failed: Permission denied

500 End.


Directory listing on GlobusOnline

On GO Web, if directory is empty, GO Web fails with error listing that directory, if at least on file exists it works fine.

e.g. if i try to enter the directory which is empty i get:


"Could not access /dpm/nikhef.nl/home/dteam/karolis.

Please check the path and try again.

Error listing directory '/dpm/nikhef.nl/home/dteam/karolis/' on endpoint 'ekarolis#nikhef_DPM':

Error: Embedded '/' in '/dpm/nikhef.nl/home/dteam/karolis' dirlist: dirlist/recurse.cpp:206:

void _process_direntry(MLSDEntry*, OpDirlist*): Assertion `0' failed. hide details"

It fails on Nikhef DPM node, but works fine on SARA dCache node.

SRM -> GO endpoint

Go endpoint can be created from all three types (DPM, dCache, STORM) of storage elements within EGI, but SEs have to meet some requirements:


Software versions:

  • GridFTP compatible versions with GlobusOnline access methods within EGI


Gathering info within EGI:

Retrieve all SEs from BDII


-bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(objectClass=GlueSE)' GlueSEUniqueID|grep GlueSEUniqueID:|awk '{print $2}' > EGI_ALL_SE_HOSTS

Count how much hosts we have


bash-3.2$ wc -l EGI_ALL_SE_HOSTS

489 EGI_ALL_SE_HOSTS

OR


-bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --attrs 'SE'|tr -d '\-SE:[:blank:]'|tr -s '\r' '\n'|sort|uniq|wc -l

483


Probe for GridFTP 2811 port EGI_ALL_SE_HOSTS


-bash-3.2$ for i in `cat EGI_ALL_SE_HOSTS`;do echo ¨Connecting to $i `nc -w 2 $i 2811`¨;done|tee EGI_ALL_SE_GRIDFTP_VERSIONS

Count how many of them responded with GridFTP open


-bash-3.2$ grep FTP EGI_ALL_SE_GRIDFTP_VERSIONS|wc -l

299

What are the GridFTP Server versions


-bash-3.2$ awk '{print $8}' EGI_ALL_SE_GRIDFTP_VERSIONS|sort|uniq

2.3

2.7

2.8

3.23

3.28

3.33

6.10

6.14

6.5

Lets see how many types of storage exists in EGI


-bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectClass=GlueSE))' GlueSEImplementationName|grep ^GlueSE|sort|uniq

GlueSEImplementationName: ARC

GlueSEImplementationName: bestman

GlueSEImplementationName: BeStMan

GlueSEImplementationName: CASTOR

GlueSEImplementationName: classicSE

GlueSEImplementationName: dcache

GlueSEImplementationName: dCache

GlueSEImplementationName: DPM

GlueSEImplementationName: HDFS

GlueSEImplementationName: StoRM

GlueSEImplementationName: xrootd

How many of DPM, dCache, Storm ?


-bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectClass=GlueSE)(GlueSEImplementationName=dcache))' GlueSEUniqueID|grep ^GlueSE|wc -l

79

-bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectClass=GlueSE)(GlueSEImplementationName=dpm))' GlueSEUniqueID|grep ^GlueSE|wc -l

217

-bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectClass=GlueSE)(GlueSEImplementationName=storm))' GlueSEUniqueID|grep ^GlueSE|wc -l

54


Retrieve only SRM hosts from BDII


bash-3.2$ ldapsearch -LLL -h bdii.grid.sara.nl -p 2170 -x -b mds-vo-name=local,o=grid '(&(objectclass=GlueService)(GlueServiceType=SRM))' GlueServiceEndpoint |grep GlueServiceEndpoint| awk '{print $2}'|sort|uniq|sed -e '/managerv1/d'|sed -e 's/httpg:\/\///g'|sed -e 's/:.*//' > EGI_ALL_SRM_ENDPOINTS

Count how much SRM endpoints we have


-bash-3.2$ wc -l EGI_ALL_SRM_ENDPOINTS

423 EGI_ALL_SRM_ENDPOINTS

OR


-bash-3.2$ lcg-info --list-service --bdii ldap://bdii.grid.sara.nl:2170 --query 'ServiceType=SRM'|awk {'print $3'}|sort|uniq|sed -e '/managerv1/d'|sed -e 's/httpg:\/\///g'|sed -e 's/:.*//'|wc -l

420


Configuration issues:

  • GridFTP must accept VOMS proxy e.g. user is mapped to /home/dteam009 at storage element
  • Main storage directory used by SRM must allow VO member using his VOMS proxy to access it e.g. /storage/dteam, and not only his home directory which is e.g. /home/dteam009
  • BDII or SRM WS should provide the real path to the main storage directory used on storage element e.g. VOInfoPath from BDII MAY contain the path for SRM ONLY and SRM does the mapping to the real path, but GridFTP does not know how to do that mapping.

Note: Configuration issues may be different, depending on how EGI decides to configure SRM/GridFTP/SEs in general and how GlobusOnline finds important information within EGI):

File operations

All operations below were performed succesufully:

a) copy file using SRM and listing file using GO Web

b) copy file using GO Web and listing file using SRM

c) checking if correct Disk Used Sizes are reported by BDII (transfering at least 1GB)

d) deleting file using SRM (file was put by using GO Web)

e) deleting file using GO Web (file was put by using SRM)

f) Transfer file from NIKHEF DPM to SARA dCache.


1) Picked up few SEs:

DPM 1.8.2 - tbn18.nikhef.nl

dCache 2.2.4 - srm.grid.sara.nl

STORM 1.8.2 - bostorm.bo.infn.it

2) Finding SRM endpoints for these SEs:


-bash-3.2$ lcg-info --list-service --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'ServiceType=SRM' --attrs 'ServiceEndpoint'| grep tbn18.nikhef.nl

- Service: httpg://tbn18.nikhef.nl:8446/srm/managerv2

 - ServiceEndpoint     httpg://tbn18.nikhef.nl:8446/srm/managerv2

-bash-3.2$ lcg-info --list-service --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'ServiceType=SRM' --attrs 'ServiceEndpoint'| grep srm.grid.sara.nl

- Service: httpg://srm.grid.sara.nl:8443/srm/managerv2

 - ServiceEndpoint     httpg://srm.grid.sara.nl:8443/srm/managerv2

-bash-3.2$ lcg-info --list-service --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'ServiceType=SRM' --attrs 'ServiceEndpoint'| grep bostorm.bo.infn.it

- Service: httpg://bostorm.bo.infn.it:8444/srm/managerv2

 - ServiceEndpoint     httpg://bostorm.bo.infn.it:8444/srm/managerv2

3) Finding SRM VO home path for these SRM endpoints:


-bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SE=tbn18.nikhef.nl' --attrs 'VOInfoPath'

- SE: tbn18.nikhef.nl

 - VOInfoPath          /dpm/nikhef.nl/home/dteam

-bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SE=srm.grid.sara.nl' --attrs 'VOInfoPath'

- SE: srm.grid.sara.nl

 - VOInfoPath          /pnfs/grid.sara.nl/data/dteam

-bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SE=bostorm.bo.infn.it' --attrs 'VOInfoPath'

- SE: bostorm.bo.infn.it

 - VOInfoPath          /dteam

4) Listing files in SRM endpoints:


-bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam

Picked up _JAVA_OPTIONS: -Xmx512M

 0 /dpm/nikhef.nl/home/dteam/

< output truncated >

-bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam

Picked up _JAVA_OPTIONS: -Xmx512M

 512 /pnfs/grid.sara.nl/data/dteam/

< output truncated >

-bash-3.2$ srmls -2 srm://bostorm.bo.infn.it:8444/dteam

Picked up _JAVA_OPTIONS: -Xmx512M

 0 /dteam/

< output truncated >

5) Listing used and total space on SEs (in GB units):


-bash-3.2$ ldapsearch -LLL -h tbn18.nikhef.nl -p 2170 -x -b mds-vo-name=resource,o=grid '(&(objectClass=GlueSA)(GlueSAAccessControlBaseRule=VO:dteam))' GlueSATotalOnlineSize GlueSAUsedOnlineSize

dn: GlueSALocalID=test:replica:online,GlueSEUniqueID=tbn18.nikhef.nl,Mds-Vo-na

me=resource,o=grid

GlueSATotalOnlineSize: 32

GlueSAUsedOnlineSize: 4

-bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SAVOs=VO:dteam' --attrs 'UsedOnline,TotalOnline'|grep srm.grid.sara.nl -A 7

- SE: srm.grid.sara.nl

 - UsedOnline          0

                       0                             

                       0                             

 - TotalOnline         0

                       15000                         

                       58681

Note: three values because it is dCache.

-bash-3.2$ lcg-info --list-se --bdii ldap://bdii.grid.sara.nl:2170 --vo dteam --query 'SAVOs=VO:dteam' --attrs 'UsedOnline,TotalOnline'|grep bostorm.bo.infn.it -A 3

- SE: bostorm.bo.infn.it

 - UsedOnline          0

 - TotalOnline         100

6) Uploading file from UI via SRM client to SE endpoint:


-bash-3.2$ srmcp -2 file:///100M.rand  srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/100M.rand -debug

Picked up _JAVA_OPTIONS: -Xmx512M

Storage Resource Manager (SRM) Client version 2.1.5-16

Tue Oct 30 09:24:36 CET 2012: In SRMClient ExpectedName: host

Tue Oct 30 09:24:36 CET 2012: SRMClient(https,srm/managerv2,true)

SRMClieldapsearch -LLL -h tbn18.nikhef.nl -p 2170 -x -b mds-vo-name=resource,o=grid '(&(objectClass=GlueSA)(GlueSAAccessControlBaseRule=VO:dteam))' GlueSATotalOnlineSize GlueSAUsedOnlineSizentV2 : user credentials are: /O=dutchgrid/O=users/O=egi/CN=Karolis Eigelis

SRMClientV2 : connecting to srm at httpg://tbn18.nikhef.nl:8446/srm/managerv2

SRMClientV2 : srmPrepareToPut , contacting service httpg://tbn18.nikhef.nl:8446/srm/managerv2

copy_jobs is empty

Tue Oct 30 09:24:39 CET 2012:  srm returned requestToken = bd7521b6-65ab-4c21-a301-9c484ef81098

Tue Oct 30 09:24:39 CET 2012: sleeping 5 seconds ...

SRMClientV2 : srmStatusOfPutRequest , contacting service httpg://tbn18.nikhef.nl:8446/srm/managerv2

Tue Oct 30 09:24:44 CET 2012: no more pending transfers, breaking the loop

copy_jobs is not empty

copying CopyJob, source = file:///100M.rand destination = gsiftp://hooiwagen.nikhef.nl/hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0

GridftpClient: memory buffer size is set to 131072

GridftpClient: connecting to hooiwagen.nikhef.nl on port 2811

GridftpClient: gridFTPClient tcp buffer size is set to 1048576

GridftpClient: gridFTPWrite started, source file is java.io.RandomAccessFile@74bfed5a destination path is hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0

GridftpClient: gridFTPWrite started, destination path is hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0

GridftpClient: set local data channel authentication mode to None

GridftpClient: parallelism: 10

GridftpClient: waiting for completion of transfer

GridftpClient: starting a transfer to hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0

GridftpClient: DiskDataSink.close() called

GridftpClient: gridFTPWrite() wrote 104857600bytes

GridftpClient: closing client : org.globus.ftp.GridFTPClient@3b5b123b

GridftpClient: closed client

execution of CopyJob, source = file:///100M.rand destination = gsiftp://hooiwagen.nikhef.nl/hooiwagen.nikhef.nl:/export/data/dteam/dteam/2012-10-30/100M.rand.160938141.0 completed

SRMClientV2 : srmPutDone , contacting service httpg://tbn18.nikhef.nl:8446/srm/managerv2

srmPutDone status code=SRM_SUCCESS

copy_jobs is empty

stopping copier

Note: In the log above we see that in fact the real SE endpoint is "hooiwagen.nikhef.nl", which is not advertized in BDII, but pre-configured inside SRM WS.

But we can use lcg-gt as well:


-bash-3.2$ touch test
-bash-3.2$ srmcp -2 file:///test srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/lsgrid/test -debug
-bash-3.2$ lcg-gt srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/lsgrid/test gsiftp
-bash-3.2$ gsiftp://bee33.grid.sara.nl:2811/pnfs/grid.sara.nl/data/lsgrid/test


7) Listing file via GO Web and deleting the file via GO Web.


-bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/100M.rand

Picked up _JAVA_OPTIONS: -Xmx512M

 104857600 /dpm/nikhef.nl/home/dteam/100M.rand

-bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/100M.rand

Picked up _JAVA_OPTIONS: -Xmx512M

Tue Oct 30 09:32:12 CET 2012: Return status:

- Status code:  SRM_FAILURE

- Explanation:  null

SRM_INVALID_PATH   File/directory 0 /dpm/nikhef.nl/home/dteam/100M.rand does not exist.

8) Uploading file from GO Web to SE endpoint, listing with SRM client and deleting with SRM:


-bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/1G.rand

Picked up _JAVA_OPTIONS: -Xmx512M

 1048576000 /dpm/nikhef.nl/home/dteam/1G.rand

-bash-3.2$ srmrm -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/1G.rand

Picked up _JAVA_OPTIONS: -Xmx512M

-bash-3.2$

9) Uploading 5GB size file from laptop to SE using GO Web and checking if BDII is reporting space correctly.

Before upload:


-bash-3.2$ ldapsearch -LLL -h tbn18.nikhef.nl -p 2170 -x -b mds-vo-name=resource,o=grid '(&(objectClass=GlueSA)(GlueSAAccessControlBaseRule=VO:dteam))' GlueSATotalOnlineSize GlueSAUsedOnlineSize

dn: GlueSALocalID=test:replica:online,GlueSEUniqueID=tbn18.nikhef.nl,Mds-Vo-na

me=resource,o=grid

GlueSATotalOnlineSize: 32

GlueSAUsedOnlineSize: 4

Listing file with SRM client:


-bash-3.2$ srmls -2 srm://tbn18.nikhef.nl:8446/dpm/nikhef.nl/home/dteam/karolisPicked up _JAVA_OPTIONS: -Xmx512M

 0 /dpm/nikhef.nl/home/dteam/karolis/

     5242880000 /dpm/nikhef.nl/home/dteam/karolis/5G.rand

After upload:


-bash-3.2$ ldapsearch -LLL -h tbn18.nikhef.nl -p 2170 -x -b mds-vo-name=resource,o=grid '(&(objectClass=GlueSA)(GlueSAAccessControlBaseRule=VO:dteam))' GlueSATotalOnlineSize GlueSAUsedOnlineSize

dn: GlueSALocalID=test:replica:online,GlueSEUniqueID=tbn18.nikhef.nl,Mds-Vo-na

me=resource,o=grid

GlueSATotalOnlineSize: 32

GlueSAUsedOnlineSize: 9

10) Making transfer from Nikhef DPM to SARA dCache using GO Web and listing file using SRM on dCache:


-bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam/karolis

Picked up _JAVA_OPTIONS: -Xmx512M

 512 /pnfs/grid.sara.nl/data/dteam/karolis/

     5242880000 /pnfs/grid.sara.nl/data/dteam/karolis/5G.rand

And notification by email was received:


=== Task Deta-bash-3.2$ srmls -2 srm://srm.grid.sara.nl:8443/pnfs/grid.sara.nl/data/dteam/karolis

Picked up _JAVA_OPTIONS: -Xmx512M

 512 /pnfs/grid.sara.nl/data/dteam/karolis/

     5242880000 /pnfs/grid.sara.nl/data/dteam/karolis/5G.rand

ils ===

Task ID              : 429d16a4-2278-11e2-bf56-1231380b8963

Task Type            : TRANSFER

Parent Task ID       : n/a

Status               : SUCCEEDED

Request Time         : 2012-10-30 09:57:48Z

Deadline             : 2012-10-31 09:57:48Z

Completion Time      : 2012-10-30 09:58:56Z

Total Tasks          : 1

Tasks Successful     : 1

Tasks Expired        : 0

Tasks Canceled       : 0

Tasks Failed         : 0

Tasks Pending        : 0

Tasks Retrying       : 0

Command              : API 0.10 eu

Label                : from NIKHEF DPM to SARA dCache

Sync Level           : n/a

Data Encryption      : No

Checksum Verification: No

Delete               : No

Files                : 1

Files Skipped        : 0

Directories          : 0

Bytes Transferred    : 5242880000

Bytes Checksummed    : 0

MBits/sec            : 626.016

Faults               : 0