Hi Neill,
On Aug 2, 2007, at 9:30 PM, Neill Miller wrote:
Hello,
On Thu, Aug 02, 2007 at 07:09:45PM +0200, Gabriel Mateescu wrote:
I would like to ask the following:
1. How should etc/globus_wsrf_mds_index/server-config.wsdd
to add support for NAGIOS?
The DefaultIndexService config block needs to be replaced with the
following:
http://www.globus.org/toolkit/docs/4.0/info/usefulrp/developer/
developer-index.html#usefulrp-developer-config
[ NOTE: This is true for any information provider using the RPProvider
framework. This config change enables it. ]
Given that there is only one entry <service
name="DefaultIndexService">
in etc/globus_wsrf_mds_index/server-config.wsdd, supporting
multiple cluster
providers seems to require either a fil gluece-rpprovider-
config.xml
defining multiple providers, or that the parameter
<parameter name="rpProviderConfigFile" >
in etc/globus_wsrf_mds_index/server-config.wsdd is a list
of files.
No, don't modify that parameter in the server-config.wsdd. The
gluece-rp-provider-config.xml can have as many entries as it needs.
If you have trouble with the syntax, I can attach an example.
I inserted in gluece-rpprovider- config.xml a block as desrbied at
http://www.globus.org/toolkit/docs/4.0/info/providers/nagios/
apf.html#nagios-config
i.e., I inserted
<ns1:resourcePropertyElementProducers
xsi:type="ns1:resourcePropertyElementProducerConfig">
<ns1:className xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.producers.Exter
nalProcessElementProducer</ns1:className>
<ns1:arguments xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">libexec/globus-mds-cluster-
nagios</ns1:arguments>
<ns1:period xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:int">300</ns1:period>
</ns1:resourcePropertyElementProducers>
I see in the container log that the folllowing happnes as a result of
this change:
1. the object rpprovider.ResourcePropertyProviderTask
1.1 gets as element producer
producers.ExternalProcessElementProducer
1.2 sets trimmedArgs[0] = " libexec/globus-mds-cluster-
nagios"
2. then the method timerExpired() invokes the producer to get the
result and the calls executionPerformed:
result = this.producer.getElement(this.trimmed Args);
this.listener.executionPerformed(result);
neither method throws any error or shows any warning.
Furthermore, getElement() in
roducers.ExternalProcessElementProducer()
reports in container.log:
DEBUG producers.ExternalProcessElementProducer
[Thread-14,getElement:72] Document parsing successful:
However, the NAGIOS information does not show up in MDS.
Would you please advise about the following:
1. is a transform class needed for NAGIOS producer?
Neither http://www.globus.org/toolkit/docs/4.0/info/providers/
nagios/apf.html
nor "mds-gluerp-configure none nagios" specifc a transform
class.
Because the configuration file does not specify a transfrom
class, the
method executionPerformed() in
rpprovider.TransformElementListener
does not invoke transform.transformElement() which returns
clusters.getCluster();
2. If no transform class is used for NAGIOS, then how is the result from
getElement() converted to a ClusterCollectionType object (I
guess that
conversion is needed to feed the data into MDS, is that so?)
Thank you.
Gabriel