Skip to Content.
Sympa Menu

perfsonar-dev - Re: Functional Testing the E2EMon MP

Subject: perfsonar development work

List archive

Re: Functional Testing the E2EMon MP


Chronological Thread 
  • From: Loukik Kudarimoti <>
  • To: "Matthias K. Hamm" <>
  • Cc: Michael Michalis <>, Luis Marta <>, "Matthias.Hamm" <>, "Mark.Yampolskiy" <>, "" <>, Nicolas Simar <>, Szymon Trocha <>
  • Subject: Re: Functional Testing the E2EMon MP
  • Date: Tue, 10 Jul 2007 17:59:52 +0100

Matthias K. Hamm wrote:
Hi Loukik, all,

Loukik Kudarimoti schrieb:
Hi Michalis, Matthias and Mark (Szymon and Nicolas, please see the ending of my reply)

Please correct me if I am wrong,
1) The latest RC is now using document/literal style of web services just like all other perfSONAR services.
Yes.
2) Also, only one request is supported (the one that you mentioned)
Indeed.
3) for anything else, the service returns soap exception (no error code)
That`s correct.
4) Further, even within the supported requested, the service sometimes ignores bits which need to be taken care of (such as missing metadata reference or metadataId).
Our MP does not make use of any metadata references. Perhaps we should throw an error if we receive such information (better than ignoring it) ...?
5) LS registration is not supported yet (expected in the next RC)
Ack.
6) (new) Echo request not supported
No.

Uups... quite a few unexpected additional things to implement, test and document. Let's talk about the timeline again:

- We are currently quite busy with bug searching/fixing and proper documentation for the 2.0 release of the central part of the monitoring system.
- We can try to implement (3)/(4) for E2Emon MP until end of July. Is it possible to add the MP to the perfSONAR release at this stage?
- Due to our holidays we have a "reduced workpower" in August/September, so we can promise you the next micro release including (5) and possibly (6) not before end of August.

What do you think about?
It is possible to add the next micro-release with (3) and (4) into the next update.

Nicolas was recently talking about the 2.2 update. There will surely be one coming in future - maybe september/october time frame. We can then update the E2EMon with (5) and (6) features.

This sounds a good plan to me.

Loukik.


Cheers,

M&M

I think having (1) & (2) is already a good progress for this service. We would definitely like to have (3) and (4) as well.

Basically, with (3), the service converts all internal exceptions into an xml error code specification. (see page 68 of this document: http://anonsvn.internet2.edu/svn/perfsonar/tags/JAVA-SQL-MA-1.3/doc/ma/sqlTypeMA/Interface_Specification.doc . For an example, see page 14, Example 7 in the same document).

Result codes / error codes should definitely be used whenever your service cannot do a normal operation (such as malformed request, unsupported request, system configuration problems, missing files, missing data bits, etc).

With (4), its down to "screw tightening" inside your code (i.e., doing a thorough check on the request).

I understand that (5) is for the next micro-release.

With (6), we might have discussed about echo/ping functionality before. Its like an application level ping where a particular xml message called echo request is sent. The service, when it reads the message, responds with an echo response message. Both messages are in xml).
I think its very beneficial to have this functionality and is very easy to implement it (It shouldn't take more than a couple of hours). But I would say that its up to you guys. All services in perfsonar 2.0 (except bwctl mp) support this functionality.


As far as a "definition of what is a proper perfSONAR service" is concerned, we don't have any such document yet.
Nicolas, Szymon, any thoughts?

Loukik.


Matthias K. Hamm wrote:
Hi Michael,

Michael Michalis schrieb:
Hi to all,

I have just finished testing the E2EMon MP.
fine :-)

Installation went OK although when the service was called this appeared on the screen "Use of uninitialized value in join or string at /usr/lib/perl5/vendor_perl/5.8.5/SOAP/Lite.pm line 1106."

But there seem to be some serious problems regarding the service since the service has failed all the tests but one. The only request that the service responded correctly was the valid and not malformed request like this one:

<nmwg:message type="SetupDataRequest"
xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
<nmwg:metadata id="meta1">
<nmwg:eventType>Path.Status</nmwg:eventType>
</nmwg:metadata>
<nmwg:data id="data1" metadataIdRef="meta1"/>
</nmwg:message>
That's what it is supposed to do ;-)

All of the other tests involving malformed or invalid values of necessary parts (as described in the service setupDataRequest rnc file) have failed.
The service seems to be unable to produce error result codes as it is accustomed by other perfSONAR services like this:

<nmwg:metadata id="*resultCodeMetadata*">
<nmwg:eventType>warning.ma.metadata_configuration</nmwg:eventType>
</nmwg:metadata>
- <#> <nmwg:data id="*resultDescriptionData_for_resultCodeMetadata*" metadataIdRef="*resultCodeMetadata*">
<nmwgr:datum xmlns:nmwgr="*http://ggf.org/ns/nmwg/result/2.0/*";>MetadataConfigurationStorageManager.fetch: No metadata in the metadata configuration</nmwgr:datum>
</nmwg:data>

including an eventType element and a datum element describing the error. In fact as far as i can tell that kind of behavior is not documented in the setupDataResponse rnc file at all.

The service when not responding with a SOAP Fault it responds with an error message somewhere in the soap envelope and not inside the setuDataResponse as it should.

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
<soap:Body>
<s-gensym73 xsi:type="xsd:anyURI">
ERROR: bad type of request, eventType Status not understood by this MP (
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
<soapenv:Header/>
<soapenv:Body>
<nmwg:message type="SetupDataRequest" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/";>
<nmwg:metadata id="meta1">
<nmwg:eventType>Status</nmwg:eventType>
</nmwg:metadata>
<nmwg:data id="data1" metadataIdRef="meta1"/>
</nmwg:message>
</soapenv:Body>
</soapenv:Envelope>
)
</s-gensym73>
</soap:Body>
</soap:Envelope>


Further more when the metadataId Ref attribute of the request is not present or is invalid the service still responds as normal(In the rnc file the id attribute is considered mandatory rather than the metadataIdRef as it is for the other perfSONAR services). The same goes for the metadata id attribute.
OK, we will try to support your suggestions.

Is there a documentation about the requirements for a proper perfSONAR service available, containing the minimal/optimum set of interaction a service is supposed to support? This would make things easier for us.

Cheers,

M&M

This is it for now. I'm available for any question or clarification.


Best Regards,


Michalis Michael










Archive powered by MHonArc 2.6.16.

Top of Page