// =================================================================== // Title: Core Redundancy 2.7 // Filename: Core27_Redundancy.mof // Version: 2.7.1 // Release: Final // Date: 04/22/03 // =================================================================== // Copyright 1999-2003 Distributed Management Task Force, Inc. (DMTF). // All rights reserved. // DMTF is a not-for-profit association of industry members dedicated // to promoting enterprise and systems management and interoperability. // DMTF specifications and documents may be reproduced for uses // consistent with this purpose by members and non-members, // provided that correct attribution is given. // As DMTF specifications may be revised from time to time, // the particular version and release date should always be noted. // // Implementation of certain elements of this standard or proposed // standard may be subject to third party patent rights, including // provisional patent rights (herein "patent rights"). DMTF makes // no representations to users of the standard as to the existence // of such rights, and is not responsible to recognize, disclose, or // identify any or all such third party patent right, owners or // claimants, nor for any incomplete or inaccurate identification or // disclosure of such rights, owners or claimants. DMTF shall have no // liability to any party, in any manner or circumstance, under any // legal theory whatsoever, for failure to recognize, disclose, or // identify any such third party patent rights, or for such party's // reliance on the standard or incorporation thereof in its product, // protocols or testing procedures. DMTF shall have no liability to // any party implementing such standard, whether such implementation // is foreseeable or not, nor to any patent owner or claimant, and shall // have no liability or responsibility for costs or losses incurred if // a standard is withdrawn or modified after publication, and shall be // indemnified and held harmless by any party implementing the // standard from any and all claims of infringement by a patent owner // for such implementations. // // For information about patents held by third-parties which have // notified the DMTF that, in their opinion, such patent may relate to // or impact implementations of DMTF standards, visit // http://www.dmtf.org/about/policies/disclosures.php. // =================================================================== // Description: The Core Model defines basic management concepts. // This file defines the concepts and classes to support // Redundancy. // // The object classes below are listed in an order that // avoids forward references. Required objects, defined // by other working groups, are omitted. // ================================================================== // Change Log for v2.7.1 // - Remove aggregate qualifier from the PartComponent of // RedundancyComponent. // // Change Log for v2.7 // CR940 - Fix Value/ValueMap mismatch in StorageRedundancySet. // TypeOfAlgorithm // CR968 - Keep RedundancySet, SparedSet, IsSpare, StorageRedundancySet, // and ExtraCapacitySet experimental for 2.8 // // Change Log for v2.7 // CR722 - Update description for StorageRedundancyGroup // CR752 - Add RedundancySet, SparedSet, IsSpare, StorageRedundancySet, // and ExtraCapacitySet // - Update the description for RedundancyGroup // ================================================================== #pragma locale ("en_US") // =================================================================== // RedundancyGroup // =================================================================== [Version ("2.7.0"), Description ( "A class derived from LogicalElement that is a special " "collection of ManagedSystemElements. This collection indicates " "that the aggregated components together provide redundancy. " "All elements aggregated in a RedundancyGroup should be " "instantiations of the same object class.") ] class CIM_RedundancyGroup : CIM_LogicalElement { [Key, MaxLen (256), Description ( "CreationClassName indicates the name of the class or " "the subclass used in the creation of an instance. When " "used with the other key properties of this class, this " "property allows all instances of this class and its " "subclasses to be uniquely identified.") ] string CreationClassName; [Override("Name"), Key, MaxLen (256), Description ( "The RedundancyGroup Name serves as the key for the " "Group's instance in an enterprise environment.") ] string Name; [Description ( "RedundancyStatus provides information on the state of the " "RedundancyGroup. \"Fully Redundant\" (value=2) means that " "all of the configured redundancy is still available; " "\"Degraded Redundancy\" (3) means that some failures have " "been experienced but some reduced amount of redundancy is " "still available; \"Redundancy Lost\" (4) means that a " "sufficient number of failures have been experienced such " "that no redundancy is available and the next failure " "experienced will cause overall failure. Also, the values, " "\"Other\" (1) and \"Unknown\" (0), are defined."), ValueMap {"0", "1", "2", "3", "4"}, Values {"Unknown", "Other", "Fully Redundant", "Degraded Redundancy", "Redundancy Lost"} ] uint16 RedundancyStatus; }; // =================================================================== // RedundancyComponent // =================================================================== [Association, Aggregation, Version ("2.7.1"), Description ( "A RedundancyGroup aggregates Managed System Elements and " "indicates that these elements, taken together, provide " "redundancy. All elements aggregated in a RedundancyGroup " "should be instantiations of the same object class.") ] class CIM_RedundancyComponent : CIM_Component { [Override ("GroupComponent"), Aggregate, Description ( "The RedundancyComponent association indicates that " "'this set of fans' or 'these physical extents' participate " "in a single RedundancyGroup.") ] CIM_RedundancyGroup REF GroupComponent; [Override ("PartComponent"), Description ( "The component of the redundancy group.") ] CIM_ManagedSystemElement REF PartComponent; }; // =================================================================== // SpareGroup // =================================================================== [Version ("2.6.0"), Description ( "A class derived from RedundancyGroup indicating that one or " "more of the aggregated elements can be spared. (The actual " "Spares are defined using the ActsAsSpare association.) An " "example is the use of redundant NICs in a ComputerSystem - " "where one NIC is primary and the other is Spare. The 'primary' " "NIC would be a member of the SpareGroup (associated using the " "RedundancyComponent class) and the 'other' NIC would be " "associated using the ActsAsSpare relationship.") ] class CIM_SpareGroup : CIM_RedundancyGroup { [Description ( "This method is forces a failover from one ManagedSystem" "Element to another. There are two parameters to the Failover " "method, FailoverFrom and FailoverTo. The FailoverFrom " "parameter is a reference to the primary ManagedSystemElement " "that will become inactive after the method. This Element " "should be associated with the SpareGroup through the " "RedundancyComponent relationship. The FailoverTo parameter " "is a reference to the ManagedSystemElement that will take " "over for the primary. This Element should be associated with " "the SpareGroup through the ActsAsSpare association. Once the " "failover has occurred, the SpareGroup and the Redundancy" "Component and ActsAsSpare associations will be updated with " "current status. For example, the ActsAsSpare association " "that contained the FailoverTo Element will be deleted and a " "new RedundancyComponent association instantiated in its " "place. The method should return 0 if successful, 1 if the " "request is not supported, and some other value if any other " "error occurred. In a subclass, the set of possible return " "codes could be specified, using a ValueMap qualifier on the " "method. The strings to which the ValueMap contents are " "'translated' may also be specified in the subclass as a " "Values array qualifier.") ] uint32 Failover( [IN] CIM_ManagedSystemElement REF FailoverFrom, [IN] CIM_ManagedSystemElement REF FailoverTo); }; // =================================================================== // ActsAsSpare // =================================================================== [Association, Version ("2.6.0"), Description ( "The ActsAsSpare association indicates which elements can spare " "or replace the other aggregated elements. The fact that a " "spare can operate in \"hot standby\" mode is specified on an " "element by element basis.") ] class CIM_ActsAsSpare { [Key, Description ("The SpareGroup.") ] CIM_SpareGroup REF Group; [Key, Description ( "A ManagedSystemElement acting as a spare and participating " "in the SpareGroup.") ] CIM_ManagedSystemElement REF Spare; [Description ( "HotStandby is a boolean indicating that the spare is " "operating as a hot standby.") ] boolean HotStandby; }; // =================================================================== // StorageRedundancyGroup // =================================================================== [Version ("2.7.0"), Description ( "A class derived from RedundancyGroup containing mass " "storage-related redundancy information. StorageRedundancy" "Groups are used to protect user data. They act on one " "or more underlying StorageExtents, associated via " "ExtentRedundancyComponent and produce one or more protected " "StorageExtents that are associated to the underlying " "StorageExtents via ProtectedExtentBasedOn or" "CompositeExtentBasedOn. StorageRedundancyGroups may overlap. " "However, the underlying StorageExtents within the overlap " "should not contain any check data.") ] class CIM_StorageRedundancyGroup : CIM_RedundancyGroup { [Description ( "The TypeOfAlgorithm specifies the algorithm used for data " "redundancy and reconstruction. For example, \"P+Q\" (value" "=5) or \"P+S\" (7) may be specified. The value of 0, is " "defined as \"None\" to indicate that data redundancy is not " "active. An inactive redundancy should only be instantiated " "if data striping or concatenation are active. These are " "indicated by the IsStriped or IsConcatentated boolean " "properties of this RedundancyGroup."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"}, Values {"None", "Other", "Unknown", "Copy", "XOR", "P+Q", "S", "P+S"}, MappingStrings {"MIF.DMTF|Redundancy Group|001.2"} ] uint16 TypeOfAlgorithm; [Description ( "StorageRedundancy provides additional information on the " "state of the RedundancyGroup, beyond the RedundancyStatus " "property. Information like \"Reconfig In Progress\" (value" "=1) or \"Redundancy Disabled\" can be specified using " "this property."), ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"}, Values {"No Additional Status", "Reconfig In Progress", "Data Lost", "Not Currently Configured", "Protected Rebuild", "Redundancy Disabled", "Unprotected Rebuild", "Recalculating", "Verifying"} ] uint16 StorageRedundancy; [Description ( "True indicates that the data is striped across the various " "StorageExtents in the Group.") ] boolean IsStriped; [Description ( "True indicates that the data is concatenated across the " "various StorageExtents in the Group.") ] boolean IsConcatenated; }; // =================================================================== // ExtraCapacityGroup // =================================================================== [Version ("2.6.0"), Description ( "A class derived from RedundancyGroup indicating that the " "aggregated elements have more capacity or capability than is " "needed. An example of this type of redundancy is the " "installation of N+1 power supplies or fans in a system.") ] class CIM_ExtraCapacityGroup : CIM_RedundancyGroup { [Description ( "MinNumberNeeded indicates the smallest number of elements " "that must be operational in order to have redundancy. " "For example, in an N+1 redundancy relationship, " "the MinNumberNeeded property should be set equal to N.") ] uint32 MinNumberNeeded; [Description ( "Boolean indicating whether load balancing is supported by " "the ExtraCapacityGroup.") ] boolean LoadBalancedGroup; }; // =================================================================== // ExtentRedundancyComponent // =================================================================== [Association, Aggregation, Version ("2.6.0"), Description ( "Describes the StorageExtents participating in a Storage" "RedundancyGroup.") ] class CIM_ExtentRedundancyComponent : CIM_RedundancyComponent { [Override ("GroupComponent"), Aggregate, Description ("The StorageRedundancyGroup.") ] CIM_StorageRedundancyGroup REF GroupComponent; [Override ("PartComponent"), Description ( "The StorageExtent participating in the RedundancyGroup.") ] CIM_StorageExtent REF PartComponent; }; // =================================================================== // end of file // ===================================================================