1 a.dunfey 1.1 // ===================================================================
2 // Title: Core Redundancy
3 // $State: Preliminary $
4 // $Date: 2005/01/05 00:54:00 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Core_Redundancy.mof,v $
6 // $Revision: 1.14 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
10 // All rights reserved.
11 // DMTF is a not-for-profit association of industry members dedicated
12 // to promoting enterprise and systems management and interoperability.
13 // DMTF specifications and documents may be reproduced for uses
14 // consistent with this purpose by members and non-members,
15 // provided that correct attribution is given.
16 // As DMTF specifications may be revised from time to time,
17 // the particular version and release date should always be noted.
18 //
19 // Implementation of certain elements of this standard or proposed
20 // standard may be subject to third party patent rights, including
21 // provisional patent rights (herein "patent rights"). DMTF makes
22 a.dunfey 1.1 // no representations to users of the standard as to the existence
23 // of such rights, and is not responsible to recognize, disclose, or
24 // identify any or all such third party patent right, owners or
25 // claimants, nor for any incomplete or inaccurate identification or
26 // disclosure of such rights, owners or claimants. DMTF shall have no
27 // liability to any party, in any manner or circumstance, under any
28 // legal theory whatsoever, for failure to recognize, disclose, or
29 // identify any such third party patent rights, or for such party's
30 // reliance on the standard or incorporation thereof in its product,
31 // protocols or testing procedures. DMTF shall have no liability to
32 // any party implementing such standard, whether such implementation
33 // is foreseeable or not, nor to any patent owner or claimant, and shall
34 // have no liability or responsibility for costs or losses incurred if
35 // a standard is withdrawn or modified after publication, and shall be
36 // indemnified and held harmless by any party implementing the
37 // standard from any and all claims of infringement by a patent owner
38 // for such implementations.
39 //
40 // For information about patents held by third-parties which have
41 // notified the DMTF that, in their opinion, such patent may relate to
42 // or impact implementations of DMTF standards, visit
43 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
44 //#pragma inLine
45 // ===================================================================
46 // Description: The Core Model defines basic management concepts.
47 // This file defines the concepts and classes to support
48 // Redundancy.
49 //
50 // The object classes below are listed in an order that
51 // avoids forward references. Required objects, defined
52 // by other working groups, are omitted.
53 // ==================================================================
54 // Change Log for v2.9 Preliminary
55 // CR1291 - Add VendorIdentifyingInfo to RedundancySet
56 // CR1209 - Introduce RedundancySet model to fix and replace
57 // the RedundancyGroup mode
58 // CR1428 - SNIA review tweaks to RedundancySet
59 //
60 // Change Log for v2.8 Final
61 // CR1210 - Removal of experimental Qualifiers for core.
62 // CR1223 - SysDev Omnibus CR - Minor MOF corrections.
63 //
64 a.dunfey 1.1 // Change Log for v2.8 Preliminary
65 // CR1019 - CIM Versioning for 2.8 Preliminary
66 // CR1071 - Add RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
67 // and ExtraCapacitySet.
68 //
69 // Change Log for v2.7.1
70 // - Remove aggregate qualifier from the PartComponent of
71 // RedundancyComponent.
72 //
73 // Change Log for v2.7 Final
74 // CR940 - Fix Value/ValueMap mismatch in StorageRedundancySet.
75 // TypeOfAlgorithm
76 // CR968 - Keep RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
77 // and ExtraCapacitySet experimental for 2.8
78 //
79 // Change Log for v2.7
80 // CR722 - Update description for StorageRedundancyGroup
81 // CR752 - Add RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
82 // and ExtraCapacitySet
83 // - Update the description for RedundancyGroup
84 // ==================================================================
85 a.dunfey 1.1
86 #pragma locale ("en_US")
87
88 // ===================================================================
89 // RedundancySet
90 // ===================================================================
91 [Experimental, Version ( "2.8.1000" ), Description (
92 "A class derived from SystemSpecificCollection that is a "
93 "special collection of ManagedElements. This collection "
94 "indicates that the aggregated elements together provide "
95 "redundancy, or that redundancy is provided via sparing. All "
96 "elements collected in a RedundancySet SHOULD be instantiations "
97 "of the same object class.")]
98 class CIM_RedundancySet : CIM_SystemSpecificCollection {
99
100 [Description (
101 "RedundancyStatus provides information on the state of the "
102 "RedundancySet. \n"
103 "- Redundant (=2) means that there is no single point of "
104 "failure. It is possible that some elements in the set have "
105 "failed leaving greater than the minimum required "
106 a.dunfey 1.1 "('MinNumberNeeded' ) to have Redundancy. This 'Partial "
107 "Redundancy' can be determined by evaluating the number of "
108 "failed members in the set. When calculating this number, "
109 "failed members with a Spared relationship SHOULD NOT be "
110 "included as each has another member that was added to the "
111 "set when it failed. \n"
112 "- Redundancy Lost (=3) means that a single point of failure "
113 "exists. It is possible that some aspects are redundant."),
114 ValueMap { "0", "1", "2", "3", "..", "0x8000.." },
115 Values { "Unknown", "Other", "Redundant", "Redundancy Lost",
116 "DMTF Reserved", "Vendor Reserved" },
117 ModelCorrespondence { "CIM_RedundancySet.MinNumberNeeded" }]
118 uint16 RedundancyStatus;
119
120 [Description (
121 "TypeOfSet provides information on the type of redundancy. - "
122 "N+1 (=2) indicates all members are active, are unaware and "
123 "function independent of one another. However, there exist "
124 "at least one extra member to achieve functionality. "
125 "'Sparing' is implied (i.e. each member can be a spare for "
126 "the other(s). An example of N+1 is a system that has 2 "
127 a.dunfey 1.1 "power supplies, but needs only 1 power supply to "
128 "functioning properly. \n"
129 "- Load Balanced (=3) indicates all members are active. "
130 "However, there functionality is not independent of each "
131 "other. Their functioning is determined by some sort of load "
132 "balancing algrothim (implemented in hardware and/or "
133 "software). 'Sparing' is implied (i.e. each member can be a "
134 "spare for the other(s). \n"
135 "- Sparing (=4) indicates that all members are active and "
136 "are aware of each others. However, their functionality is "
137 "independent until failover. Each member can be a spare for "
138 "the other(s). \n"
139 "- Limited Sparing (=5) indicates that all members are "
140 "active, and they may or may not be aware of each and they "
141 "are not spares for each other. Instead, their redundancy is "
142 "indicated by the IsSpare relationship."),
143 ValueMap { "0", "1", "2", "3", "4", "5", "..", "0x8000.." },
144 Values { "Unknown", "Other", "N+1", "Load Balanced", "Sparing",
145 "Limited Sparing", "DMTF Reserved", "Vendor Reserved" },
146 ArrayType ( "Indexed" ),
147 ModelCorrespondence { "CIM_RedundancySet.OtherTypeOfSet" }]
148 a.dunfey 1.1 uint16 TypeOfSet[];
149
150 [Description (
151 "MinNumberNeeded indicates the smallest number of elements "
152 "that MUST be operational in order to function. For example, "
153 "in an N+1 redundancy relationship, the MinNumberNeeded "
154 "property is set equal to N. In a 'LimitedSparing' "
155 "environment, this property is meaningless and SHOULD be set "
156 "to zero."),
157 MinValue ( 0 )]
158 uint32 MinNumberNeeded;
159
160 [Description (
161 "MaxNumberSupported indicates the largest number of elements "
162 "that can participate in the RedundancySet. A value of 0 "
163 "indicates there is no limit on the number of elements.")]
164 uint32 MaxNumberSupported;
165
166 [Description (
167 "This method forces a failover from one ManagedElement to "
168 "another. There are two parameters to the Failover method. \n"
169 a.dunfey 1.1 "- FailoverFrom is a reference to an 'active' ManagedElement "
170 "that will become inactive after the method. This element "
171 "SHOULD be part of the RedundancySet via a "
172 "MemberOfCollection relationship. \n"
173 "- FailoverTo is a reference to the ManagedElement that will "
174 "take over for the FailoverFrom element. This element SHOULD "
175 "either be a member of the RedundancySet or be associated "
176 "with the RedundancySet via an IsSpare relationship. \n"
177 "\n"
178 "Upon sucessful completion: \n"
179 "- the FailoverTo element SHOULD be associated to the "
180 "RedundancySet via MemberOfCollection. \n"
181 "- the FailFrom element SHOULD either still be associated to "
182 "the RedundandySet via MemberOfCollection with a "
183 "OperationalStatus or EnableState that indicates it not "
184 "active, or it SHOULD be associated to the 'Spared' "
185 "collection via the MemberOfCollection association."),
186 ValueMap { "0", "1", "2", "3", "4", "..", "32768..65535" },
187 Values { "Completed with No Error", "Not Supported",
188 "Unknown/Unspecified Error", "Busy/In Use", "Paramter Error",
189 "DMTF Reserved", "Vendor Reserved" }]
190 a.dunfey 1.1 uint32 Failover(
191 [IN, Description (
192 "The primary ManagedSystemElement that will become "
193 "inactive after the method.")]
194 CIM_ManagedElement REF FailoverFrom,
195 [IN, Description (
196 "The ManagedSystemElement that will take over from the "
197 "primary MSE.")]
198 CIM_ManagedElement REF FailoverTo);
199
200 [Description (
201 "VendorIdentifyingInfo captures the vendor identifying data "
202 "for the RedundancySet. One example is the product name for "
203 "a cluster.")]
204 string VendorIdentifyingInfo;
205
206 [Description (
207 "When the corresponding array entry in TypeOfSet[] is "
208 "'Other', this entry provides a string describing the type "
209 "of set."),
210 ArrayType ( "Indexed" ),
211 a.dunfey 1.1 ModelCorrespondence { "CIM_RedundancySet.TypeOfSet" }]
212 string OtherTypeOfSet[];
213
214 [Write, Description (
215 "The current load balance algorithm. \n"
216 "Least Blocks, Least IO, and Address Region are used in "
217 "storage device path redundancy drivers to optimize load "
218 "balancing by routing requests to a path with the least "
219 "queued blocks or IO requests, or based on locality of "
220 "reference. \n"
221 "'Product Specific' indicates that the algorithm is "
222 "optimized for a particular type of product. Information "
223 "about that product SHOULD be provided in an associated "
224 "CIM_Product instance."),
225 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" },
226 Values { "Unknown", "Other", "No Load Balancing", "Round Robin",
227 "Least Blocks", "Least IO", "Address Region",
228 "Product Specific" },
229 ModelCorrespondence {
230 "CIM_RedundancySet.OtherLoadBalanceAlgorithm" }]
231 uint16 LoadBalanceAlgorithm = 2;
232 a.dunfey 1.1
233 [Write, Description (
234 "When LoadBalanceAlgorithm is Other, this property describes "
235 "the algorithm."),
236 ModelCorrespondence { "CIM_RedundancySet.LoadBalanceAlgorithm" }]
237 string OtherLoadBalanceAlgorithm;
238 };
239
240 // ===================================================================
241 // StorageRedundancySet
242 // ===================================================================
243 [Experimental, Version ( "2.8.1000" ), Description (
244 "A class derived from RedundancySet describing storage-related "
245 "redundancy information. StorageRedundancySets are used to "
246 "protect user data. They aggregate one or more underlying "
247 "StorageExtents, associated via MemberOfCollection, and produce "
248 "one or more higher-level Extents. The Extents are related to "
249 "each other via a BasedOn association. And, the higher level "
250 "Extent is related to the StorageRedundancy Set via the "
251 "LogicalIdentity association. \n"
252 "Note that StorageRedundancySets may overlap in their "
253 a.dunfey 1.1 "aggregation of members. If this occurs, the overlapping "
254 "Extents SHOULD NOT contain any check data.")]
255 class CIM_StorageRedundancySet : CIM_RedundancySet {
256
257 [Description (
258 "TypeOfAlgorithm specifies the algorithm used for storage "
259 "data redundancy and reconstruction. For example, 'P+Q' (=5) "
260 "or 'P+S' (=7) may be specified."),
261 ValueMap { "0", "1", "3", "4", "5", "6", "7" },
262 Values { "Unknown", "Other", "Copy", "XOR", "P+Q", "S", "P+S" },
263 MappingStrings { "MIF.DMTF|Redundancy Group|001.2" },
264 ModelCorrespondence { "CIM_StorageRedundancySet.OtherAlgorithm"
265 }]
266 uint16 TypeOfAlgorithm;
267
268 [Description (
269 "A string describing the redundancy algorithm when the "
270 "TypeOfAlgorithm is set to 1 'Other'."),
271 ModelCorrespondence { "CIM_StorageRedundancySet.TypeOfAlgorithm"
272 }]
273 string OtherAlgorithm;
274 a.dunfey 1.1 };
275
276 // ===================================================================
277 // IsSpare
278 // ===================================================================
279 [Association, Experimental, Version ( "2.8.1000" ), Description (
280 "The IsSpare association indicates an element that can spare or "
281 "replace any of the elements in the referenced RedundancySet. "
282 "If the 'spare' is itself a Collection, this indicates that "
283 "each of the 'spare' members can replace any of the elements in "
284 "the RedundancySet. In the case of a collection all of the "
285 "values in the properties of this association MUST apply to all "
286 "members of the Collection. \n"
287 "In the case of a collection, all of the values in the "
288 "properties of this association (such as FailoverSupported) "
289 "MUST apply to all members. If this is not true, then the "
290 "Collection SHOULD be broken down into smaller sets (and the "
291 "IsSpare association defined for each of these smallar sets), "
292 "such that the properties of this association apply to all "
293 "collected members.")]
294 class CIM_IsSpare : CIM_Dependency {
295 a.dunfey 1.1
296 [Override ( "Antecedent" ), Description (
297 "A ManagedElement or Collection of elements acting as a "
298 "spare.")]
299 CIM_ManagedElement REF Antecedent;
300
301 [Override ( "Dependent" ), Description (
302 "The set of elements that ARE spared.")]
303 CIM_RedundancySet REF Dependent;
304
305 [Description (
306 "Indicates theat state of the 'spare'. \n"
307 "- Hot Standby. The element is available 'immediately' to "
308 "become a functioning member of the set. Such an element is "
309 "powered on and has been initialized for it's role as a "
310 "spare. \n"
311 "- Cold Standby. The element is not available to join the "
312 "set without action to prepare it."),
313 ValueMap { "0", "2", "3" },
314 Values { "Unknown", "Hot Standby", "Cold Standby" },
315 MappingStrings { "MOF.DMTF|CIM_IsSpare.HotStandby|2.7.1000" }]
316 a.dunfey 1.1 uint8 SpareStatus;
317
318 [Description (
319 "Indicates whether or not the failover to the spare is a "
320 "manual or automatic."),
321 ValueMap { "0", "2", "3", "4" },
322 Values { "Unknown", "Automatic", "Manual",
323 "Both Manual and Automatic" }]
324 uint8 FailoverSupported;
325 };
326
327 // ===================================================================
328 // Spared
329 // ===================================================================
330 [Association, Experimental, Version ( "2.8.1000" ), Description (
331 "The Spared association indicates an element that is acting as "
332 "a replacement for another element. If the Dependent references "
333 "a Collection, this indicates that 'spared' element is a member "
334 "of that collection and the actual mapping between the spare "
335 "and the spared is un-important.")]
336 class CIM_Spared : CIM_Dependency {
337 a.dunfey 1.1
338 [Override ( "Antecedent" ), Description (
339 "A ManagedElement that has replaced/spared another the "
340 "reference Dependent element.")]
341 CIM_ManagedElement REF Antecedent;
342
343 [Override ( "Dependent" ), Description (
344 "The Element or Elements (in the case of a collection) that "
345 "have been replaced/spared.")]
346 CIM_ManagedElement REF Dependent;
347 };
348
349 // ===================================================================
350 // RedundancyGroup
351 // ===================================================================
352 [Deprecated { "CIM_RedundancySet" }, Version ( "2.8.1000" ),
353 Description (
354 "A class derived from LogicalElement that is a special "
355 "collection of ManagedSystemElements. This collection indicates "
356 "that the aggregated components together provide redundancy. "
357 "All elements aggregated in a RedundancyGroup should be "
358 a.dunfey 1.1 "instantiations of the same object class. \n"
359 "The use of this class is being deprecated in lieu of using the "
360 "RedundancySet class.")]
361 class CIM_RedundancyGroup : CIM_LogicalElement {
362
363 [Deprecated { "No Value" }, Key, Description (
364 "CreationClassName indicates the name of the class or the "
365 "subclass used in the creation of an instance. When used "
366 "with the other key properties of this class, this property "
367 "allows all instances of this class and its subclasses to be "
368 "uniquely identified."),
369 MaxLen ( 256 )]
370 string CreationClassName;
371
372 [Deprecated { "CIM_RedundancySet.InstanceID" }, Key,
373 Override ( "Name" ), Description (
374 "The RedundancyGroup Name serves as the key for the Group's "
375 "instance in an enterprise environment."),
376 MaxLen ( 256 )]
377 string Name;
378
379 a.dunfey 1.1 [Deprecated { "CIM_RedundancySet.RedundancyStatus" },
380 Description (
381 "RedundancyStatus provides information on the state of the "
382 "RedundancyGroup. \"Fully Redundant\" (value=2) means that "
383 "all of the configured redundancy is still available; "
384 "\"Degraded Redundancy\" (3) means that some failures have "
385 "been experienced but some reduced amount of redundancy is "
386 "still available; \"Redundancy Lost\" (4) means that a "
387 "sufficient number of failures have been experienced such "
388 "that no redundancy is available and the next failure "
389 "experienced will cause overall failure. Also, the values, "
390 "\"Other\" (1) and \"Unknown\" (0), are defined."),
391 ValueMap { "0", "1", "2", "3", "4" },
392 Values { "Unknown", "Other", "Fully Redundant",
393 "Degraded Redundancy", "Redundancy Lost" }]
394 uint16 RedundancyStatus;
395 };
396
397
398 // ===================================================================
399 // RedundancyComponent
400 a.dunfey 1.1 // ===================================================================
401 [Association, Deprecated { "CIM_MemberOfCollection" }, Aggregation,
402 Version ( "2.8.1000" ), Description (
403 "A RedundancyGroup aggregates Managed System Elements and "
404 "indicates that these elements, taken together, provide "
405 "redundancy. All elements aggregated in a RedundancyGroup "
406 "should be instantiations of the same object class. \n"
407 "The use of this class is being depreacted in lieu of using "
408 "MemberOfCollection in conjunction with RedundancySet.")]
409 class CIM_RedundancyComponent : CIM_Component {
410
411 [Deprecated { "CIM_MemberOfCollection.Collection" }, Aggregate,
412 Override ( "GroupComponent" ), Description (
413 "The RedundancyComponent association indicates that 'this "
414 "set of fans' or 'these physical extents' participate in a "
415 "single RedundancyGroup.")]
416 CIM_RedundancyGroup REF GroupComponent;
417
418 [Deprecated { "CIM_MemberOfCollection.Member" },
419 Override ( "PartComponent" ), Description (
420 "The component of the redundancy group.")]
421 a.dunfey 1.1 CIM_ManagedSystemElement REF PartComponent;
422 };
423
424
425 // ===================================================================
426 // SpareGroup
427 // ===================================================================
428 [Deprecated { "CIM_RedundancySet" }, Version ( "2.8.1000" ),
429 Description (
430 "A class derived from RedundancyGroup indicating that one or "
431 "more of the aggregated elements can be spared. (The actual "
432 "Spares are defined using the ActsAsSpare association.) An "
433 "example is the use of redundant NICs in a ComputerSystem - "
434 "where one NIC is primary and the other is Spare. The 'primary' "
435 "NIC would be a member of the SpareGroup (associated using the "
436 "RedundancyComponent class) and the 'other' NIC would be "
437 "associated using the ActsAsSpare relationship. \n"
438 "The use of the class is being deprecated in lieu of using the "
439 "RedundancySet class.")]
440 class CIM_SpareGroup : CIM_RedundancyGroup {
441
442 a.dunfey 1.1 [Deprecated { "CIM_RedundancySet.FailOver()" }, Description (
443 "This method is forces a failover from one ManagedSystem "
444 "Element to another. There are two parameters to the "
445 "Failover method, FailoverFrom and FailoverTo. The "
446 "FailoverFrom parameter is a reference to the primary "
447 "ManagedSystemElement that will become inactive after the "
448 "method. This Element should be associated with the "
449 "SpareGroup through the RedundancyComponent relationship. "
450 "The FailoverTo parameter is a reference to the "
451 "ManagedSystemElement that will take over for the primary. "
452 "This Element should be associated with the SpareGroup "
453 "through the ActsAsSpare association. Once the failover has "
454 "occurred, the SpareGroup and the Redundancy Component and "
455 "ActsAsSpare associations will be updated with current "
456 "status. For example, the ActsAsSpare association that "
457 "contained the FailoverTo Element will be deleted and a new "
458 "RedundancyComponent association instantiated in its place. "
459 "The method should return 0 if successful, 1 if the request "
460 "is not supported, and some other value if any other error "
461 "occurred. In a subclass, the set of possible return codes "
462 "could be specified, using a ValueMap qualifier on the "
463 a.dunfey 1.1 "method. The strings to which the ValueMap contents are "
464 "'translated' may also be specified in the subclass as a "
465 "Values array qualifier.")]
466 uint32 Failover(
467 [IN, Description (
468 "The primary ManagedSystemElement that will become "
469 "inactive after the method.")]
470 CIM_ManagedSystemElement REF FailoverFrom,
471 [IN, Description (
472 "The ManagedSystemElement that will take over from the "
473 "primary MSE.")]
474 CIM_ManagedSystemElement REF FailoverTo);
475 };
476
477
478 // ===================================================================
479 // ActsAsSpare
480 // ===================================================================
481 [Association, Deprecated { "CIM_IsSpare" }, Version ( "2.8.1000" ),
482 Description (
483 "The ActsAsSpare association indicates which elements can spare "
484 a.dunfey 1.1 "or replace the other aggregated elements. The fact that a "
485 "spare can operate in \"hot standby\" mode is specified on an "
486 "element by element basis. \n"
487 "The use of this class is being deprecated in lieu of using the "
488 "IsSpare relationship.")]
489 class CIM_ActsAsSpare {
490
491 [Deprecated { "CIM_IsSpare.Dependent" }, Key, Description (
492 "The SpareGroup.")]
493 CIM_SpareGroup REF Group;
494
495 [Deprecated { "CIM_IsSpare.Antecedent" }, Key, Description (
496 "A ManagedSystemElement acting as a spare and participating "
497 "in the SpareGroup.")]
498 CIM_ManagedSystemElement REF Spare;
499
500 [Deprecated { "CIM_IsSpare.SpareStatus" }, Description (
501 "HotStandby is a boolean indicating that the spare is "
502 "operating as a hot standby.")]
503 boolean HotStandby;
504 };
505 a.dunfey 1.1
506
507 // ===================================================================
508 // StorageRedundancyGroup
509 // ===================================================================
510 [Deprecated { "CIM_StorageRedundancySet" }, Version ( "2.8.1000" ),
511 Description (
512 "A class derived from RedundancyGroup containing mass "
513 "storage-related redundancy information. StorageRedundancy "
514 "Groups are used to protect user data. They act on one or more "
515 "underlying StorageExtents, associated via "
516 "ExtentRedundancyComponent and produce one or more protected "
517 "StorageExtents that are associated to the underlying "
518 "StorageExtents via ProtectedExtentBasedOn or "
519 "CompositeExtentBasedOn. StorageRedundancyGroups may overlap. "
520 "However, the underlying StorageExtents within the overlap "
521 "should not contain any check data. \n"
522 "The use of this class is being deprecated in lieu of using the "
523 "StorageRedundancySet class.")]
524 class CIM_StorageRedundancyGroup : CIM_RedundancyGroup {
525
526 a.dunfey 1.1 [Deprecated { "CIM_StorageRedundancySet.TypeOfAlgorithm" },
527 Description (
528 "The TypeOfAlgorithm specifies the algorithm used for data "
529 "redundancy and reconstruction. For example, \"P+Q\" (value "
530 "=5) or \"P+S\" (7) may be specified. The value of 0, is "
531 "defined as \"None\" to indicate that data redundancy is not "
532 "active. An inactive redundancy should only be instantiated "
533 "if data striping or concatenation are active. These are "
534 "indicated by the IsStriped or IsConcatentated boolean "
535 "properties of this RedundancyGroup."),
536 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" },
537 Values { "None", "Other", "Unknown", "Copy", "XOR", "P+Q", "S",
538 "P+S" },
539 MappingStrings { "MIF.DMTF|Redundancy Group|001.2" }]
540 uint16 TypeOfAlgorithm;
541
542 [Deprecated { "No Value" }, Description (
543 "StorageRedundancy provides additional information on the "
544 "state of the RedundancyGroup, beyond the RedundancyStatus "
545 "property. Information like \"Reconfig In Progress\" (value "
546 "=1) or \"Redundancy Disabled\" can be specified using this "
547 a.dunfey 1.1 "property."),
548 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" },
549 Values { "No Additional Status", "Reconfig In Progress",
550 "Data Lost", "Not Currently Configured", "Protected Rebuild",
551 "Redundancy Disabled", "Unprotected Rebuild",
552 "Recalculating", "Verifying" }]
553 uint16 StorageRedundancy;
554
555 [Deprecated { "CIM_CompositeExtent.ExtentStripeLength" },
556 Description (
557 "True indicates that the data is striped across the various "
558 "StorageExtents in the Group.")]
559 boolean IsStriped;
560
561 [Deprecated { "CIM_CompositeExtent.IsConcatenated" },
562 Description (
563 "True indicates that the data is concatenated across the "
564 "various StorageExtents in the Group.")]
565 boolean IsConcatenated;
566 };
567
568 a.dunfey 1.1 // ===================================================================
569 // ExtraCapacityGroup
570 // ===================================================================
571 [Deprecated { "CIM_RedundancySet" }, Version ( "2.8.1000" ),
572 Description (
573 "A class derived from RedundancyGroup indicating that the "
574 "aggregated elements have more capacity or capability than is "
575 "needed. An example of this type of redundancy is the "
576 "installation of N+1 power supplies or fans in a system. \n"
577 "The use of this class is being deprecated in lieu of using "
578 "RedundancySet.")]
579 class CIM_ExtraCapacityGroup : CIM_RedundancyGroup {
580
581 [Deprecated { "CIM_RedundancySet.MinNumberNeeded" },
582 Description (
583 "MinNumberNeeded indicates the smallest number of elements "
584 "that must be operational in order to have redundancy. For "
585 "example, in an N+1 redundancy relationship, the "
586 "MinNumberNeeded property should be set equal to N.")]
587 uint32 MinNumberNeeded;
588
589 a.dunfey 1.1 [Deprecated { "CIM_RedundancySet.TypeOfSet" }, Description (
590 "Boolean indicating whether load balancing is supported by "
591 "the ExtraCapacityGroup.")]
592 boolean LoadBalancedGroup;
593 };
594
595
596 // ===================================================================
597 // ExtentRedundancyComponent
598 // ===================================================================
599 [Association, Deprecated { "CIM_MemberOfCollection" }, Aggregation,
600 Version ( "2.8.1000" ), Description (
601 "Describes the StorageExtents participating in a Storage "
602 "RedundancyGroup. \n"
603 "The use of this class is being deprecated in lieu of using "
604 "MemberOfCollection in conjunction with StorageRedundancySet.")]
605 class CIM_ExtentRedundancyComponent : CIM_RedundancyComponent {
606
607 [Deprecated { "CIM_MemberOfCollection.Collection" }, Aggregate,
608 Override ( "GroupComponent" ), Description (
609 "The StorageRedundancyGroup.")]
610 a.dunfey 1.1 CIM_StorageRedundancyGroup REF GroupComponent;
611
612 [Deprecated { "CIM_MemberOfCollection.Member" },
613 Override ( "PartComponent" ), Description (
614 "The StorageExtent participating in the RedundancyGroup.")]
615 CIM_StorageExtent REF PartComponent;
616 };
617
618
619 // ===================================================================
620 // end of file
621 // ===================================================================
|