GT 4.2.1 WS RLS : User's Guide

Introduction

The WS Replica Location Service (WS RLS) provides a Web services interface for the existing Replica Location Service (RLS). The features of the RLS have been preserved and interfaces should look familiar to users accustomed to working with the RLS. In most cases the interfaces are semantically similar (or identical) to the RLS operations, but effort has been made to adapt the interfaces to conform to expected style and conventions more typical of Web services. The interfaces consist of the WS-ReplicaLocationCatalog and the WS-ReplicaLocationIndex, representing the RLS Local Replica Catalog (LRC) and RLS Replica Location Index (RLI).

[Note]Note

Please note this is relatively new code and may not necessarily be as robust as the rest of RLS.

Usage of the WS-RLS is related to but not exactly similar to the RLS. Users of the RLS will find that RLS operations have been organized into a set of command-line tools. The command-line tools provide capabilities for updating replica cataogs. For instance, a tool (globus-replicalocation-createmappings) supports the creating of new logical name to target name mappings. Such tools exist for creating mappings, adding mappings, deleting mappings, defining attributes, undefining attributes, and adding attributes, modifing attributes, and removing attributes. For query operations, both against the catalog as well as the index service, the WS-RLS supports the wsrf-query command with a custom query dialect (see usage for examples of the query dialect).


Table of Contents

1. Mapping Replica Locations (WS)
1. Create mappings
2. Add mappings
3. Define attribute definitions
4. Add attributes
5. Query mappings
6. Query attributes
WS RLS Commands
globus-replicalocation-createmappings - This tool is used to create mappings between logical names and target names. The create semantic implies that the logical name does not exist at the time of invocation.
globus-replicalocation-addmappings - This tool is used to add mappings between logical names and target names. The add semantic implies that the logical name does exist at the time of invocation.
globus-replicalocation-deletemappings - This tool is used to delete mappings between logical names and target names.
globus-replicalocation-defineattributes - This tool is used to define attributes.
globus-replicalocation-undefineattributes - This tool is used to undefine attributes.
globus-replicalocation-addattributes - This tool is used to add attributes.
globus-replicalocation-modifyattributes - This tool is used to modify attributes.
globus-replicalocation-removeattributes - This tool is used to remove existing attributes.
2. Troubleshooting
1. Errors
Index

Chapter 1. Mapping Replica Locations (WS)

This section describes a few key usage scenarios and provides examples of using the WS RLS command-line tools.

1. Create mappings

Use the globus-replicalocation-createmappings(1) tool to create mappings.

% $GLOBUS_LOCATION/bin/globus-replicalocation-createmappings \
  -s https://localhost:8443/wsrf/services/ReplicaLocationCatalogService \
  mydata1 gsiftp://path/a/to/mydata1
        

No output is expect from this command when successful.

2. Add mappings

Use the globus-replicalocation-addmappings(1) tool to add mappings.

% $GLOBUS_LOCATION/bin/globus-replicalocation-addmappings \
  -s https://localhost:8443/wsrf/services/ReplicaLocationCatalogService \
  mydata1 gsiftp://path/b/to/mydata1
        

No output is expect from this command when successful.

3. Define attribute definitions

Use the globus-replicalocation-defineattributes(1) tool to define attribute definitions.

% $GLOBUS_LOCATION/bin/globus-replicalocation-defineattributes \
  -s https://localhost:8443/wsrf/services/ReplicaLocationCatalogService \
  myattr1 logical string
        

No output is expect from this command when successful.

4. Add attributes

Use the globus-replicalocation-addattributes(1) tool to add attributes.

% $GLOBUS_LOCATION/bin/globus-replicalocation-addattributes \
  -s https://localhost:8443/wsrf/services/ReplicaLocationCatalogService \
  mydata1 myattr1 logical string attribute-value-goes-here
        

No output is expect from this command when successful.

5. Query mappings

Use the wsrf-query tool to query mappings.

% $GLOBUS_LOCATION/bin/wsrf-query \
  -s https://localhost:8443/wsrf/services/ReplicaLocationCatalogService \
  "query-target: mydata1" \
  "http://globus.org/replica/location/06/01/QueryDialect"
<ns1:MappingStatusType ns1:logical="mydata1" 
ns1:target="gsiftp://path/a/to/mydata1" 
xmlns:ns1="http://www.globus.org/namespaces/2005/08/replica/location"/>
<ns1:MappingStatusType ns1:logical="mydata1" 
ns1:target="gsiftp://path/b/to/mydata1" 
xmlns:ns1="http://www.globus.org/namespaces/2005/08/replica/location"/>
        

6. Query attributes

Use the wsrf-query tool to query attributes.

% $GLOBUS_LOCATION/bin/wsrf-query \
  -s https://localhost:8443/wsrf/services/ReplicaLocationCatalogService \
  "query-logical-attributes: mydata1" \
  "http://globus.org/replica/location/06/01/QueryDialect"
<ns1:AttributeStatusType ns1:key="mydata1" ns1:name="myattr1"
 ns1:objtype="logical" ns1:status="attributeExists" ns1:valtype="string"
 xmlns:ns1="http://www.globus.org/namespaces/2005/08/replica/location">
 <_value xmlns="">attribute-value-goes-here</_value>
</ns1:AttributeStatusType>
        

WS RLS Commands


The WS RLS provides a set of command-line tools to create, add, remove mappings between logical names and target names, define and undefine attribute definitions, and create, modify, and delete attributes. These command line tools are available on Unix and Windows platforms and will work in the same way (of course within the platform rules - the path syntax, variable definitions, etc.).

The WS RLS command-line tools make use of the Common Java Client Options. These options are refered to below as [options].

Table of Contents

globus-replicalocation-createmappings - This tool is used to create mappings between logical names and target names. The create semantic implies that the logical name does not exist at the time of invocation.
globus-replicalocation-addmappings - This tool is used to add mappings between logical names and target names. The add semantic implies that the logical name does exist at the time of invocation.
globus-replicalocation-deletemappings - This tool is used to delete mappings between logical names and target names.
globus-replicalocation-defineattributes - This tool is used to define attributes.
globus-replicalocation-undefineattributes - This tool is used to undefine attributes.
globus-replicalocation-addattributes - This tool is used to add attributes.
globus-replicalocation-modifyattributes - This tool is used to modify attributes.
globus-replicalocation-removeattributes - This tool is used to remove existing attributes.

Name

globus-replicalocation-createmappings — This tool is used to create mappings between logical names and target names. The create semantic implies that the logical name does not exist at the time of invocation.

Synopsis

globus-replicalocation-createmappings

Tool description

Use this tool to create mappings between logical names and target names in the replica location catalog. The mapping must not exist. In addition, the logical name must not exist.

Command syntax

                globus-replicalocation-createmappings [options] \
                { { logical-name target-name }+ | input-file | - }
            

Table 1. globus-replicalocation-createmappings Options

{ logical-name target-name }+

A listing of logical name to target name mappings.

input-file

A file containing logical name to target name mappings.

-

Standard input stream containing logical name to target name mappings.

Name

globus-replicalocation-addmappings — This tool is used to add mappings between logical names and target names. The add semantic implies that the logical name does exist at the time of invocation.

Synopsis

globus-replicalocation-addmappings

Tool description

Use this tool to add mappings between logical names and target names in the replica location catalog. The mapping must not exist. In addition, the logical name must exist.

Command syntax

                globus-replicalocation-addmappings [options] \
                { { logical-name target-name }+ | input-file | - }
            

Table 2. globus-replicalocation-addmappings Options

{ logical-name target-name }+

A listing of logical name to target name mappings.

input-file

A file containing logical name to target name mappings.

-

Standard input stream containing logical name to target name mappings.

Name

globus-replicalocation-deletemappings — This tool is used to delete mappings between logical names and target names.

Synopsis

globus-replicalocation-deletemappings

Tool description

Use this tool to delete mappings between logical names and target names in the replica location catalog. The mapping must exist.

Command syntax

                globus-replicalocation-deletemappings [options] \
                { { logical-name target-name }+ | input-file | - }
            

Table 3. globus-replicalocation-deletemappings Options

{ logical-name target-name }+

A listing of logical name to target name mappings.

input-file

A file containing logical name to target name mappings.

-

Standard input stream containing logical name to target name mappings.

Name

globus-replicalocation-defineattributes — This tool is used to define attributes.

Synopsis

globus-replicalocation-defineattributes

Tool description

Use this tool to define attributes. Attribute definitions must be given a name unique within the local instance of the replica location catalog. Attribute definitions must be given a value type of dateTime, decimal, integer, or string. And attribute definitions must be associated with an object type of logical or target.

Command syntax

                globus-replicalocation-defineattributes [options] \
                { { name object-type value-type }+ | input-file | - }
            

Table 4. globus-replicalocation-defineattributes Options

{ name object-type value-type }+

A listing of attribute name, associated object-type, and value-type.

input-file

A file containing the listing of attribute name, associated object-type, and value-type.

-

Standard input stream containing the listing of attribute name, associated object-type, and value-type.

Name

globus-replicalocation-undefineattributes — This tool is used to undefine attributes.

Synopsis

globus-replicalocation-undefineattributes

Tool description

Use this tool to undefine attributes. Attribute definitions must be identified by the definition's name and associated object-type. The operation will clear attribute values for existing attributes with the definition's name.

Command syntax

                globus-replicalocation-undefineattributes [options] \
                { { name object-type }+ | input-file | - }
            

Table 5. globus-replicalocation-undefineattributes Options

{ name object-type }+

A listing of attribute name and associated object-type.

input-file

A file containing the listing of attribute name and associated object-type.

-

Standard input stream containing the listing of attribute name and associated object-type.

Name

globus-replicalocation-addattributes — This tool is used to add attributes.

Synopsis

globus-replicalocation-addattributes

Tool description

Use this tool to add attributes associated with logical names or target names. A corresponding attribute definition must exist. The logical name or target name with which to associate the attribute must exist. There must not be an existing attribute of the same type for a given logical name or target name. When adding attributes, the following parameters are required. The logical name or target name, refered to as the key. The name of the attribute as defined by an existing attribute definition. An object-type of logical or target. A value-type corresponding to dateTime, decimal, integer, or string. And finally a value compatible with the value-type.

Command syntax

                globus-replicalocation-addattributes [options] \
                { { key name object-type value-type value }+ | input-file | - }
            

Table 6. globus-replicalocation-addattributes Options

{ key name object-type value-type value }+

A listing of key, attribute name, associated object-type, value-type, and value.

input-file

A file containing the listing of key, attribute name, associated object-type, value-type, and value.

-

Standard input stream containing the listing of key, attribute name, associated object-type, value-type, and value.

Name

globus-replicalocation-modifyattributes — This tool is used to modify attributes.

Synopsis

globus-replicalocation-modifyattributes

Tool description

Use this tool to modify attributes associated with logical names or target names. Mutability of attributes is limited only to the attribute's value. The corresponding attribute must exist.

Command syntax

                globus-replicalocation-modifyattributes [options] \
                { { key name object-type value-type value }+ | input-file | - }
            

Table 7. globus-replicalocation-modifyattributes Options

{ key name object-type value-type value }+

A listing of key, attribute name, associated object-type, value-type, and value.

input-file

A file containing the listing of key, attribute name, associated object-type, value-type, and value.

-

Standard input stream containing the listing of key, attribute name, associated object-type, value-type, and value.

Name

globus-replicalocation-removeattributes — This tool is used to remove existing attributes.

Synopsis

globus-replicalocation-removeattributes

Tool description

Use this tool to remove existing attributes associated with logical names or target names. The corresponding attribute must exist.

Command syntax

                globus-replicalocation-removeattributes [options] \
                { { key name object-type }+ | input-file | - }
            

Table 8. globus-replicalocation-removeattributes Options

{ key name object-type }+

A listing of key, attribute name, and associated object-type.

input-file

A file containing the listing of key, attribute name, and associated object-type.

-

Standard input stream containing the listing of key, attribute name, and associated object-type.

Chapter 2. Troubleshooting

Table of Contents

1. Errors

For sys admin debugging information, see Chapter 5, Debugging.

For a list of common errors in GT, see Error Codes.

1. Errors

Table 2.1. WS Replica Location Service (WS RLS) Errors

Error CodeDefinitionPossible Solutions
Error: java.lang.NullPointerExceptionWhen invoking the WS RLS command-line clients, a system-level exception like the one above may be encountered. The admin should check the container logs for the exact error.
Error: A server error occured while processing the requestWhen invoking the WS RLS command-line clients, a server error like the one above may be encountered. The admin should check the container logs for the exact error.
java.lang.UnsatisfiedLinkErrorThis exception when using the WS RLS may indicate that the native RLS libraries that WS RLS depends on could not be located. To correct this problem, ensure that the $GLOBUS_LOCATION/lib directory is in the library search path (on some systems this is the LD_LIBRARY_PATH variable).
Unable to connect to localhost:39281The WS RLS is an interface layer that depends on the RLS for the replica location functionality. You must install and run RLS and configure WS RLS to use the RLS via its JNDI configuration. Check that RLS is installed, running, and check that the WS RLS JNDI configuration uses the correct hostname and port to connect to the RLS.
org.globus.common.ChainedIOException: Failed to initialize security contextIf this exception occurs while using WS RLS, it may indicate that the user's proxy is invalid. To correct the error, the user must properly initialize the user proxy. See grid-proxy-init for more information on proxy initialization.
Error: org.xml.sax.SAXException: Unregistered type: class xxxIf this exception occurs when using the WS RLS, it may indicate that an Axis generated XML type, defined by the WS RLS XSD, was not properly registered. While all the XML types should get registered upon deployment without intervention by the user, sometimes they do not. To remedy the situation add a typeMapping to the server-config.wsdd file under globus_wsrf_replicalocation_service. Use the format shown here.

Index

A

attributes
adding, Add attributes
definitions, Define attribute definitions
querying, Query attributes

M

mapping
querying, Query mappings
mappings
adding, Add mappings
creating, Create mappings