Pegasus Enhancement Proposal (PEP)

PEP#: 358

PEP Type: Functional

Title:  WSMAN Eventing support in Pegasus.

Status:  Approved

 Version History:

Version

Date

Author

Change Description

0.1

21 Sept 2010

Sahana Sampige Prabhakar (sahana@hp.com)

Initial Submission/placeholder

0.2

29th Sept 2010

Sahana Sampige Prabhakar (sahana@hp.com)

Incorporated review comments.

0.3

8th Oct 2010

Sahana Sampige Prabhakar (sahana@hp.com)

Incorporated review comments.

1.0

29th Oct 2010

Sahana Sampige Prabhakar (sahana@hp.com)

Approved PEP

1.1

7th May 2012

                                      Anusha Kandepu (anusha.kandepu@hp.com)

Updated PEP. Removed connectionRetries support.

 


Abstract: Open Pegasus has support for WS-Transfer and WS-Enumeration. This PEP proposes to add support for WS-Eventing.

 


Definition of the Problem

There are a huge number of requests coming in to support WS-Eventing in Pegasus. PEP 311 added the initial implementation of WS-Transfer and WS-Enumeration in Pegasus. There is no support for WS-Eventing in Pegasus.

Proposed Solution

Pegasus does have the infrastructure for WS-MAN support. This will be extended to add support for WS-Eventing. The first phase of implementation will cover the following features in WSMAN Eventing in Pegasus. For every feature it is indicated whether it is mandatory or optional as per the WSMAN DMTF specification (DSP0226 Version 1.1.0):

1.    Subscribe & Unsubscribe (This is a mandatory feature for a conformant service to support)

2.    Filtering with Filter Dialect as WQL (optional as per WSMAN spec)

3.    SubscribeResponse(mandatory as per WSMAN spec)

4.    As per DMTF Spec a conformant service should support at least one of the following delivery modes to interoperate with standard clients:

a.     http://schemas.xmlsoap.org/ws/2004/08/eventing/DeliveryModes/Push

b.    http://schemas.dmtf.org/wbem/wsman/1/wsman/PushWithAck

c.     http://schemas.dmtf.org/wbem/wsman/1/wsman/Events

d.    http://schemas.dmtf.org/wbem/wsman/1/wsman/Pull

In this phase support for Push delivery mode will be implemented.

The following mandatory features as per DSP0226 will not be implemented in the first phase:

1.    Heartbeat.

2.    Dropped Events.

Changes to existing Pegasus functionality

  1. WsmRequestDecoder will be enhanced to decode wse:subscribe request.
  2. WSMProcessor will be enhanced to :

Handle subscription request

  1. WsmResponseEncoder will be enhanced to :

Handle subscribeResponse

  1. WsmanIndicationHandler will be introduced to handle WS-MAN Event delivery. This will be a new indication handler which derives from the existing Handler interface. An instance of class "CIM_ListenerDestinationWSManagement" will be created for each handler Instance.
  2. New WSMANExportClient will be introduced to wrap the CIM_Indication class in a SOAP header.

Future Work

·         Renew: (wse:Renew) request will return fault code wse:UnableToRenew in Phase 1 of WS-Man Eventing support of Pegasus. As per WSMAN spec, processing of the Renew message is required, but it is not required to succeed. The service may always fault the request with a wsme:UnableToRenew fault, forcing the client to subscribe from scratch.

·         CQL Query Language (WSMAN spec does not mandate on using any particular query language. In Phase 1 only WQL will be supported)

·         HeartBeats (hearbeats are a mandatory feature as per WSMAN specification. This will be supported in the future phases)

·         Bookmarks (Bookmarks may be supported by a conformant service. It is not a mandatory feature for WSMAN specification compliance)

·         Pull and PushWithAck Delivery Modes (any one of the delivery modes need to be supported. In Phase 1 support for Push will be added)

·         Batched Delivery Mode (optional as per WSMAN spec)

·         Pull Delivery Mode (optional as per WSMAN spec)

·         Dropped Events (mandatory feature for a conformant service to support)

Schedule

PEP approval by Oct 15th 2010.

Function Complete by March 2011.

Discussion

Comments on Version 0.1

(Karl) Could you show what is required per the dmtf spec?

(Sahana) Listed the mandatory and optional features as per DSP0226 1.1.0.

Comments on Version 0.2

(venkat_puvvada) ExportClient is specifically used for exporting the CIM-XML indications; separate client may be is required to send WSMAN events. Note that responses/exception messages received from listener are different for CIM-XML and WSMAN-Eventing.

(Sahana) Will introduce another client for exporting WSMAN indications.


Copyright (c) 2009 Hewlett-Packard Development Company, L.P.; IBM Corp.; The Open Group. 

 

Permission is hereby granted, free of charge, to any person obtaining a copy of

this software and associated documentation files (the "Software"), to deal in

the Software without restriction, including without limitation the rights to

use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of

the Software, and to permit persons to whom the Software is furnished to do so,

subject to the following conditions:

 

The above copyright notice and this permission notice shall be included in all

copies or substantial portions of the Software.

 

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS

FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR

COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER

IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN

CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


Template last modified: February 17th 2009 by Martin Kirk
Template version: 1.
15