SRM-SPACE
SRM-Client Tools
User�s Guide
Feb. 13, 2009
Alex Sim, Vijaya
Natarajan, Junmin Gu, Arie Shoshani
Lawrence Berkeley National Laboratory
http://datagrid.lbl.gov/bestman
[email protected]
Table of contents
4������ Configuration, configuration options, configuration file and notes
5.5.4�������� Change space for a file
5.5.6�������� Retrieve space tokens
5.5.7�������� Retrieve space information
BeStMan Copyright (c) 2007,2008,2009, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy).� All rights reserved.
If you have questions about your rights to use or distribute this software, please contact Berkeley Lab's Technology Transfer Department at [email protected] and [email protected].
NOTICE.� This software was developed under partial funding from the U.S. Department of Energy.� As such, the U.S. Government has been granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, prepare derivative works, and perform publicly and display publicly.� Beginning five (5) years after the date permission to assert copyright is obtained from the U.S. Department of Energy, and subject to any subsequent five (5) year renewals, the U.S. Government is granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.
For the end user license agreement file for BeStMan for non-commercial research use, go to http://datagrid.lbl.gov/bestman/license-nc.html.
For the end user license agreement file for BeStMan for commercial research use, go to http://datagrid.lbl.gov/bestman/license-c.html.
SRM client tools are full implementations of SRM v2.2 as generic SRM v2.2 clients, developed by Lawrence Berkeley National Laboratory. They have been tested for all current SRM v2.2 implementations such as BeStMan, CASTOR, dCache, DPM, SRM/iRODS-SRB and StoRM. They are continuously being tested for compatibility and interoperability.
It�s a java implementation that would run on any OS platforms, and currently supports gsiftp, http, https and ftp as its file transfer protocols.
It requires the minimal administrative efforts on the deployment and maintenance.
SRM
v2.2 specification can be found on http://sdm.lbl.gov/srm-wg/doc/SRM.v2.2.html.
SRM client downloads and instructions can be found on
http://datagrid.lbl.gov/bestman.
� SUN Java 1.5.0_12 or IBM Java 1.5 or higher versions such as 1.6.0_07.
� Valid user grid proxy
� Refer to SRM Client User�s Guide.
4 Configuration, configuration options, configuration file and notes
� Refer to SRM Client User�s Guide.
srm-space requests to manage spaces in SRM. Operations include reserving space, checking the space reservation request, updating space, releasing and purging space, and retrieving space information.
� srm-space� service_url �-reserve� -size <total_size> -gsize <guaranteed_size> -lifetime <seconds> [command line options]
� srm-space �service_url �-release <space_token> [command line options]
� srm-space �service_url �-purge <space_token> [command line options]
� srm-space �service_url �-change <space_token> [command line options]
� srm-space �service_url �-update <space_token> -size <total_size> -gsize <guaranteed_size> -lifetime <seconds> -retentionpolicy <retention_policy> -accesslatency <access_latency> [command line options]
� srm-space �service_url �-extendlifetime <space_token> -lifetime <seconds> [command line options]
� srm-space �service_url �-getspacetoken [command line options]
� srm-space �service_url �-getspaceinfo <space_token> [command line options]
� Command line options take priority from the options from conf file.
� Options in the following table are in alphabetical order
-accesslatency <online | nearline> |
� Specifies access latency � Default=online |
-authid <string> |
� Authorization� ID to be used in SRM for the request |
-change <space_token> |
� Requests to change spaces to the specified space for SURLs |
-conf <path> |
� Path to the configuration file. � Command line options will override the options from conf file |
-connectiontimeout <int> |
� Specifies time in seconds to wait for soap or gsi connection before timing out. � Default=1800 |
-debug |
� Specifies debugging output � Default=false |
-delegation <true|false> |
� Force proxy delegation. � When not provided, srm client makes no delegation by default, and automatically handles proxy delegation based on the source URLs. � When -delegation is provided, it overrides the automatic handling and forces the user choice. |
-extendlifetime <space_token> |
� requests to update the file lifetime for all files in the space specified by the space token � Use with -lifetime |
-f <path> |
� Path to the xml input file containing the source urls, information for requests with more than one file � Refer to the format and an example in 6.3 |
-forcerelease |
� Requests to release files in a space � Default=false |
-getspaceinfo <space_token> |
� Retrieves the space info |
-getspacetoken |
� Retrieves space tokens that belong to the client |
-gsize <int> |
� Specifies the desired guaranteed space size in bytes |
-help |
� Show the help message |
-lifetime <int> |
� Specifies desired space lifetime in seconds |
-log <path> |
� Specifies path to log file � Default=./srmclient-event-date-random.log |
-proxyfile <path> |
� Path to user grid proxy |
-purge <space_token> |
� Requests to purge files from the space |
-quiet |
� Suppress output in the console. � This option writes the output to the log file. |
-release <space_token> |
� Requests to release the space |
-reserve |
� Requests to reserve a space and gets the space token when successful |
-retentionpolicy <replica | output | custodial > |
� Specifies retention quality � Default=replica |
-s <source_url> |
� Source URL |
-serviceurl <ws_endpoint> |
� Full web service endpoint � Required when source url or target url does not contain web service endpoint information |
-size <int> |
� Specifies the desired total space size in bytes |
-statusmaxtime <int> |
� Max time before status checks get timed out, in seconds � Default=600 |
-statuswaittime <int> |
� Wait time delay between status check, in seconds � Default=30 |
-storageinfo |
� extra storage access information � no default �
For BeStMan supporting MSS, a formatted input separated by
comma is used with following keywords when necessary: |
-update <space_token> |
� Requests to update the space |
-usercert <path> |
� Path to user grid certificate |
-userdesc <string> |
� Specifies user space description |
-userkey <path> |
� Path to user grid certificate key |
� srm client makes no proxy delegation by default, and automatically handles proxy delegation based on the source urls. A user can override the automatic handling by providing an option �-delegation� (or �-delegation true�) to force the delegation, and �-delegation false� to force no delegation. �-debug� option would show how the delegation is done on the output.
<?xml version="1.0" encoding="UTF-8"?>
<request>
� <file>
��� <sourceurl>Source_URL</sourceurl>
� </file>
</request>
� Example 1 : PURGE, CHANGE, EXTENDFILELIFETIME operation
<?xml version="1.0" encoding="UTF-8"?>
<request>
� <file>
��� <sourceurl>srm://bestman.lbl.gov:8443/srm/v2/server?SFN=/mydir/mypath/myfile</sourceurl>
� </file>
</request>
1.
srm-space� srm://host:port/wsept \
�������������������� -reserve -size <bytes> -gsize <bytes>
-lifetime <seconds>
This command requests to reserve a space in the SRM. Click here for the sample output.
1.1. srm-space
�srm://bestman.lbl.gov:8443/srm/v2/server \
���������������� ��-reserve -size 50000000� -gsize 40000000 -lifetime 3600
1. srm-space� srm://host:port/wsept� -release <space_token>
This command requests to release a previously reserved space and all files in the space that is specified with the space token, regardless of their file statuses. Click here for the sample output.
1.1. srm-space� srm://bestman.lbl.gov:8443/srm/v2/server�
\
� ������������������-release SPACE_TOKEN_V12345
2. srm-space� srm://host:port/wsept -release <space_token> -forcerelease
This command requests to release a previously reserved space in the SRM that is specified with the space token, and their file statuses. Click here for the sample output.
2.1. srm-space�
srm://bestman.lbl.gov:8443/srm/v2/server� \
�������������������� -release SPACE_TOKEN_V12345 �-forcerelease
1.
srm-space� srm://host:port/wsept \
������������������� -update <space_token> -size <bytes> �-gsize
<bytes> -lifetime <seconds>
This command requests to update a previously reserved space in the SRM that is specified with the space token. Click here for the sample output.
1.1. srm-space� srm://bestman.lbl.gov:8443/srm/v2/server
\
������������������ -update SPACE_TOKEN_V12345 �size 90000000 -gsize 80000000
-lifetime 7200
1. srm-space� srm://host:port/wsept �\
�������������������
-change <space_token> \
�������������� �����-s srm://host:port/wsept\?SFN=/source_filepath
This command requests to change space for a file to space that is specified with the space token. Click here for the sample output.
1.1. srm-space�
srm://bestman.lbl.gov:8443/srm/v2/server�� \
������������������ -change SPACE_TOKEN_V12345 \
������������������ -s
srm://bestman.lbl.gov:8443/srm/v2/server\?SFN=/srmcache/guest/test.file
1. srm-space� srm://host:port/wsept� \
������������������
-purge <space_token>� \
������������������ -s srm://host:port/wsept\?SFN=/source_filepath
This command requests to purge a file from the space that is specified with the space token. Click here for the sample output.
1.1. srm-space�
srm://bestman.lbl.gov:8443/srm/v2/server�� \
������������������ -purge SPACE_TOKEN_V12345 \
������������������ -s srm://bestman.lbl.gov:8443/srm/v2/server\?SFN=/srmcache/guest/test.file
1. srm-space� srm://host:port/wsept� -getspacetoken
This command requests to retrieve all space tokens that belong to the client. Click here for the sample output.
1.1. srm-space�
srm://bestman.lbl.gov:8443/srm/v2/server�� \
������������������ -getspacetoken
5.5.7 Retrieve space information
1. srm-space� srm://host:port/wsept� -getspaceinfo<space_token>
This command requests to retrieve the space information that is specified by the space token. Click here for the sample output.
1.1. srm-space�
srm://bestman.lbl.gov:8443/srm/v2/server�� \
������ ������������-getspaceinfo SPACE_TOKEN_V12345
When SRM client commands exit, they have exit codes as following:
0 |
SRM_SUCCESS |
51 |
SRM_FAILURE |
52 |
SRM_AUTHENTICATION_FAILURE |
53 |
SRM_AUTHORIZATION_FAILURE |
54 |
SRM_INVALID_REQUEST |
55 |
SRM_INVALID_PATH |
56 |
SRM_FILE_LIFETIME_EXPIRED |
57 |
SRM_SPACE_LIFETIME_EXPIRED |
58 |
SRM_EXCEED_ALLOCATION |
59 |
SRM_NO_USER_SPACE |
60 |
SRM_NO_FREE_SPACE |
61 |
SRM_DUPLICATION_ERROR |
62 |
SRM_NON_EMPTY_DIRECTORY |
63 |
SRM_TOO_MANY_RESULTS |
64 |
SRM_INTERNAL_ERROR |
65 |
SRM_FATAL_INTERNAL_ERROR |
66 |
SRM_NOT_SUPPORTED |
67 |
SRM_REQUEST_QUEUED |
68 |
SRM_REQUEST_INPROGRESS |
69 |
SRM_REQUEST_SUSPENDED |
70 |
SRM_ABORTED |
71 |
SRM_RELEASED |
72 |
SRM_FILE_PINNED |
73 |
SRM_FILE_IN_CACHE |
74 |
SRM_SPACE_AVAILABLE |
75 |
SRM_LOWER_SPACE_GRANTED |
76 |
SRM_DONE |
77 |
SRM_PARTIAL_SUCCESS |
78 |
SRM_REQUEST_TIMED_OUT |
79 |
SRM_LAST_COPY |
80 |
SRM_FILE_BUSY |
81 |
SRM_FILE_LOST |
82 |
SRM_FILE_UNAVAILABLE |
83 |
SRM_UNKNOWN_ERROR |
90 |
Connection refused |
91 |
GSI mapping not found |
92 |
General unpredictable exception |
93 |
Input error |
94 |
Other error, not reached SRM yet |
100 |
SRM returned no status, but it is a failure |
� None reported