Table of Contents
- APIs
- UsefulRP Admin Command
- mds-gluerp-configure - generate a GLUE resource property configuration file with default values
- Configuring UsefulRP
- Domain-specific interface for UsefulRP/RPProvider
- Environment variable interface
Table of Contents
Table of Contents
- mds-gluerp-configure - generate a GLUE resource property configuration file with default values
Name
mds-gluerp-configure — generate a GLUE resource property configuration file with default values
Synopsis
mds-gluerp-configure
Tool description
mds-gluerp-configure is a simple utility tool for generating a configuration file for the GLUE resource property provider implementation. It can create a configuration with suitable default values for both cluster and scheduler information providers.
Command syntax
The basic syntax for mds-gluerp-configure is:
mds-gluerp-configure [scheduler info provider name | keyword none]
[cluster info provider name | keyword none] [outputFile - defaults to
gluerp-config.xml in the current dir]where:
| [scheduler info provider name] |
One of the following keywords (ignoring case): fork, pbs, or none |
| [cluster info provider name] |
One of the following keywords (ignoring case): ganglia, clumon, nagios, or none |
| [outputFile] |
If this argument is specified, mds-gluerp-configure will write the configuration to file name and path, instead of the default. |
Limitations
This command does not generate the correct configuration file for Nagios. However, you can use this command for HawkEye or Ganglia and modify for Nagios. Details are found here.
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.
TBD - describe domain-specific interface for usefulrp