chelonia(1) 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, [email protected]