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

  1 karl  1.1 // ===================================================================
  2           // Title:  Core Redundancy
  3           // $State: Preliminary $
  4           // $Date: 2004/07/21 17:38:28 $
  5           // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/Core_Redundancy.mof,v $
  6           // $Revision: 1.13 $
  7           // ===================================================================
  8           //#pragma inLine ("Includes/copyright.inc")
  9           // Copyright 1998-2004 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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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 karl  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           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2