ARC Client Tools Transition

From NorduGrid
Jump to: navigation, search

ARC Client Tools Transition from ng* to arc*

The purpose of this page is to document all differences between the ng* and arc* client tools.

Upgrade procedure

If you installed ARC 0.8.x client tools using yum or apt, it is advised to remove old installations to avoid possible confusion.

New ARC client tools are called arcsub, arcstat etc, and are almost identical in purpose and functionality to those called ngsub, ngstat etc., however, command line options have changed, and several new features are now available. The following documents describe installation and usage details:

Error messages in new client tools are still at times unpolished; please report all confusing messages to User Interface Bugzilla section.

Differences between ng* and arc*

Function/option ng* output arc* output Comment
Compute clients
-x and -X flags in the ng-client -x has different meaning, anonymous queries are not used, -X (gsi-gssapi binds) not available
sync ngsync always truncates the .ngjobs file, then fill it up with the jobs it found in the specified clusters arcsync by default merges the existing jobs with the found ones, and only truncates, if -T is given
specifying target clusters ngresub -k specifies the target clusters arcresub -k is for keep, and -q is for specifying the target clusters
renew proxy ngrenew refuses to renew the proxy if it's not older then the local proxy arcrenew always renews
cat -f ngcat -f can follow the file (like tail -f) no -f option in arccat
Timeout (-t) Timeout only for MDS query (should be double-checked) Timeout is applied in each step (connect, close, send info) Should be documented
Data clients
ls file:///tmp/file.txt /tmp/file.txt file.txt ngls on gsiftp and http prints only filename, difference only for local files
ls -l file:///tmp/file.txt /tmp/file.txt file 0 "Wed Feb 16 14:24:16 2011" * * <Name> <Type> <Size> <Creation> <Validity> <CheckSum> <Latency>

file file 0 2011-02-16 14:24:16 (n/a) (n/a) (n/a)

ls -m /tmp/file.txt accessperm:rw-------

atime:Wed Feb 16 14:24:16 2011

ctime:Wed Feb 16 14:24:16 2011

group:1073

mtime:Wed Feb 16 14:24:16 2011

owner:122831

path:/tmp/file.txt

size:0

type:dir

file

accessperm:rw-------

atime:2011-02-16 14:24:16

ctime:2011-02-16 14:24:16

group:1073

mtime:2011-02-16 14:24:16

owner:122831

path:/tmp/file.txt

size:0

type:file

arcls prints file before metadata, ngls prints wrong type
cp -i ngcp -i prints new line every second arccp -i prints progress as status bar with no new-line when source file size is known (i.e., source file is a local file), otherwise progress is shown in numbers
Stage files from tape to disk ngstage No equivalent arc* command
3rd party data transfer ngtransfer No equivalent arc* command
Set Grid ACL for files ngacl No equivalent arc* command
Test suite
List available resources ngtest -R arcinfo arcinfo is a new tool, patially taking over ngtest functionalities
All clients
long options prefixed with single dash prefixed with double dash

Other

  • list clusters from file (-C)
    • arc* cannot get the list of clusters from a file
  • list of GIISes from a file (-G)
    • arc* cannot get the list of GIISes from a file
  • Caching (cp -y)
    • ngcp and arccp use different time formats, so cache from ngcp is incompatible with cache from arccp

Output file nested URL semantics

Previously an output file like lfc://srm://srm.org/data/test@lfc.org/grid/file1 would be treated as follows:

The file is uploaded to

srm://srm.org/data/test/file1

and this replica is registered under

lfc://lfc.org/grid/file1

In other words the last part of the logical name is appened to the physical name. In ARC 11.05 and later, the semantics were changed to allow a different logical and physical name, and so the whole physical filename must be specified in the inner part of the URL. If the previous example was used an 11.05 cluster would upload the file to

srm://srm.org/data/test

Note that in 11.05 and later the job description syntax allows an cleaner way to specify output files (and URL options), for example in xRSL:

("outputfiles" = ("myfile" "lfc://lfc.org/grid/file1" "location=srm://srm.org/data/test/file1" "spacetoken=MYTOKEN"))