The gLite API – Part II Giuseppe LA ROCCA ACGRID-II School INFN Catania giuseppe.larocca@ct.infn.it ACGRID-II School 2-14 November 2009 Kuala Lumpur - Malaysia
S E E-G R I D File Management J a v a A P I ver 1.3 Overview of the SEE-GRID File Management Java API Requirements & Configuration The Classes : LFCDataStorage, LFCDirectoryItem and LFCFileItem Hands-on
Overview of the gLite DM API
Overview SEE-GRID File Management Java API supports most of the data management operations offered by LFC and LCG_UTILS C APIs. These Java API are compatible with LCG 2.7.x and gLite grid middleware. The initial version was created within SEE-GRID project
Available feature(s) Uploading / Downloading files from UI to grid Reading filemode information as described in LFC C/C++ API manual Listing file/directory aliases Alias management operations (create/rename/delete) Reading file/directory date information Additional file management operations (rename/move) Directory management (create/rename/move) File/directory comment modification Listing of SE from BDII with the ability to ignore some SEs set in a properties file Directory management (delete) Uploading / Downloading files from UI to grid Reading file information: permissions, GUID, comment Listing file replicas File management operations: replicating files, deleting files and file replicas, unregistering files and file replicas Reading directory information Permissions, comment Listing directory contents Reading user and group ids for files and directories Reading user and group names for files and directories
Installation and Configuration /1 0.) First of all you have to install the following APIs: GFAL C/C++ API lcg_util C/C++ API LFC C/C++ API gLite FTS Java API 1.) Then you have to download the SEE-GRID File Management API (see references) These APIs come with the last release of gLite middleware and should be already installed and configured by your sys-admin.
Installation and Configuration /2 2.) Set the CLASSPATH variable to contain the path of the SEE-GRID File Management API. Set the value of the VO variable with the name of your Virtual Organization Set the value of bdii.host.name and bdii.host.port Optionally, set the value of property SE.ignore.list with the list of SEs to be ignored when obtaining availables SEs from the BDII.
$ cat repmngr.properties e.o, LFest Java API properties. This file's location needs to be in classpath. # # Name of Virtual Organisation VO = gilda # List of available Storage Elements SEList = iceage-se-01.ct.infn.it aliserv6.ct.infn.it se.hpc.iit.bme.hu gilda-02.pd.infn.it fn2.hpcc.sztaki.hu # List of Storage Elements to ignore even if published SE.ignore.list = egee016.cnaf.infn.it bdii.host.name = gilda-bdii.ct.infn.it bdii.host.port = 2170
Installation and Configuration /3 3.) Set the LCG_GFAL_INFOSYS and LFC_HOST variables as follow: export LFC_HOST=lfc-gilda.ct.infn.it export LCG_GFAL_INFOSYS=gilda-bdii.ct.infn.it:2170
LFCDataStorage class is an implementation of DataStorageInterface which provides information and access to data storage resources of a grid. Access data stored in a grid resources
LFCDirectoryItem class provides methods to retrieve directory information and data management.
LFCFileItem class provides methods to retrieve file information and data management.
Listing directory content of a LFC $ java LfcLs /grid/gilda/ drwxrwxr-x 124 104 0 aula_grid drwxrwxr-x 124 104 0 aula_grid_11 drwxrwxr-x 152 104 0 balasko drwxrwxr-x 137 104 0 cdg drwxrwxr-x 129 104 0 clermont drwxrwxr-x 101 104 0 corsogrid drwxrwxr-x 112 117 0 emidio [..cut..]
Retrieve list of SE(s) from the BDII
Copy and register file(s) on the SE
Copy and register file(s) on the SE /2 $ java copyAndRegister /home/larocca/HEPIX/Api-Java-LFC-1.3/compile-exercises.sh \ /grid/gilda/tutorials \ compile-exercises.sh \ aliserv6.ct.infn.it File /home/larocca/HEPIX/Api-Java-LFC-1.3/compile-exercises.sh copied and registed as: /grid/gilda/tutorials/compile-exercises.sh
Replicating files
Replicating files $ java replicate Replicate file to given SE. Usage: java replicate <gridDestFileName> <target_SE> /grid/gilda/tutorials/compile-examples.sh vega-se.ct.infn.it Replication successful: true
References SEE-GRID File Management Java API Documentation http://grid02.rcub.bg.ac.yu/LFCJavaAPI/files/docs/javadoc/version1.3/index.html Source code (version 1.3) [released 11/07/2007] http://grid02.rcub.bg.ac.yu/LFCJavaAPI/files/downloads/SEE-GRIDFileManagementAPI-v1.3.zip
$ cd ${HOME}/Api-Java-LFC-1.3 $ source compile-exercises.sh Hands-on Connect to the training infrastructure using the information reported in the tutorial sheet Run the hands-on available in this web link: http://www.euasiagrid.org/wiki/index.php/WMProxy_Java_API Enjoy! $ cd ${HOME}/Api-Java-LFC-1.3 To compile Java code run: $ source compile-exercises.sh