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 |
|---|---|
This information is in addition to the basic Globus Toolkit prerequisite, overview, installation, security configuration instructions in the Installing GT 4.2.0 and WS MDS System Administrator's Guide. Read through these guides before continuing! |
Table of Contents
Include detailed instructions for building and installing (if this component is built and installed by default when installing gt distribution, state so in the introduction and comment out this chapter).
Table of Contents
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 WS MDS 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>
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.
Table of Contents
Table of Contents
The following information applies to Java WS Core and all services built on Java WS Core.
Java WS Core server side has two types of loggers. One logger is used for development logging and by default writes to standard out. The other logger includes system administration information and is CEDPs best practices compliant.
On client side, only developer logging is available and is configured using log4j.properties.
The following information applies to Java WS Core and those services built on it.
Logging in the Java WS Core is based on the Jakarta Commons Logging API. Commons Logging provides a consistent interface for instrumenting source code while at the same time allowing the user to plug-in a different logging implementation. Currently we use Log4j as a logging implementation. Log4j uses a separate configuration file to configure itself. Please see Log4j documentation for details on the configuration file format.
Server side logging can be configured in $GLOBUS_LOCATION/container-log4j.properties, when the container is stand alone container. For tomcat level logging, refer to Logging for Tomcat, . The logger log4j.appender.A1 is used for developer logging and by default writes output to the system output. By default it is set for all warnings in the Globus Toolkit package to be displayed.
Additional logging can be enabled for a package by adding a new line to the configuration file. Example:
#for debug level logging from org.globus.package.FooClass log4j.category.org.globus.package.name.FooClass=DEBUG #for warnings from org.some.warn.package log4j.category.org.some.warn.package=WARN
Client side logging can be configured in $GLOBUS_LOCATION/log4j.properties. The logger log4j.appender.A1 is used for developer logging and by default writes output to the system output. By default it is set for all warnings in the Globus Toolkit package to be displayed.
The specific logger to edit will be
log4j.logger.sysadmin in
$GLOBUS_LOCATION/container-log4j.properties. There
you can configure the following properties:
log4j.appender.infoCategory=org.apache.log4j.RollingFileAppender log4j.appender.infoCategory.Threshold=INFO log4j.appender.infoCategory.File=var/containerLog log4j.appender.infoCategory.MaxFileSize=10MB log4j.appender.infoCategory.MaxBackupIndex=2
Above implies the logging file is rolling with each file size
limited to 10MB and the logging information is stored in
$GLOBUS_LOCATION/var/containerLog.
The sample log file contains many log entries for various scenarios in the Java WS container.
![[Important]](/docbook-images/important.gif)