Bug 5391 - service "ping" feature
: service "ping" feature
Status: RESOLVED FIXED
: Java WS Core
globus_wsrf_core
: unspecified
: Macintosh All
: P3 normal
: 4.2.0
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2007-06-18 21:11 by
Modified: 2007-09-11 09:15 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-06-18 21:11:28
In pre-ws GRAM there was an option on globusrun to ping (-p) a gatekeeper. 
This was useful for users to test if 1) the gatekeeper was truly up and
listening on the port  2) the user passed authorization (typically gridmap
file). We do not have a similar feature in our WS GRAM service and I think one
should be added.  However, I don't think this feature should be limited to the
WS GRAM service. It would be a valuable tool for any of our WS services.  So
what probably makes sense would be for a new "ping" operation provider to be
written and then all services include it.  Then each command line program for
GRAM, RFT, delegation service, ... should add an option "-ping" or "-test" or
??? that will send a "ping" request to the service and display the results in a
consistent manner.
------- Comment #1 From 2007-06-18 21:15:04 -------
Subject: Re: [jwscore-dev]  New: service "ping" feature

if the service is a WSRF service, does the "getresourceproperties" help 
for this purpose?

bugzilla-daemon@mcs.anl.gov wrote:
> http://bugzilla.globus.org/bugzilla/show_bug.cgi?id=5391
>
>            Summary: service "ping" feature
>            Product: Java WS Core
>            Version: unspecified
>           Platform: Macintosh
>         OS/Version: All
>             Status: NEW
>           Severity: normal
>           Priority: P3
>          Component: globus_wsrf_core
>         AssignedTo: ranantha@mcs.anl.gov
>         ReportedBy: smartin@mcs.anl.gov
>                 CC: liming@mcs.anl.gov, karonis@mcs.anl.gov, jwscore-
>                     dev@globus.org, feller@mcs.anl.gov
>
>
> In pre-ws GRAM there was an option on globusrun to ping (-p) a gatekeeper. 
> This was useful for users to test if 1) the gatekeeper was truly up and
> listening on the port  2) the user passed authorization (typically gridmap
> file). We do not have a similar feature in our WS GRAM service and I think one
> should be added.  However, I don't think this feature should be limited to the
> WS GRAM service. It would be a valuable tool for any of our WS services.  So
> what probably makes sense would be for a new "ping" operation provider to be
> written and then all services include it.  Then each command line program for
> GRAM, RFT, delegation service, ... should add an option "-ping" or "-test" or
> ??? that will send a "ping" request to the service and display the results in a
> consistent manner.
>
>
>
>
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.
>
>   
------- Comment #2 From 2007-06-18 21:30:03 -------
Subject: Re: [jwscore-dev]  New: service "ping" feature

It does for the first part (is the service there?) and part of the 
second (does everyone trust enough CAs to talk to each other?), but not 
quite everything (am I authorized to use it?).  Many services will allow 
anyone to query resource properties but limit who can make other 
requests.  This could maybe be worked around by having some set of 
resource properties that can only be queried by people who can submit 
requests (I think 4.1.x allows you to specify authorization information 
at that level), but that brings on its own set of complications.

                          -- Laura

Ian Foster wrote:
> if the service is a WSRF service, does the "getresourceproperties" 
> help for this purpose?
>
> bugzilla-daemon@mcs.anl.gov wrote:
>> http://bugzilla.globus.org/bugzilla/show_bug.cgi?id=5391
>>
>>            Summary: service "ping" feature
>>            Product: Java WS Core
>>            Version: unspecified
>>           Platform: Macintosh
>>         OS/Version: All
>>             Status: NEW
>>           Severity: normal
>>           Priority: P3
>>          Component: globus_wsrf_core
>>         AssignedTo: ranantha@mcs.anl.gov
>>         ReportedBy: smartin@mcs.anl.gov
>>                 CC: liming@mcs.anl.gov, karonis@mcs.anl.gov, jwscore-
>>                     dev@globus.org, feller@mcs.anl.gov
>>
>>
>> In pre-ws GRAM there was an option on globusrun to ping (-p) a 
>> gatekeeper. This was useful for users to test if 1) the gatekeeper 
>> was truly up and
>> listening on the port  2) the user passed authorization (typically 
>> gridmap
>> file). We do not have a similar feature in our WS GRAM service and I 
>> think one
>> should be added.  However, I don't think this feature should be 
>> limited to the
>> WS GRAM service. It would be a valuable tool for any of our WS 
>> services.  So
>> what probably makes sense would be for a new "ping" operation 
>> provider to be
>> written and then all services include it.  Then each command line 
>> program for
>> GRAM, RFT, delegation service, ... should add an option "-ping" or 
>> "-test" or
>> ??? that will send a "ping" request to the service and display the 
>> results in a
>> consistent manner.
>>
>>
>>
>>
>> ------- You are receiving this mail because: -------
>> You are on the CC list for the bug, or are watching someone who is.
>>
>>   
>
------- Comment #3 From 2007-09-11 09:08:23 -------
(From email to jwscore-dev list)

It is unclear what specific functionality is being requested here. 

The question "is the service there" can be answered by a getResourceProperty.
Even without a valid RP name, a response should show that service is up and
running. If the idea is to check whether a particular user is authorized, then
it gets tricky, since parameter-based authorization and/or operation level
authorization can change results per invocation. Like Tim points out, in such
cases, only a dry-run can help.

If we are looking for monitoring/testing infrastructures (like INCA) to ping
services to for reporting, a standard operation/RP name would be useful.
This does not replicate a client invocation, since the credentials presented
would be different, but would merely be a ping. 

This can be done either using a "ping" operation or using the getRP. 

In the first case we have an operation that is not a standard and is easier to
extend it with custom functionality as needed. While its trivial to provide
such a functionality in core, we need to agree on the semantics of what it
means to invoke this operation.

In the second case we will need to agree on some RP name. The OGSA WSRF Basic
Profile 1.0 (http://www.ogf.org/documents/GFD.72.pdf) provides a set of RPs
that can be used. Depending on how service security is set up today, parameter
based authorization will be required and also, it is non-trivial to swap in new
functionality.
------- Comment #4 From 2007-09-11 09:15:24 -------
Based on discussions with GRAM team (who requested this feature), it is clear
the the getResourceProperty/queryRP method invocation would be sufficient for
their use case. 

In general, these methods should serve the purpose of determining if a service
is up and responding. For better security checks, a dry-run implementation is
required and even that would be fail-proof only if per invocation parameter is
not used for authorization. So a standard method implementation in core will
not provide a solution.