Document title: CIM Error message modifications for CIM_Error information     Document details     Comments     Help with document reviews


[ ¤1] Pegasus Enhancement Proposal (PEP)

[ ¤2] PEP #: 263
[ ¤3]

[ ¤4] PEP Type:  Functional

[ ¤5] Title: CIM Error message modifications for CIM_Error information

[ ¤6] Version: 0.1 

[ ¤7] Created: 15th  May 2006 

[ ¤8] Authors: Mike Brasher, Karl Schopmeyer, John Alex, Willis White, Dave Sudlik
[ ¤9]

[ ¤10] Status:  draft 

[ ¤11]  

[ ¤12] Version History:

[ ¤13] Version [ ¤14] Date [ ¤15] Author [ ¤16] Change Description
[ ¤17] 0.1 [ ¤18] 15/05/2006
[ ¤19]
[ ¤20] Karl Schopmeyer,  Mike Brasher, John Alex, Willis White
[ ¤21]
[ ¤22] Initial Submission (Preliminary Draft)
[ ¤23]
[ ¤24]   [ ¤25]   [ ¤26]   [ ¤27]  

[ ¤28]  


[ ¤29] Abstract:  This is a functional PEP that illustrates the modification of OpenPegasus implementation to use CIM_Error internally as part of generating errors within the server and Pegasus standard providers.
[ ¤30]


[ ¤31]
[ ¤32]

[ ¤33] Definition of the Problem

As indicated in the concept PEP 245, the activity for incorporating CIM_Error into OpenPegasus is broken into two phases and that all of the basic definitions required to implement phase-1 are in place today, however much of the background necessary to implement phase-2 are simply not in place because of the dependence on the DMTF message catalogs.  Please see PEP 245 for more details on Phase-1.
[ ¤34]
[ ¤35] As shown in PEP 245,  the goal of CIM_Error is not only to provide more detailed error information but to provide it based on standard catalogs of messages defined by standards organizations such as the DMTF and SNIA.  If an implementation simply creates more detailed errors, it does not solve the issues of inter operable programmable reaction to errors.  By having specifications for catalogs of messages, the messages for many errors can be standardized so that clients can react in a common manner. 
[ ¤36]
With the addition of the CIM_Error infrastructure and the standard api extensions for the providers as part of the Phase 1 of PEP 245, it will allow providers today to start using CIM_Error as the means of generating errors with more specific information as that information is defined in other specifications.  To complete this cause, OpenPegasus will also have to be modified to use CIM_Error internally as part of generating errors within the server and Pegasus standard providers. 

[ ¤39] Proposed Solution

[ ¤40] This PEP is an extension to PEP 245 and represents the Phase-2 of the implementation of incorporating CIM_Error  into OpenPegasus.
[ ¤41] Phase 2 is defined as follows:
[ ¤42]

[ ¤44] This involves implementing changes to the CIMServer and any Pegasus defined providers that are part of the Pegasus CVS to incorporate CIM_Error processing. Note that this may also include some changes to the Clients in the Pegasus CVS to account for CIM_errors that are generated in addition to the current error code. Additional changes may also require extensive modifications to globalization.
[ ¤45]

[ ¤46]

[ ¤47] Modification of the existing Error Handling Calls in the OpenPegasus CIMServer and providers

  1. [ ¤48] CIM_Server changes to the error generation both within the server and providers. This includes modifying the specific error generator mechanisms to generate any additional CIM_Error information so that it can be attached to the internal response message. Note that this task will involve working with some of the CIMExceptions to actually generate CIM_Error responses internally to the exception and in other cases, providing extensions so that the code defining the exception can create CIM_Error instances and attach them to the exception.
  2. [ ¤49] Modification of Error Generation Instances in the CIMServer  and Pegasus Providers to add CIM_Error information.

[ ¤50]

[ ¤51] Rationale

[ ¤52]
[ ¤53]

[ ¤54] Schedule

[ ¤55] Target release is Pegasus 2.6.

[ ¤56] Action [ ¤57] Planned Date [ ¤58] Actual Date [ ¤59] Comments
[ ¤60] PEP submitted [ ¤61] TBD
[ ¤62]
[ ¤63]
[ ¤64]
[ ¤65]  
[ ¤66] PEP reviewed [ ¤67] TBD
[ ¤68]
[ ¤69]
[ ¤70]
[ ¤71]  
[ ¤72] PEP approved [ ¤73] TBD
[ ¤74]
[ ¤75]
[ ¤76]
[ ¤77]  
[ ¤78] Code submitted [ ¤79] TBD
[ ¤80]
[ ¤81]
[ ¤82]
[ ¤83]  
[ ¤84]
[ ¤85] Code Approved
[ ¤86]
[ ¤87] TBD
[ ¤88]
[ ¤89]
[ ¤90]
[ ¤91]
[ ¤92]

[ ¤93]

[ ¤94] Discussion

[ ¤95]
[ ¤96]


[ ¤97]
[ ¤98] Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
[ ¤99] EMC Corporation; Symantec Corporation; The Open Group.
[ ¤100]
[ ¤101] Permission is hereby granted, free of charge, to any person obtaining a copy
[ ¤102] of this software and associated documentation files (the "Software"), to
[ ¤103] deal in the Software without restriction, including without limitation the
[ ¤104] rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
[ ¤105] sell copies of the Software, and to permit persons to whom the Software is
[ ¤106] furnished to do so, subject to the following conditions:
[ ¤107]
[ ¤108] THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
[ ¤109] ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
[ ¤110] "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
[ ¤111] LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
[ ¤112] PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
[ ¤113] HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
[ ¤114] ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
[ ¤115] WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


[ ¤116]  

[ ¤117] Template last modified: March 26th 2006 by Martin Kirk
[ ¤118]
Template version: 1.11