DMTF Change Request

DMTF Confidential

All changes to be submitted by the Working Group Chair (or designee) after approval by the working group.  

The Change Request sample (http://www.dmtf.org/members/zdata/CRTemplateSample.html) contains more detailed
information on how to complete the template.

DMTF Change Request Number   [CIMCoreCR006655]

CIMCoreCR00931

CR Owner Name, Email 
[My Name, my.name@company.com]

Richard Landau, Richard_Landau@dell.com
Alliance Partner submitting CR request (if applicable)
n/a
Alliance Partner vote history
(e.g. SNIA XYZ Approved on 8/12/06)
n/a
Alliance Partner identifier/tracking number (if available)
n/a

Errata   [Yes|No]

No

Short Description

Add new value "Transitioning" to MSE.OperatingStatus

Spec, Document or Model(s) Being Changed
[Application|Core|Database|Device|Event|Interop|
Network|Physical|Policy|Support|System|User ]

Core

Spec, Document or Model Version Incorporating the Change  [2.16.0 Experimental | Final]

2.17.0 Experimental

Filename(s) Incorporating the Change
[Core/CIM_Container.mof, DSP0204.pdf]

CIM_ManagedSystemElement.mof

Date Originated  [mm/dd/yyyy]

05/02/2007

Date of Last Revision of the Change Request [mm/dd/yyyy]

10/04/2007

Dependencies   [CIMCoreCR00555,CIMCoreCR00600,...]


Terminology

The terminology used in this CR should conform to the "Rules for the structure and drafting of International Standards", 5th Edition, 2005 available at:

http://isotc.iso.org/livelink/livelink.exe/fetch/2000/2122/3146825/4229629/4230450/4230456/ISO_IEC_Directives__Part_2__Rules_for_the_structure_and_drafting_of_International_Standards__2004__5th_edition___pdf_format_.pdf?nodeid=4230517&vernum=0

Particular attention shall be paid to Annex H which lays out guidelines for the expression of provisions.

Background/Rationale (Explanation of the background and reason(s) for the requested change, and supporting documentation):

Add a value "Transitioning" to the OperatingStatus property to indicate that the element is transitioning from one state or status to another.

Alliance Partner Status (tracking number, other key identifiers,  supporting documentation, etc.):

(insert text here)

Requested Change (Change information such as details before/after the change and/or references documents (other then MOF) if the changes are too lengthy to include inline):

// Add the new value "Transitioning" to CIM_ManagedSystemElement.OperatingStatus.


MOF Changes (The complete CIM Class (ASCII) using blue text for new, red text for removed and black text for no change, only one CIM Class can be changed per CR):

// Copyright (c) 2005 DMTF. All rights reserved.
// <change cr="SysDevCR00711.001" type ="change">Update of

// descriptions based on Tech Edit review.</change>

// <change cr="SysDevCR00796.002" type ="change">Remove Experimantal

// qualifier from HealthState property.</change>

// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath

// qualifier values to CIM Schema.</change>

// <change cr="CIMCoreCR00911" type="add">Promote properties.</change>

// ==================================================================

// CIM_ManagedSystemElement

// ==================================================================

[Abstract, Version ( "2.1117.0" ),

UMLPackagePath ( "CIM::Core::CoreElements" ),

Description (


"CIM_ManagedSystemElement is the base class for the System "


"Element hierarchy. Any distinguishable component of a System "


"is a candidate for inclusion in this class. Examples of system "

"components include: \n"

"- software components such as application servers, databases, "

"and applications \n"
"- operating system components such as files, processes, and "
"threads \n"
"- device components such as disk drives, controllers, "
"processors, and printers \n"
"- physical components such as chips and cards." )]
class CIM_ManagedSystemElement : CIM_ManagedElement {

[Description (
"A datetime value that indicates when the object was "
"installed. Lack of a value does not indicate that the "
"object is not installed." ),
MappingStrings { "MIF.DMTF|ComponentID|001.5" }]
datetime InstallDate;

[Description (
"The Name property defines the label by which the object "
"is known. When subclassed, the Name property can be "
"overridden to be a Key property." ),
MaxLen ( 1024 )]
string Name;

[Description (
"Indicates the current statuses of the element. Various "
"operational statuses are defined. Many of the "
"enumeration\'s values are self-explanatory. However, a "
"few are not and are described here in more detail. \n"
"\"Stressed\" indicates that the element is functioning, "
"but needs attention. Examples of \"Stressed\" states are "
"overload, overheated, and so on. \n"
"\"Predictive Failure\" indicates that an element is "
"functioning nominally but predicting a failure in the "
"near future. \n"
"\"In Service\" describes an element being configured, "
"maintained, cleaned, or otherwise administered. \n"
"\"No Contact\" indicates that the monitoring system has "
"knowledge of this element, but has never been able to "
"establish communications with it. \n"
"\"Lost Communication\" indicates that the ManagedSystem "
"Element is known to exist and has been contacted "
"successfully in the past, but is currently unreachable. \n"
"\"Stopped\" and \"Aborted\" are similar, although the "
"former implies a clean and orderly stop, while the "
"latter implies an abrupt stop where the state and "
"configuration of the element might need to be updated. \n"
"\"Dormant\" indicates that the element is inactive or "
"quiesced. \n"
"\"Supporting Entity in Error\" indicates that this "
"element might be \"OK\" but that another element, on "
"which it is dependent, is in error. An example is a "
"network service or endpoint that cannot function due to "
"lower-layer networking problems. \n"
"\"Completed\" indicates that the element has completed "
"its operation. This value should be combined with either "
"OK, Error, or Degraded so that a client can tell if the "
"complete operation Completed with OK (passed), Completed "
"with Error (failed), or Completed with Degraded (the "
"operation finished, but it did not complete OK or did "
"not report an error). \n"
"\"Power Mode\" indicates that the element has additional "
"power model information contained in the Associated "
"PowerManagementService association. \n"
"OperationalStatus replaces the Status property on "
"ManagedSystemElement to provide a consistent approach to "
"enumerations, to address implementation needs for an "
"array property, and to provide a migration path from "
"today\'s environment to the future. This change was not "
"made earlier because it required the deprecated "
"qualifier. Due to the widespread use of the existing "
"Status property in management applications, it is "
"strongly recommended that providers or instrumentation "
"provide both the Status and OperationalStatus "
"properties. Further, the first value of "
"OperationalStatus should contain the primary status for "
"the element. When instrumented, Status (because it is "
"single-valued) should also provide the primary status of "
"the element." ),
ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "11", "12", "13", "14", "15", "16", "17", "18",
"..", "0x8000.." },
Values { "Unknown", "Other", "OK", "Degraded", "Stressed",
"Predictive Failure", "Error", "Non-Recoverable Error",
"Starting", "Stopping", "Stopped", "In Service",
"No Contact", "Lost Communication", "Aborted", "Dormant",
"Supporting Entity in Error", "Completed", "Power Mode",
"DMTF Reserved", "Vendor Reserved" },
ArrayType ( "Indexed" ),
ModelCorrespondence {
"CIM_ManagedSystemElement.StatusDescriptions" }]
uint16 OperationalStatus[];

[Description (
"Strings describing the various OperationalStatus array "
"values. For example, if \"Stopping\" is the value "
"assigned to OperationalStatus, then this property may "
"contain an explanation as to why an object is being "
"stopped. Note that entries in this array are correlated "
"with those at the same array index in OperationalStatus." ),
ArrayType ( "Indexed" ),
ModelCorrespondence {
"CIM_ManagedSystemElement.OperationalStatus" }]
string StatusDescriptions[];

[Deprecated { "CIM_ManagedSystemElement.OperationalStatus" },
Description (
"A string indicating the current status of the object. "
"Various operational and non-operational statuses are "
"defined. This property is deprecated in lieu of "
"OperationalStatus, which includes the same semantics in "
"its enumeration. This change is made for 3 reasons: \n"
"1) Status is more correctly defined as an array. This "
"definition overcomes the limitation of describing status "
"using a single value, when it is really a multi-valued "
"property (for example, an element might be OK AND "
"Stopped. \n"
"2) A MaxLen of 10 is too restrictive and leads to "
"unclear enumerated values. \n"
"3) The change to a uint16 data type was discussed when "
"CIM V2.0 was defined. However, existing V1.0 "
"implementations used the string property and did not "
"want to modify their code. Therefore, Status was "
"grandfathered into the Schema. Use of the deprecated "
"qualifier allows the maintenance of the existing "
"property, but also permits an improved definition using "
"OperationalStatus." ),
ValueMap { "OK", "Error", "Degraded", "Unknown", "Pred Fail",
"Starting", "Stopping", "Service", "Stressed",
"NonRecover", "No Contact", "Lost Comm", "Stopped" },
MaxLen ( 10 )]
string Status;

[Description (
"Indicates the current health of the element. This "
"attribute expresses the health of this element but not "
"necessarily that of its subcomponents. The possible "
"values are 0 to 30, where 5 means the element is "
"entirely healthy and 30 means the element is completely "
"non-functional. The following continuum is defined: \n"
"\"Non-recoverable Error\" (30) - The element has "
"completely failed, and recovery is not possible. All "
"functionality provided by this element has been lost. \n"
"\"Critical Failure\" (25) - The element is "
"non-functional and recovery might not be possible. \n"
"\"Major Failure\" (20) - The element is failing. It is "
"possible that some or all of the functionality of this "
"component is degraded or not working. \n"
"\"Minor Failure\" (15) - All functionality is available "
"but some might be degraded. \n"
"\"Degraded/Warning\" (10) - The element is in working "
"order and all functionality is provided. However, the "
"element is not working to the best of its abilities. For "
"example, the element might not be operating at optimal "
"performance or it might be reporting recoverable errors. \n"
"\"OK\" (5) - The element is fully functional and is "
"operating within normal operational parameters and "
"without error. \n"
"\"Unknown\" (0) - The implementation cannot report on "
"HealthState at this time. \n"
"DMTF has reserved the unused portion of the continuum "
"for additional HealthStates in the future." ),
ValueMap { "0", "5", "10", "15", "20", "25", "30", ".." },
Values { "Unknown", "OK", "Degraded/Warning",
"Minor failure", "Major failure", "Critical failure",
"Non-recoverable error", "DMTF Reserved" }]
uint16 HealthState;

[Experimental, Description (
"PrimaryStatus provides a high level status value, "
"intended to align with Red-Yellow-Green type "
"representation of status. It should be used in "
"conjunction with DetailedStatus to provide high level "
"and detailed health status of the ManagedElement and its "
"subcomponents. \n"
"PrimaryStatus consists of one of the following values: "
"Unknown, OK, Degraded or Error. \"Unknown\" indicates "
"the implementation is in general capable of returning "
"this property, but is unable to do so at this time. \n"
"\"OK\" indicates the ManagedElement is functioning "
"normally. \n"
"\"Degraded\" indicates the ManagedElement is functioning "
"below normal. \n"
"\"Error\" indicates the ManagedElement is in an Error "
"condition." ),
ValueMap { "0", "1", "2", "3", "..", "0x8000.." },
Values { "Unknown", "OK", "Degraded", "Error",
"DMTF Reserved", "Vendor Reserved" },
ModelCorrespondence {
"CIM_ManagedSystemElement.DetailedStatus",
"CIM_ManagedSystemElement.HealthState" }]
uint16 PrimaryStatus;

[Experimental, Description (
"DetailedStatus compliments PrimaryStatus with additional "
"status detail. It consists of one of the following "
"values: Not Available, No Additional Information, "
"Stressed, Predictive Failure, Error, Non-Recoverable "
"Error, SupportingEntityInError. Detailed status is used "
"to expand upon the PrimaryStatus of the element. \n"
"A Null return indicates the implementation (provider) "
"does not implement this property. \n"
"\"Not Available\" indicates that the implementation "
"(provider) is capable of returning a value for this "
"property, but not ever for this particular piece of "
"hardware/software or the property is intentionally not "
"used because it adds no meaningful information (as in "
"the case of a property that is intended to add "
"additional info to another property). \n"
"\"No Additional Information\" indicates that the element "
"is functioning normally as indicated by PrimaryStatus = "
"\"OK\". \n"
"\"Stressed\" indicates that the element is functioning, "
"but needs attention. Examples of \"Stressed\" states are "
"overload, overheated, and so on. \n"
"\"Predictive Failure\" indicates that an element is "
"functioning normally but a failure is predicted in the "
"near future. \n"
"\"Non-Recoverable Error \" indicates that this element "
"is in an error condition that requires human "
"intervention. \n"
"\"Supporting Entity in Error\" indicates that this "
"element might be \"OK\" but that another element, on "
"which it is dependent, is in error. An example is a "
"network service or endpoint that cannot function due to "
"lower-layer networking problems." ),
ValueMap { "0", "1", "2", "3", "4", "5", "..", "0x8000.." },
Values { "Not Available", "No Additional Information",
"Stressed", "Predictive Failure", "Non-Recoverable Error",
"Supporting Entity in Error", "DMTF Reserved",
"Vendor Reserved" },
ModelCorrespondence {
"CIM_EnabledLogicalElement.PrimaryStatus",
"CIM_ManagedSystemElement.HealthState" }]
uint16 DetailedStatus;

[Experimental, Description (
"OperatingStatus provides a current status value for the "
"operational condition of the element and can be used for "
"providing more detail with respect to the value of "
"EnabledState. It can also provide the transitional "
"states when an element is transitioning from one state "
"to another, such as when an element is transitioning "
"between EnabledState and RequestedState, as well as "
"other transitional conditions.\n"
"OperatingStatus consists of one of the following values: "
"Unknown, Not Available, In Service, Starting, Stopping, "
"Stopped, Aborted, Dormant, Completed, Migrating, "
"Emmigrating, Immigrating, Snapshotting. Shutting Down, "
"In Test \n"
"A Null return indicates the implementation (provider) "
"does not implement this property. \n"
"\"Unknown\" indicates the implementation is in general "
"capable of returning this property, but is unable to do "
"so at this time. \n"
"\"None\" indicates that the implementation (provider) is "
"capable of returning a value for this property, but not "
"ever for this particular piece of hardware/software or "
"the property is intentionally not used because it adds "
"no meaningful information (as in the case of a property "
"that is intended to add additional info to another "
"property). \n"
"\"In Service\" describes an element being configured, "
"maintained, cleaned, or otherwise administered. \n"
"\"Starting\" describes an element being initialized. \n"
"\"Stopping\" describes an element being brought to an "
"orderly stop. \n"
"\"Stopped\" and \"Aborted\" are similar, although the "
"former implies a clean and orderly stop, while the "
"latter implies an abrupt stop where the state and "
"configuration of the element might need to be updated. \n"
"\"Dormant\" indicates that the element is inactive or "
"quiesced. \n"
"\"Completed\" indicates that the element has completed "
"its operation. This value should be combined with either "
"OK, Error, or Degraded in the PrimaryStatus so that a "
"client can tell if the complete operation Completed with "
"OK (passed), Completed with Error (failed), or Completed "
"with Degraded (the operation finished, but it did not "
"complete OK or did not report an error). \n"
"\"Migrating\" element is being moved between host "
"elements. \n"
"\"Immigrating\" element is being moved to new host "
"element. \n"
"\"Emigrating\" element is being moved away from host "
"element. \n"
"\"Shutting Down\" describes an element being brought to an abrupt stop. \n"
"\"In Test\" element is performing test functions. \n"
"\"Transitioning\" describes an element that is between states, "
"that is, it is not fully available in either its previous state or "
"its next state. This value should be used if other values "
"indicating a transition to a specific state are not applicable.\n"
),
ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "11", "12", "13", "14", "15", "..", "0x8000.." },
Values { "Unknown", "Not Available", "In Service", "Starting",
"Stopping", "Stopped", "Aborted", "Dormant", "Completed",
"Migrating", "Emigrating", "Immigrating", "Snapshotting",
"Shutting Down", "In Test", "Transitioning", "DMTF Reserved",

"Vendor Reserved" },

ModelCorrespondence {"CIM_EnabledLogicalElement.EnabledState"}]


uint16 OperatingStatus;

[Experimental, Description (
"CommunicationStatus indicates the ability of the "
"instrumentation to communicate with the underlying "
"ManagedElement. CommunicationStatus consists of one of "
"the following values: Unknown, None, Communication OK, "
"Lost Communication, or No Contact. \n"
"A Null return indicates the implementation (provider) "
"does not implement this property. \n"
"\"Unknown\" indicates the implementation is in general "
"capable of returning this property, but is unable to do "
"so at this time. \n"
"\"Not Available\" indicates that the implementation "
"(provider) is capable of returning a value for this "
"property, but not ever for this particular piece of "
"hardware/software or the property is intentionally not "
"used because it adds no meaningful information (as in "
"the case of a property that is intended to add "
"additional info to another property). \n"
"\"Communication OK \" indicates communication is "
"established with the element, but does not convey any "
"quality of service. \n"
"\"No Contact\" indicates that the monitoring system has "
"knowledge of this element, but has never been able to "
"establish communications with it. \n"
"\"Lost Communication\" indicates that the Managed "
"Element is known to exist and has been contacted "
"successfully in the past, but is currently unreachable." ),
ValueMap { "0", "1", "2", "3", "4", "..", "0x8000.." },
Values { "Unknown", "Not Available", "Communication OK",
"Lost Communication", "No Contact", "DMTF Reserved",
"Vendor Reserved" }]
uint16 CommunicationStatus;


};


Discussion Points (Summary of decisions and discussions of the WG in creating this CR) :

Comments on Core ballot closing 2007/05/18:

Company
Person
Issue and Response
IBM
Aaron Merkin
When is "transitioning" appropriate versus a value such at "shutting down" that implies a transition is in progress?

Response:
The intention of "Transitioning" is to signify that the device is between states, not fully in either the previous state or the next state. OperatingStatus already contains mutually exclusive values for Starting, Stopping, and Shutting Down, which should be used for those cases.  I will add wording to this effect. 
IBM
Aaron Merkin


Comments on posting CR ver 002 2007/10/03:

Company
Person
Issue and Response
IBM
Aaron Merkin
You described Transitioning, but did not provide the guidance I was expecting relative to when it should be used in lieu of shutting down, stopping, starting.  How about the following?
"This value should be used if the other values indicating a transition to a specific state are not applicable."

Response:
Done.


Change History (Mandatory after submission to the TC, May be used by the WGs):

Version

Date

Short description of changes

 0.1

 2007/05/11

 Original version.

 0.2
 2007/05/18
 Add explanation of the Transitioning value.
 0.3
 2007/10/03
 Recast into new 2.17 template.
 0.4
 2007/10/04
 Expand definition of the Transitioning value. 


Note that this document is labeled as "DMTF Confidential".  It is intended only for DMTF member companies and alliance partners.
This Change Request may be withdrawn or modified by subsequent Change Requests.

All submissions MUST comply with the DMTF Patent and Technology policy (http://www.dmtf.org/about/policies/patent-10-18-01.pdf)

Template Version 2.0.1b
Copyright (C) 2007 Distributed Management Task Force, Inc. (DMTF). All rights reserved.