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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2