(file) Return to Core27_Redundancy.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM27

  1 kumpf 1.2 // ===================================================================
  2           // Title:       Core Redundancy 2.7
  3           // Filename:    Core27_Redundancy.mof
  4           // Version:     2.7.1
  5           // Release:     Final
  6           // Date:        04/22/03
  7           // ===================================================================
  8           // Copyright 1999-2003 Distributed Management Task Force, Inc. (DMTF).
  9           // All rights reserved.  
 10           // DMTF is a not-for-profit association of industry members dedicated 
 11           // to promoting enterprise and systems management and interoperability. 
 12           // DMTF specifications and documents may be reproduced for uses
 13           // consistent with this purpose by members and non-members, 
 14           // provided that correct attribution is given. 
 15           // As DMTF specifications may be revised from time to time, 
 16           // the particular version and release date should always be noted.
 17           //
 18           // Implementation of certain elements of this standard or proposed 
 19           // standard may be subject to third party patent rights, including 
 20           // provisional patent rights (herein "patent rights"). DMTF makes 
 21           // no representations to users of the standard as to the existence 
 22 kumpf 1.2 // of such rights, and is not responsible to recognize, disclose, or
 23           // identify any or all such third party patent right, owners or 
 24           // claimants, nor for any incomplete or inaccurate identification or 
 25           // disclosure of such rights, owners or claimants. DMTF shall have no 
 26           // liability to any party, in any manner or circumstance, under any 
 27           // legal theory whatsoever, for failure to recognize, disclose, or 
 28           // identify any such third party patent rights, or for such party's
 29           // reliance on the standard or incorporation thereof in its product, 
 30           // protocols or testing procedures. DMTF shall have no liability to 
 31           // any party implementing such standard, whether such implementation 
 32           // is foreseeable or not, nor to any patent owner or claimant, and shall 
 33           // have no liability or responsibility for costs or losses incurred if 
 34           // a standard is withdrawn or modified after publication, and shall be
 35           // indemnified and held harmless by any party implementing the 
 36           // standard from any and all claims of infringement by a patent owner 
 37           // for such implementations.
 38           //
 39           // For information about patents held by third-parties which have 
 40           // notified the DMTF that, in their opinion, such patent may relate to 
 41           // or impact implementations of DMTF standards, visit 
 42           // http://www.dmtf.org/about/policies/disclosures.php.
 43 kumpf 1.2 // ===================================================================
 44           // Description: The Core Model defines basic management concepts. 
 45           //              This file defines the concepts and classes to support
 46           //              Redundancy.  
 47           //
 48           //              The object classes below are listed in an order that
 49           //              avoids forward references. Required objects, defined 
 50           //              by other working groups, are omitted.
 51           // ==================================================================
 52           // Change Log for v2.7.1
 53           //       - Remove aggregate qualifier from the PartComponent of 
 54           //         RedundancyComponent.
 55           //
 56           // Change Log for v2.7
 57           // CR940 - Fix Value/ValueMap mismatch in StorageRedundancySet.
 58           //         TypeOfAlgorithm
 59           // CR968 - Keep RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
 60           //         and ExtraCapacitySet experimental for 2.8
 61           //
 62           // Change Log for v2.7
 63           // CR722 - Update description for StorageRedundancyGroup
 64 kumpf 1.2 // CR752 - Add RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
 65           //         and ExtraCapacitySet
 66           //       - Update the description for RedundancyGroup
 67           // ================================================================== 
 68           
 69           #pragma locale ("en_US")
 70           
 71           
 72           // ===================================================================
 73           // RedundancyGroup
 74           // ===================================================================
 75           [Version ("2.7.0"), Description (
 76               "A class derived from LogicalElement that is a special "
 77               "collection of ManagedSystemElements. This collection indicates "
 78               "that the aggregated components together provide redundancy. "
 79               "All elements aggregated in a RedundancyGroup should be "
 80               "instantiations of the same object class.") ] 
 81           class CIM_RedundancyGroup : CIM_LogicalElement {
 82           
 83               [Key, MaxLen (256), Description (
 84                   "CreationClassName indicates the name of the class or "
 85 kumpf 1.2         "the subclass used in the creation of an instance. When "
 86                   "used with the other key properties of this class, this "
 87                   "property allows all instances of this class and its "
 88                   "subclasses to be uniquely identified.") ]
 89               string CreationClassName;
 90           
 91               [Override("Name"), Key, MaxLen (256), Description (
 92                   "The RedundancyGroup Name serves as the key for the "
 93                   "Group's instance in an enterprise environment.") ]
 94               string Name;
 95           
 96               [Description (
 97                   "RedundancyStatus provides information on the state of the "
 98                   "RedundancyGroup. \"Fully Redundant\" (value=2) means that "
 99                   "all of the configured redundancy is still available; "
100                   "\"Degraded Redundancy\" (3) means that some failures have "
101                   "been experienced but some reduced amount of redundancy is "
102                   "still available; \"Redundancy Lost\" (4) means that a "
103                   "sufficient number of failures have been experienced such "
104                   "that no redundancy is available and the next failure "
105                   "experienced will cause overall failure. Also, the values, "
106 kumpf 1.2         "\"Other\" (1) and \"Unknown\" (0), are defined."),
107                   ValueMap {"0", "1", "2", "3", "4"}, 
108                   Values {"Unknown", "Other", "Fully Redundant", 
109                      "Degraded Redundancy", "Redundancy Lost"} ]
110              uint16 RedundancyStatus;
111           };
112           
113           
114           // ===================================================================
115           // RedundancyComponent
116           // ===================================================================
117           [Association, Aggregation, Version ("2.7.1"), Description (
118               "A RedundancyGroup aggregates Managed System Elements and "
119               "indicates that these elements, taken together, provide "
120               "redundancy. All elements aggregated in a RedundancyGroup "
121               "should be instantiations of the same object class.") ] 
122           class CIM_RedundancyComponent : CIM_Component {
123           
124               [Override ("GroupComponent"), Aggregate, Description (
125                   "The RedundancyComponent association indicates that "
126                   "'this set of fans' or 'these physical extents' participate "
127 kumpf 1.2         "in a single RedundancyGroup.") ]
128               CIM_RedundancyGroup REF GroupComponent;
129               
130               [Override ("PartComponent"), Description (
131                   "The component of the redundancy group.") ]
132               CIM_ManagedSystemElement REF PartComponent;
133           };
134           
135           
136           // ===================================================================
137           // SpareGroup
138           // ===================================================================
139           [Version ("2.6.0"), Description (
140               "A class derived from RedundancyGroup indicating that one or "
141               "more of the aggregated elements can be spared. (The actual "
142               "Spares are defined using the ActsAsSpare association.) An "
143               "example is the use of redundant NICs in a ComputerSystem - "
144               "where one NIC is primary and the other is Spare. The 'primary' "
145               "NIC would be a member of the SpareGroup (associated using the "
146               "RedundancyComponent class) and the 'other' NIC would be "
147               "associated using the ActsAsSpare relationship.") ] 
148 kumpf 1.2 class CIM_SpareGroup : CIM_RedundancyGroup {
149           
150               [Description (
151                   "This method is forces a failover from one ManagedSystem"
152                   "Element to another.  There are two parameters to the Failover "
153                   "method, FailoverFrom and FailoverTo. The FailoverFrom "
154                   "parameter is a reference to the primary ManagedSystemElement "
155                   "that will become inactive after the method. This Element "
156                   "should be associated with the SpareGroup through the "
157                   "RedundancyComponent relationship. The FailoverTo parameter "
158                   "is a reference to the ManagedSystemElement that will take "
159                   "over for the primary. This Element should be associated with "
160                   "the SpareGroup through the ActsAsSpare association. Once the "
161                   "failover has occurred, the SpareGroup and the Redundancy"
162                   "Component and ActsAsSpare associations will be updated with "
163                   "current status.  For example, the ActsAsSpare association "
164                   "that contained the FailoverTo Element will be deleted and a "
165                   "new RedundancyComponent association instantiated in its "
166                   "place. The method should return 0 if successful, 1 if the "
167                   "request is not supported, and some other value if any other "
168                   "error occurred. In a subclass, the set of possible return "
169 kumpf 1.2         "codes could be specified, using a ValueMap qualifier on the "
170                   "method. The strings to which the ValueMap contents are "
171                   "'translated' may also be specified in the subclass as a "
172                   "Values array qualifier.") ]
173               uint32 Failover(
174                   [IN] CIM_ManagedSystemElement REF FailoverFrom, 
175                   [IN] CIM_ManagedSystemElement REF FailoverTo);      
176           };
177           
178           
179           // ===================================================================
180           // ActsAsSpare
181           // ===================================================================
182           [Association, Version ("2.6.0"), Description (
183               "The ActsAsSpare association indicates which elements can spare "
184               "or replace the other aggregated elements.  The fact that a "
185               "spare can operate in \"hot standby\" mode is specified on an "
186               "element by element basis.") ]
187           class CIM_ActsAsSpare  {
188           
189               [Key, Description ("The SpareGroup.") ]
190 kumpf 1.2     CIM_SpareGroup REF Group;
191               
192               [Key, Description (
193                   "A ManagedSystemElement acting as a spare and participating "
194                   "in the SpareGroup.") ]
195               CIM_ManagedSystemElement REF Spare; 
196               
197               [Description (
198                   "HotStandby is a boolean indicating that the spare is "
199                   "operating as a hot standby.") ]
200               boolean HotStandby;   
201           };
202           
203           
204           // ===================================================================
205           // StorageRedundancyGroup
206           // ===================================================================
207           [Version ("2.7.0"), Description (
208               "A class derived from RedundancyGroup containing mass "
209               "storage-related redundancy information. StorageRedundancy"
210               "Groups are used to protect user data.  They act on one "
211 kumpf 1.2     "or more underlying StorageExtents, associated via "
212               "ExtentRedundancyComponent and produce one or more protected "
213               "StorageExtents that are associated to the underlying "
214               "StorageExtents via ProtectedExtentBasedOn or"
215               "CompositeExtentBasedOn.  StorageRedundancyGroups may overlap. "
216               "However, the underlying StorageExtents within the overlap "
217               "should not contain any check data.") ] 
218           class CIM_StorageRedundancyGroup : CIM_RedundancyGroup  {
219           
220               [Description (
221                   "The TypeOfAlgorithm specifies the algorithm used for data "
222                   "redundancy and reconstruction. For example, \"P+Q\" (value"
223                   "=5) or \"P+S\" (7) may be specified. The value of 0, is "
224                   "defined as \"None\" to indicate that data redundancy is not "
225                   "active. An inactive redundancy should only be instantiated "
226                   "if data striping or concatenation are active. These are "
227                   "indicated by the IsStriped or IsConcatentated boolean "
228                   "properties of this RedundancyGroup."), 
229                   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7"}, 
230                   Values {"None", "Other", "Unknown", "Copy", "XOR", "P+Q", 
231                       "S", "P+S"}, 
232 kumpf 1.2         MappingStrings {"MIF.DMTF|Redundancy Group|001.2"} ]
233               uint16 TypeOfAlgorithm;
234           
235               [Description (
236                   "StorageRedundancy provides additional information on the "
237                   "state of the RedundancyGroup, beyond the RedundancyStatus "
238                   "property. Information like \"Reconfig In Progress\" (value"
239                   "=1) or \"Redundancy Disabled\" can be specified using "
240                   "this property."), 
241                   ValueMap {"0", "1", "2", "3", "4", "5", "6", "7", "8"}, 
242                   Values {"No Additional Status", "Reconfig In Progress", 
243                       "Data Lost", "Not Currently Configured", 
244                       "Protected Rebuild", "Redundancy Disabled", 
245                       "Unprotected Rebuild", "Recalculating", "Verifying"} ]
246               uint16 StorageRedundancy;
247               
248               [Description (
249                   "True indicates that the data is striped across the various "
250                   "StorageExtents in the Group.") ]
251               boolean IsStriped;
252               
253 kumpf 1.2     [Description (
254                   "True indicates that the data is concatenated across the "
255                   "various StorageExtents in the Group.") ]
256               boolean IsConcatenated;
257           };
258           
259           
260           // ===================================================================
261           // ExtraCapacityGroup
262           // ===================================================================
263           [Version ("2.6.0"), Description (
264               "A class derived from RedundancyGroup indicating that the "
265               "aggregated elements have more capacity or capability than is "
266               "needed.  An example of this type of redundancy is the "
267               "installation of N+1 power supplies or fans in a system.") ] 
268           class CIM_ExtraCapacityGroup : CIM_RedundancyGroup {
269           
270               [Description (
271                   "MinNumberNeeded indicates the smallest number of elements "
272                   "that must be operational in order to have redundancy.  "
273                   "For example, in an N+1 redundancy relationship, "
274 kumpf 1.2         "the MinNumberNeeded property should be set equal to N.") ]
275               uint32 MinNumberNeeded;
276            
277               [Description (
278                   "Boolean indicating whether load balancing is supported by "
279                   "the ExtraCapacityGroup.") ]
280               boolean LoadBalancedGroup; 
281           };
282           
283           
284           // ===================================================================
285           // ExtentRedundancyComponent
286           // ===================================================================
287           [Association, Aggregation, Version ("2.6.0"), Description (
288               "Describes the StorageExtents participating in a Storage"
289               "RedundancyGroup.") ]
290           class CIM_ExtentRedundancyComponent : CIM_RedundancyComponent {
291           
292               [Override ("GroupComponent"), Aggregate, 
293                   Description ("The StorageRedundancyGroup.") ]
294               CIM_StorageRedundancyGroup REF GroupComponent;
295 kumpf 1.2 
296               [Override ("PartComponent"),  Description (
297                   "The StorageExtent participating in the RedundancyGroup.") ]
298               CIM_StorageExtent REF PartComponent;
299           };
300           
301           
302           // ===================================================================
303           // end of file
304           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2