NAME
chelonia - Client for the Chelonia storage system
SYNOPSIS
chelonia [-x] [method] [arguments]
DESCRIPTION
chelonia is a client tool for accessing the Chelonia storage system.
With it you can create, remove and list collections, upload, download
and remove files, and move and stat collections and files, using
Logical Names.
Running without arguments it prints usage information. If you just
specify the method without any other argument, it prints usage
information for that method.
OPTIONS
-x prints the SOAP messages as XML documents.
list LN [LN ...]
List the content of the given collections specified by the given
Logical Names (LN)
makeCollection LN
Create a new collection with the Logical Name ’LN’.
unmakeCollection LN
Remove the collection with the Logical Name ’LN’.
putFile source target
Upload the local file ’source’ to the Logical Name ’target’.
getFile source [target]
Download the file with Logical Name ’source’, and store it
locally as ’target’ or as the filename in the Logical Name if
’target’ is not specified.
delFile LN [LN ...]
Remove the files with the specified Logical Names.
move source target
Move the file or collection with Logical Name ’source’ to the
Logical Name ’target’.
stat LN [LN ...]
Get state information about files with Logical Names (LN)
ENVIRONMENT VARIABLES
ARC_BARTENDER_URL
The URL of the Bartender service can be specified by this
variable.
If this variable is not set, http://localhost:60000/Bartender
will be used.
ARC_LOCATION
The location where ARC is installed can be specified by this
variable. If not specified the install location will be
determined from the path to the command being executed, and if
this fails a WARNING will be given stating the location which
will be used.
ARC_PLUGIN_PATH
The location of ARC plugins can be specified by this variable.
Multiple locations can be specified by separating them by : (;
in Windows). The default location is $ARC_LOCATION/lib/arc (\ in
Windows).
EXAMPLES
Let’s see some examples with results:
$ chelonia list /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s list method...
- done in 0.03 seconds.
$ chelonia -x list /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s list method...
Request:
<soap-env:Envelope>
<soap-env:Body>
<list>
<listRequestList>
<listRequestElement>
<requestID>0</requestID>
<LN>/</LN>
</listRequestElement>
</listRequestList>
<neededMetadataList>
<neededMetadataElement>
<section>entry</section>
<property></property>
</neededMetadataElement>
</neededMetadataList>
</list>
</soap-env:Body>
</soap-env:Envelope>
Response:
<soap-env:Envelope>
<soap-env:Body>
<bar:listResponse>
<bar:listResponseList>
<bar:listResponseElement>
<bar:requestID>0</bar:requestID>
<bar:entries></bar:entries>
<bar:status>not found</bar:status>
</bar:listResponseElement>
</bar:listResponseList>
</bar:listResponse>
</soap-env:Body>
</soap-env:Envelope>
- done in 0.03 seconds.
$ chelonia makeCollection /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s makeCollection method...
- done in 0.05 seconds.
Creating collection ’/’: done
The methods can be listed with:
$ chelonia
Usage:
chelonia <method> [<arguments>]
Supported methods: stat, make[Collection], unmake[Collection], list, move, put[File], get[File], del[File]
Without arguments, each method prints its own help.
$ chelonia move
Usage: move <sourceLN> <targetLN>
LN means Logical Name everywhere in this system, this is the path in the global namespace.
The LNs are always absolute, must start with a ’/’. (or with a ’<GUID>/’...)
$ chelonia list /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s list method...
- done in 0.04 seconds.
empty.
Actually you only need to type the first three character of the command:
$ chelonia lis /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s list method...
- done in 0.04 seconds.
empty.
And you can use ’ls’, ’mv’, ’rmdir’, ’mkdir’, ’rm’ as well:
$ chelonia ls /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s list method...
- done in 0.03 seconds.
empty.
Let’s create some sub-collections (sub-directories):
$ chelonia mkdir /tmp
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s makeCollection method...
- done in 0.06 seconds.
Creating collection ’/tmp’: done
$ chelonia mkdir /home
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s makeCollection method...
- done in 0.06 seconds.
Creating collection ’/home’: done
Let’s move them:
$ chelonia mv /home /tmp
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s move method...
- done in 0.05 seconds.
Moving ’/home’ to ’/tmp’: targetexists
$ chelonia mv /home /tmp/
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s move method...
- done in 0.07 seconds.
Moving ’/home’ to ’/tmp/’: moved
Let’s list them:
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
$ chelonia ls /
- Calling the Bartender’s list method...
- done in 0.04 seconds.
tmp <collection>
$ chelonia ls /tmp
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s list method...
- done in 0.04 seconds.
home <collection>
$ chelonia ls /tmp/home
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s list method...
- done in 0.05 seconds.
empty.
$ chelonia ls / /tmp /tmp/home
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s list method...
- done in 0.08 seconds.
home <collection>
tmp <collection>
empty.
Let’s upload a file:
$ cat testfile
This is a testfile.
$ chelonia put testfile /tmp
- The size of the file is 20 bytes
- The md5 checksum of the file is 9a9dffa22d227afe0f1959f936993a80
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s putFile method...
- done in 0.04 seconds.
/tmp: LN exists
$ chelonia put testfile /tmp/
- The size of the file is 20 bytes
- The md5 checksum of the file is 9a9dffa22d227afe0f1959f936993a80
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s putFile method...
- done in 0.08 seconds.
- Got transfer URL: http://localhost:60000/httpd/d15900f5-34ee-4bba-bb10-73d60d1c0d75
- Uploading from ’testfile’ to ’http://localhost:60000/httpd/d15900f5-34ee-4bba-bb10-73d60d1c0d75’ with http...
Uploading 20 bytes... data sent, waiting... done.
- done in 0.0042 seconds.
Let’s get some stats:
$ chelonia stat /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s stat method...
- done in 0.03 seconds.
states
closed: 0
entry
type: collection
timestamps
created: 1210231805.48
entries
tmp: 51e12fab-fd3d-43ec-9bc5-17041da3f0b2
$ chelonia stat /tmp
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s stat method...
- done in 0.03 seconds.
states
closed: 0
timestamps
created: 1210231940.04
entry
type: collection
parents
0/tmp: parent
entries
testfile: e635a620-da69-48a3-80d6-b4f68f4aeaa5
home: e6f5d1f0-71a8-4ea6-adc4-8b36807e5562
$ chelonia stat /tmp/testfile
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s stat method...
- done in 0.05 seconds.
states
checksumType: md5
neededReplicas: 1
size: 20
checksum: 9a9dffa22d227afe0f1959f936993a80
timestamps
created: 1210232135.57
parents
51e12fab-fd3d-43ec-9bc5-17041da3f0b2/testfile: parent
locations
http://localhost:60000/Shepherd fc0d3d99-6406-4c43-b2eb-c7ec6d6ab7fe: alive
entry
type: file
Let’s download the file:
$ chelonia get /tmp/testfile newfile
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s getFile method...
- done in 0.05 seconds.
- Got transfer URL: http://localhost:60000/httpd/dab911d0-110f-468e-b0c3-627af6e3af31
- Downloading from ’http://localhost:60000/httpd/dab911d0-110f-468e-b0c3-627af6e3af31’ to ’newfile’ with http...
Downloading 20 bytes... done.
- done in 0.0035 seconds.
$ cat newfile
This is a testfile.
Let’s remove everything:
$ chelonia unmakeCollection /tmp
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s unmakeCollection method...
- done in 0.03 seconds.
Removing collection ’/tmp’: collection is not empty
$ chelonia unmakeCollection /tmp/home
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s unmakeCollection method...
- done in 0.06 seconds.
Removing collection ’/tmp/home’: removed
$ chelonia del /tmp/testfile
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s delFile method...
- done in 0.05 seconds.
/tmp/testfile: deleted
$ chelonia rmdir /tmp
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s unmakeCollection method...
- done in 0.05 seconds.
Removing collection ’/tmp’: removed
$ chelonia ls /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s list method...
- done in 0.04 seconds.
empty.
$ chelonia unmakeCollection /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s unmakeCollection method...
- done in 0.04 seconds.
Removing collection ’/’: removed
$ chelonia list /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartender’s list method...
- done in 0.04 seconds.
REPORTING BUGS
Report bugs to http://bugzilla.nordugrid.org/
COPYRIGHT
APACHE LICENSE Version 2.0
AUTHOR
Zsombor Nagy, zsombor@niif.hu