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

  1 a.dunfey 1.1 // ===================================================================
  2              // Title: Core_Redundancy
  3              // $State: Exp $
  4              // $Date: 2004/11/29 18:31:42 $
  5              // $RCSfile: Core_Redundancy.mof,v $
  6              // $Revision: 1.13.2.3 $
  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.8 Final
 55              // CR1210 - Removal of experimental Qualifiers for core.
 56              // CR1223 - SysDev Omnibus CR - Minor MOF corrections.
 57              // 
 58              // Change Log for v2.8 Preliminary
 59              // CR1019 - CIM Versioning for 2.8 Preliminary
 60              // CR1071 - Add RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
 61              //          and ExtraCapacitySet.
 62              // 
 63              // Change Log for v2.7.1
 64 a.dunfey 1.1 //       - Remove aggregate qualifier from the PartComponent of
 65              //         RedundancyComponent.
 66              // 
 67              // Change Log for v2.7 Final
 68              // CR940 - Fix Value/ValueMap mismatch in StorageRedundancySet.
 69              //         TypeOfAlgorithm
 70              // CR968 - Keep RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
 71              //         and ExtraCapacitySet experimental for 2.8
 72              // 
 73              // Change Log for v2.7
 74              // CR722 - Update description for StorageRedundancyGroup
 75              // CR752 - Add RedundancySet, SparedSet, IsSpare, StorageRedundancySet,
 76              //         and ExtraCapacitySet
 77              //       - Update the description for RedundancyGroup
 78              // ==================================================================
 79              
 80              #pragma locale ("en_US")
 81              
 82              
 83              
 84              // ===================================================================
 85 a.dunfey 1.1 // RedundancyGroup
 86              // ===================================================================
 87                 [Version ( "2.8.0" ), Description (
 88                     "A class derived from LogicalElement that is a special "
 89                     "collection of ManagedSystemElements. This collection indicates "
 90                     "that the aggregated components together provide redundancy. "
 91                     "All elements aggregated in a RedundancyGroup should be "
 92                     "instantiations of the same object class.")]
 93              class CIM_RedundancyGroup : CIM_LogicalElement {
 94              
 95                    [Key, Description (
 96                        "CreationClassName indicates the name of the class or the "
 97                        "subclass used in the creation of an instance. When used "
 98                        "with the other key properties of this class, this property "
 99                        "allows all instances of this class and its subclasses to be "
100                        "uniquely identified."), 
101                     MaxLen ( 256 )]
102                 string CreationClassName;
103              
104                    [Key, Override ( "Name" ), Description (
105                        "The RedundancyGroup Name serves as the key for the Group's "
106 a.dunfey 1.1           "instance in an enterprise environment."), 
107                     MaxLen ( 256 )]
108                 string Name;
109              
110                    [Description (
111                        "RedundancyStatus provides information on the state of the "
112                        "RedundancyGroup. \"Fully Redundant\" (value=2) means that "
113                        "all of the configured redundancy is still available; "
114                        "\"Degraded Redundancy\" (3) means that some failures have "
115                        "been experienced but some reduced amount of redundancy is "
116                        "still available; \"Redundancy Lost\" (4) means that a "
117                        "sufficient number of failures have been experienced such "
118                        "that no redundancy is available and the next failure "
119                        "experienced will cause overall failure. Also, the values, "
120                        "\"Other\" (1) and \"Unknown\" (0), are defined."), 
121                     ValueMap { "0", "1", "2", "3", "4" }, 
122                     Values { "Unknown", "Other", "Fully Redundant",
123                        "Degraded Redundancy", "Redundancy Lost" }]
124                 uint16 RedundancyStatus;
125              };
126              
127 a.dunfey 1.1 
128              // ===================================================================
129              // RedundancyComponent
130              // ===================================================================
131                 [Association, Aggregation, Version ( "2.7.1" ), Description (
132                     "A RedundancyGroup aggregates Managed System Elements and "
133                     "indicates that these elements, taken together, provide "
134                     "redundancy. All elements aggregated in a RedundancyGroup "
135                     "should be instantiations of the same object class.")]
136              class CIM_RedundancyComponent : CIM_Component {
137              
138                    [Aggregate, Override ( "GroupComponent" ), Description (
139                        "The RedundancyComponent association indicates that 'this "
140                        "set of fans' or 'these physical extents' participate in a "
141                        "single RedundancyGroup.")]
142                 CIM_RedundancyGroup REF GroupComponent;
143              
144                    [Override ( "PartComponent" ), Description (
145                        "The component of the redundancy group.")]
146                 CIM_ManagedSystemElement REF PartComponent;
147              };
148 a.dunfey 1.1 
149              
150              // ===================================================================
151              // SpareGroup
152              // ===================================================================
153                 [Version ( "2.6.0" ), Description (
154                     "A class derived from RedundancyGroup indicating that one or "
155                     "more of the aggregated elements can be spared. (The actual "
156                     "Spares are defined using the ActsAsSpare association.) An "
157                     "example is the use of redundant NICs in a ComputerSystem - "
158                     "where one NIC is primary and the other is Spare. The 'primary' "
159                     "NIC would be a member of the SpareGroup (associated using the "
160                     "RedundancyComponent class) and the 'other' NIC would be "
161                     "associated using the ActsAsSpare relationship.")]
162              class CIM_SpareGroup : CIM_RedundancyGroup {
163              
164                    [Description (
165                        "This method is forces a failover from one ManagedSystem "
166                        "Element to another. There are two parameters to the "
167                        "Failover method, FailoverFrom and FailoverTo. The "
168                        "FailoverFrom parameter is a reference to the primary "
169 a.dunfey 1.1           "ManagedSystemElement that will become inactive after the "
170                        "method. This Element should be associated with the "
171                        "SpareGroup through the RedundancyComponent relationship. "
172                        "The FailoverTo parameter is a reference to the "
173                        "ManagedSystemElement that will take over for the primary. "
174                        "This Element should be associated with the SpareGroup "
175                        "through the ActsAsSpare association. Once the failover has "
176                        "occurred, the SpareGroup and the Redundancy Component and "
177                        "ActsAsSpare associations will be updated with current "
178                        "status. For example, the ActsAsSpare association that "
179                        "contained the FailoverTo Element will be deleted and a new "
180                        "RedundancyComponent association instantiated in its place. "
181                        "The method should return 0 if successful, 1 if the request "
182                        "is not supported, and some other value if any other error "
183                        "occurred. In a subclass, the set of possible return codes "
184                        "could be specified, using a ValueMap qualifier on the "
185                        "method. The strings to which the ValueMap contents are "
186                        "'translated' may also be specified in the subclass as a "
187                        "Values array qualifier.")]
188                 uint32 Failover( 
189                       [IN, Description (
190 a.dunfey 1.1              "The primary ManagedSystemElement that will become "
191                           "inactive after the method.")]
192                    CIM_ManagedSystemElement REF FailoverFrom, 
193                       [IN, Description (
194                           "The ManagedSystemElement that will take over from the "
195                           "primary MSE.")]
196                    CIM_ManagedSystemElement REF FailoverTo); 
197              };
198              
199              
200              // ===================================================================
201              // ActsAsSpare
202              // ===================================================================
203                 [Association, Version ( "2.6.0" ), Description (
204                     "The ActsAsSpare association indicates which elements can spare "
205                     "or replace the other aggregated elements. The fact that a "
206                     "spare can operate in \"hot standby\" mode is specified on an "
207                     "element by element basis.")]
208              class CIM_ActsAsSpare {
209              
210                    [Key, Description (
211 a.dunfey 1.1           "The SpareGroup.")]
212                 CIM_SpareGroup REF Group;
213              
214                    [Key, Description (
215                        "A ManagedSystemElement acting as a spare and participating "
216                        "in the SpareGroup.")]
217                 CIM_ManagedSystemElement REF Spare;
218              
219                    [Description (
220                        "HotStandby is a boolean indicating that the spare is "
221                        "operating as a hot standby.")]
222                 boolean HotStandby;
223              };
224              
225              
226              // ===================================================================
227              // StorageRedundancyGroup
228              // ===================================================================
229                 [Version ( "2.7.0" ), Description (
230                     "A class derived from RedundancyGroup containing mass "
231                     "storage-related redundancy information. StorageRedundancy "
232 a.dunfey 1.1        "Groups are used to protect user data. They act on one or more "
233                     "underlying StorageExtents, associated via "
234                     "ExtentRedundancyComponent and produce one or more protected "
235                     "StorageExtents that are associated to the underlying "
236                     "StorageExtents via ProtectedExtentBasedOn or "
237                     "CompositeExtentBasedOn. StorageRedundancyGroups may overlap. "
238                     "However, the underlying StorageExtents within the overlap "
239                     "should not contain any check data.")]
240              class CIM_StorageRedundancyGroup : CIM_RedundancyGroup {
241              
242                    [Description (
243                        "The TypeOfAlgorithm specifies the algorithm used for data "
244                        "redundancy and reconstruction. For example, \"P+Q\" (value "
245                        "=5) or \"P+S\" (7) may be specified. The value of 0, is "
246                        "defined as \"None\" to indicate that data redundancy is not "
247                        "active. An inactive redundancy should only be instantiated "
248                        "if data striping or concatenation are active. These are "
249                        "indicated by the IsStriped or IsConcatentated boolean "
250                        "properties of this RedundancyGroup."), 
251                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, 
252                     Values { "None", "Other", "Unknown", "Copy", "XOR", "P+Q", "S",
253 a.dunfey 1.1           "P+S" }, 
254                     MappingStrings { "MIF.DMTF|Redundancy Group|001.2" }]
255                 uint16 TypeOfAlgorithm;
256              
257                    [Description (
258                        "StorageRedundancy provides additional information on the "
259                        "state of the RedundancyGroup, beyond the RedundancyStatus "
260                        "property. Information like \"Reconfig In Progress\" (value "
261                        "=1) or \"Redundancy Disabled\" can be specified using this "
262                        "property."), 
263                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
264                     Values { "No Additional Status", "Reconfig In Progress",
265                        "Data Lost", "Not Currently Configured", "Protected Rebuild",
266                        "Redundancy Disabled", "Unprotected Rebuild",
267                        "Recalculating", "Verifying" }]
268                 uint16 StorageRedundancy;
269              
270                    [Description (
271                        "True indicates that the data is striped across the various "
272                        "StorageExtents in the Group.")]
273                 boolean IsStriped;
274 a.dunfey 1.1 
275                    [Description (
276                        "True indicates that the data is concatenated across the "
277                        "various StorageExtents in the Group.")]
278                 boolean IsConcatenated;
279              };
280              
281              
282              // ===================================================================
283              // ExtraCapacityGroup
284              // ===================================================================
285                 [Version ( "2.6.0" ), Description (
286                     "A class derived from RedundancyGroup indicating that the "
287                     "aggregated elements have more capacity or capability than is "
288                     "needed. An example of this type of redundancy is the "
289                     "installation of N+1 power supplies or fans in a system.")]
290              class CIM_ExtraCapacityGroup : CIM_RedundancyGroup {
291              
292                    [Description (
293                        "MinNumberNeeded indicates the smallest number of elements "
294                        "that must be operational in order to have redundancy. For "
295 a.dunfey 1.1           "example, in an N+1 redundancy relationship, the "
296                        "MinNumberNeeded property should be set equal to N.")]
297                 uint32 MinNumberNeeded;
298              
299                    [Description (
300                        "Boolean indicating whether load balancing is supported by "
301                        "the ExtraCapacityGroup.")]
302                 boolean LoadBalancedGroup;
303              };
304              
305              
306              // ===================================================================
307              // ExtentRedundancyComponent
308              // ===================================================================
309                 [Association, Aggregation, Version ( "2.6.0" ), Description (
310                     "Describes the StorageExtents participating in a Storage "
311                     "RedundancyGroup.")]
312              class CIM_ExtentRedundancyComponent : CIM_RedundancyComponent {
313              
314                    [Aggregate, Override ( "GroupComponent" ), Description (
315                        "The StorageRedundancyGroup.")]
316 a.dunfey 1.1    CIM_StorageRedundancyGroup REF GroupComponent;
317              
318                    [Override ( "PartComponent" ), Description (
319                        "The StorageExtent participating in the RedundancyGroup.")]
320                 CIM_StorageExtent REF PartComponent;
321              };
322              
323              
324              // ===================================================================
325              // end of file
326              // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2