chelonia(1) - Linux man page

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.
aq/aq: not found
$ 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.
aq/aq: not found
$ 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 aq/aq: 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.
aq/aq: collection
    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.
aq/aq: collection
    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.
aq/aq: collection
    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 aq/tmpaq: 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 aq/homeaq: 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 aq/homeaq to aq/tmpaq: 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 aq/homeaq to aq/tmp/aq: 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.
aq/aq: collection
  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.
aq/tmpaq: collection
  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.
aq/tmp/homeaq: collection
    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.
aq/tmpaq: collection
  home                <collection>
aq/aq: collection
  tmp                 <collection>
aq/tmp/homeaq: 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.
aqtestfileaq (20 bytes) uploaded as aq/tmp/testfileaq.
Let's get some stats:
$ chelonia stat /
- ARC_BARTENDER_URL environment variable not found, using http://localhost:60000/Bartender
- Calling the Bartenderaqs stat method...
- done in 0.03 seconds.
aq/aq: found
  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 Bartenderaqs stat method...
- done in 0.03 seconds.
aq/tmpaq: found
  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.
aq/tmp/testfileaq: found
  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.
aq/tmp/testfileaq (20 bytes) downloaded as aqnewfileaq.
$ 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 aq/tmpaq: 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 aq/tmp/homeaq: 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 aq/tmpaq: 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.
aq/aq: collection
    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 aq/aq: 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.
aq/aq: not found

Reporting Bugs

Report bugs to http://bugzilla.nordugrid.org/

Copyright

APACHE

LICENSE Version 2.0

Author

Zsombor Nagy, zsombor@niif.hu