GT 4.1.1 WS MDS UsefulRP: System Administrator's Guide

1. Introduction

This guide contains advanced configuration information for system administrators working with WS MDS UsefulRP. It provides references to information on procedures typically performed by system administrators, including installation, configuring, deploying, and testing the installation.

[Important]Important

This information is in addition to the basic Globus Toolkit prerequisite, overview, installation, security configuration instructions in the GT 4.1.1 System Administrator's Guide. Read through this guide before continuing!

2. Building and Installing

Include detailed instructions for building and installing (if this component is built and installed by default when installing gt distribution, state so).

3. Configuring

3.1. Configuration overview

The system administrator first enables a given service or service resource to use the org.globus.mds.usefulrp.rpprovider.ResourcePropertyProviderCollection operation provider by adding the fully qualified Java class name to the provider's parameter value in the service descriptor of a service or resource's server-config.wsdd file.

Lastly, the administrator must add a new parameter named rpProviderConfigFile and for its corresponding value, specify a full (absolute) OS-native file path to a valid ResourcePropertyProviderConfig configuration file. The ResourcePropertyProviderConfig file contains all required information for generating one or more Resource Properties for the hosting service or resource.

At service startup, the ResourcePropertyProviderCollection operation provider code is initialized and attempts to process the configuration entries found in the file specified by the rpProviderConfigFile parameter into a set of one or more background execution tasks (threads) that periodically update the contents of configured Resource Properties with the results of the executing information providers. By default, if there are errors that occur during the first execution of a provider, the timer that controls that provider will be canceled and a warning message output to the container log.

Seen below is a sample service descriptor for the MDS4 DefaultIndexService which shows how to configure the service to use the ResourcePropertyProviderCollection operation provider and specifies the rpProviderConfigFile location used for configuring the sample GLUEResourceProperty that the ResourcePropertyProviderCollection will process.

  <service name="DefaultIndexService"   provider="Handler" use="literal" style="document">
    <parameter name="providers"
      value="org.globus.mds.usefulrp.rpprovider.ResourcePropertyProviderCollection
      org.globus.wsrf.impl.servicegroup.ServiceGroupRegistrationProvider
      GetRPProvider
      GetMRPProvider 
      QueryRPProvider
      DestroyProvider 
      SetTerminationTimeProvider 
      SubscribeProvider 
      GetCurrentMessageProvider"/>
    <parameter name="rpProviderConfigFile" value="/YOUR-GLOBUS-LOCATION-HERE/etc/globus_wsrf_mds_index/gluece-rpprovider-sample-config.xml"/>
    <parameter name="scope" value="Application"/> 
    <parameter name="allowedMethods" value="*"/>
    <parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/>
    <parameter name="className" value="org.globus.mds.index.impl.DefaultIndexService"/>
    <wsdlFile>share/schema/mds/index/index_service.wsdl</wsdlFile>
  </service>
  

3.1.1. Configuration File Format

The configuration file format for the ResourcePropertyProviderCollection operation provider is simply the XML-serialized form of the ResourcePropertyProviderConfig stub object, as defined in the schema file rpprovider.xsd.

Below is a sample configuration file which configures the GLUE Resource Property provider with element producers using Ganglia to provide cluster information and PBS for scheduler information. This sample configures the provider to generate cluster information using Ganglia on the localhost with the default Ganglia port, and configures PBS as the scheduler information provider. The period of execution is set to 300 seconds for each element producer, but may be configured separately if desired. This configuration mirrors a common information provider setup in the GT4 GRAM ManagedJobExecutable service. Using the RPProvider Framework, it is possible to generate this information in other services as well.

  <ns1:ResourcePropertyProviderConfigArray 
    xsi:type="ns1:ResourcePropertyProviderConfigArray" 
    xmlns:ns1="http://mds.globus.org/rpprovider/2005/08"  
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <ns1:resourcePropertyProviderConfiguration xsi:type="ns1:resourcePropertyProviderConfig">
      <ns1:resourcePropertyName xsi:type="xsd:QName"   xmlns:mds="http://mds.globus.org/glue/ce/1.1">mds:GLUECE</ns1:resourcePropertyName>
      <ns1:resourcePropertyImpl xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.GLUEResourceProperty</ns1:resourcePropertyImpl>
      <ns1:resourcePropertyElementProducers   xsi:type="ns1:resourcePropertyElementProducerConfig">
        <ns1:className xsi:type="xsd:string">org.globus.mds.usefulrp.glue.GangliaElementProducer</ns1:className>
        <ns1:arguments xsi:type="xsd:string">localhost</ns1:arguments>
        <ns1:arguments xsi:type="xsd:string">8649</ns1:arguments>
        <ns1:period   xsi:type="xsd:int">300</ns1:period>
        <ns1:transformClass xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.transforms.GLUEComputeElementTransform</ns1:transformClass>
      </ns1:resourcePropertyElementProducers>
      <ns1:resourcePropertyElementProducers   xsi:type="ns1:resourcePropertyElementProducerConfig">
        <ns1:className xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.producers.SchedulerInfoElementProducer</ns1:className>
        <ns1:arguments xsi:type="xsd:string">libexec/globus-scheduler-provider-pbs</ns1:arguments>
        <ns1:transformClass xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.transforms.GLUESchedulerElementTransform</ns1:transformClass>
        <ns1:period   xsi:type="xsd:int">300</ns1:period>
      </ns1:resourcePropertyElementProducers>
    </ns1:resourcePropertyProviderConfiguration>
  </ns1:ResourcePropertyProviderConfigArray>
  

It is possible to configure the GLUEResourceProperty provider to use alternate mechanisms for providing scheduler information by changing the arguments field that follows the SchedulerInfoElementProducer parameter to a string with a GLOBUS_LOCATION relative-path that indicates the GRAM scheduler adapter to use, for example, libexec/globus-scheduler-provider-fork.

TBD: It is also possible to pass parameters to the GLUESchedulerElementTransform that control even more advanced post-processing and sorting of results when generating GLUE 1.1 XML, e.g. Teragrid resorting code.

4. Deploying

This section does not apply to the WS MDS UsefulRP.

5. Testing

[describe]

6. Security Considerations

Security recommendations for this component include:

  • TBD

7. Troubleshooting

[describe]