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

File: [Pegasus] / pegasus / Schemas / CIMPrelim291 / Attic / Core_StorageExtent.mof (download)
Revision: 1.2, Tue Jan 17 20:13:14 2006 UTC (18 years, 4 months ago) by kumpf
Branch: MAIN
CVS Tags: TASK-PEP362_RestfulService-merged_out_from_trunk, TASK-PEP348_SCMO-merged_out_from_trunk, TASK-PEP317_pullop-merged_out_from_trunk, TASK-PEP317_pullop-merged_in_to_trunk, TASK-PEP311_WSMan-root, TASK-PEP311_WSMan-branch, HPUX_TEST, HEAD
Changes since 1.1: +4 -4 lines
FILE REMOVED
BUG#: 4664
TITLE: CIMPrelim291 schema is obsolete
DESCRIPTION: Removing the obsolete schema.

// ===================================================================
// Title:  Core Storage Extents
// $State: dead $
// $Date: 2006/01/17 20:13:14 $
// $Source: /cvs/MSB/pegasus/Schemas/CIMPrelim291/Attic/Core_StorageExtent.mof,v $
// $Revision: 1.2 $
// ===================================================================
//#pragma inLine ("Includes/copyright.inc")
// Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
// All rights reserved.
// DMTF is a not-for-profit association of industry members dedicated
// to promoting enterprise and systems management and interoperability.
// DMTF specifications and documents may be reproduced for uses
// consistent with this purpose by members and non-members,
// provided that correct attribution is given.
// As DMTF specifications may be revised from time to time,
// the particular version and release date should always be noted.
// 
// Implementation of certain elements of this standard or proposed
// standard may be subject to third party patent rights, including
// provisional patent rights (herein "patent rights"). DMTF makes
// no representations to users of the standard as to the existence
// of such rights, and is not responsible to recognize, disclose, or
// identify any or all such third party patent right, owners or
// claimants, nor for any incomplete or inaccurate identification or
// disclosure of such rights, owners or claimants. DMTF shall have no
// liability to any party, in any manner or circumstance, under any
// legal theory whatsoever, for failure to recognize, disclose, or
// identify any such third party patent rights, or for such party's
// reliance on the standard or incorporation thereof in its product,
// protocols or testing procedures. DMTF shall have no liability to
// any party implementing such standard, whether such implementation
// is foreseeable or not, nor to any patent owner or claimant, and shall
// have no liability or responsibility for costs or losses incurred if
// a standard is withdrawn or modified after publication, and shall be
// indemnified and held harmless by any party implementing the
// standard from any and all claims of infringement by a patent owner
// for such implementations.
// 
// For information about patents held by third-parties which have
// notified the DMTF that, in their opinion, such patent may relate to
// or impact implementations of DMTF standards, visit
// http://www.dmtf.org/about/policies/disclosures.php.
//#pragma inLine
// ===================================================================
// Description: The Core Model defines basic management concepts.
//              This file defines the concepts and classes to model
//              a type of LogicalDevice, StorageExtents.
// 
//              The object classes below are listed in an order that
//              avoids forward references. Required objects, defined
//              by other working groups, are omitted.
// ==================================================================
// Change Log for v2.9 Preliminary
// CR1353 - Promote some properties from StorageVolume to
//          Storage Extent
// 
// Change Log for v2.8 Final
// CR1210 - Removal of experimental Qualifiers for core.
// 
// Change Log for v2.8 Preliminary
// CR978  - Promote NoSinglePointOfFailure, DataRedundancy, and
//          SpindleRedundancy from StorageVolue to StorageExtent.
// CR1019 - CIM Versioning for 2.8 Preliminary
// CR1044 - Add StorageExtent.Primordial
// 
// Change Log for v2.7 Final
// CR967 - Add values "DMTF reserved" and "Vendor reserved" to
//         StorageExtent.ExtentStatus.
// CR968 - Remove the Experimental qualifier
// 
// Change Log for v2.7
// CR722 - Add StorageExtent.ExtentStatus
// CR775 - StorageExtent.NoSinglePointOfFailure, StorageExtent.
//         DataRedundancy, StorageExtent.SpindleRedundancy
// CR777 - Add StorageExtent.DeltaReservation
// CR862 - Define StorageExtent.ExtentStatus as an array
// CR884 - Move RAID centric properties from StorageExtent to
//         StorageVolume
// ==================================================================

#pragma locale ("en_US")


// ===================================================================
// StorageExtent
// ===================================================================
   [Version ( "2.8.1000" ), Description (
       "StorageExtent describes the capabilities and management of the "
       "various media that exist to store data and allow data "
       "retrieval. This superclass could be used to represent the "
       "various components of RAID (Hardware or Software) or as a raw "
       "logical extent on top of physical media.")]
class CIM_StorageExtent : CIM_LogicalDevice {

      [Description (
          "Type of data organization used."), 
       ValueMap { "0", "1", "2", "3", "4" }, 
       Values { "Other", "Unknown", "Fixed Block", "Variable Block",
          "Count Key Data" }]
   uint16 DataOrganization;

      [Description (
          "A free form string describing the media and/or its use."), 
       MappingStrings { "MIB.IETF|HOST-RESOURCES-MIB.hrStorageDescr" }]
   string Purpose;

      [Description (
          "Access describes whether the media is readable (value=1), "
          "writeable (value=2), or both (value=3). \"Unknown\" (0) and "
          "\"Write Once\" (4) can also be defined."), 
       ValueMap { "0", "1", "2", "3", "4" }, 
       Values { "Unknown", "Readable", "Writeable",
          "Read/Write Supported", "Write Once" }]
   uint16 Access;

      [Description (
          "ErrorMethodology is a free-form string describing the type "
          "of error detection and correction supported by this "
          "StorageExtent.")]
   string ErrorMethodology;

      [Description (
          "Size in bytes of the blocks which form this StorageExtent. "
          "If variable block size, then the maximum block size in "
          "bytes should be specified. If the block size is unknown or "
          "if a block concept is not valid (for example, for "
          "AggregateExtents, Memory or LogicalDisks), enter a 1."), 
       Units ( "Bytes" ), 
       MappingStrings { "MIF.DMTF|Host Storage|001.4",
          "MIB.IETF|HOST-RESOURCES-MIB.hrStorageAllocationUnits",
          "MIF.DMTF|Storage Devices|001.5" }]
   uint64 BlockSize;

      [Description (
          "Total number of logically contiguous blocks, of size Block "
          "Size, which form this Extent. The total size of the Extent "
          "can be calculated by multiplying BlockSize by "
          "NumberOfBlocks. If the BlockSize is 1, this property is the "
          "total size of the Extent."), 
       MappingStrings { "MIF.DMTF|Host Storage|001.5",
          "MIB.IETF|HOST-RESOURCES-MIB.hrStorageSize" }]
   uint64 NumberOfBlocks;

      [Description (
          "The maximum number of blocks, of size BlockSize, which are "
          "available for consumption when layering StorageExtents "
          "using the BasedOn association. This property only has "
          "meaning when this StorageExtent is an Antecedent reference "
          "in a BasedOn relationship. For example, a StorageExtent "
          "could be composed of 120 blocks. However, the Extent itself "
          "may use 20 blocks for redundancy data. If another "
          "StorageExtent is BasedOn this Extent, only 100 blocks would "
          "be available to it. This information ('100 blocks is "
          "available for consumption') is indicated in the "
          "ConsumableBlocks property.")]
   uint64 ConsumableBlocks;

      [Description (
          "True indicates that the underlying StorageExtent(s) "
          "participate in a StorageRedundancyGroup.")]
   boolean IsBasedOnUnderlyingRedundancy;

      [Description (
          "Boolean set to TRUE if the Storage is sequentially accessed "
          "by a MediaAccessDevice. A TapePartition is an example of a "
          "sequentially accessed StorageExtent. StorageVolumes, Disk "
          "Partitions and LogicalDisks represent randomly accessed "
          "Extents.")]
   boolean SequentialAccess;

      [Description (
          "StorageExtents have additional status information beyond "
          "that captured in the OperationalStatus and other "
          "properties, inherited from ManagedSystemElement. This "
          "additional information (for example, \"Protection "
          "Disabled\", value=9) is captured in the ExtentStatus "
          "property. \n"
          "'In-Band Access Granted' says that access to data on an "
          "extent is granted to some consumer and is only valid when "
          "'Exported' is also set. It is set as a side effect of "
          "PrivilegeManagementService.ChangeAccess or equivalent "
          "interfaces. \n"
          "'Imported' indicates that the extent is used in the current "
          "system, but known to be managed by some other system. For "
          "example, a server imports volumes from a disk array. \n"
          "'Exported' indicates the extent is meant to be used by some "
          "comsumer. A disk array's logical units are exported. \n"
          "Intermediate composite extents may be neither imported nor "
          "exported."), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10", "11", "12", "13", "14", "15", "16", "17", "18..32767",
          "32768..65535" }, 
       Values { "Other", "Unknown", "None/Not Applicable", "Broken",
          "Data Lost", "Dynamic Reconfig", "Exposed",
          "Fractionally Exposed", "Partially Exposed",
          "Protection Disabled", "Readying", "Rebuild", "Recalculate",
          "Spare in Use", "Verify In Progress",
          "In-Band Access Granted", "Imported", "Exported",
          "DMTF Reserved", "Vendor Reserved" }]
   uint16 ExtentStatus[];

      [Description (
          "Indicates whether or not there exists no single point of "
          "failure."), 
       ModelCorrespondence { 
          "CIM_StorageSetting.NoSinglePointOfFailure" }]
   boolean NoSinglePointOfFailure;

      [Description (
          "Number of complete copies of data currently maintained."), 
       ModelCorrespondence { "CIM_StorageSetting.DataRedundancyGoal",
          "CIM_StorageSetting.DataRedundancyMax",
          "CIM_StorageSetting.DataRedundancyMin" }]
   uint16 DataRedundancy;

      [Description (
          "How many physical packages can currently fail without data "
          "loss. For example, in the storage domain, this might be "
          "disk spindles."), 
       ModelCorrespondence { 
          "CIM_StorageSetting.PackageRedundancyGoal",
          "CIM_StorageSetting.PackageRedundancyMax",
          "CIM_StorageSetting.PackageRedundancyMin" }]
   uint16 PackageRedundancy;

      [Description (
          "Current value for Delta reservation. This is a percentage "
          "that specifies the amount of space that should be reserved "
          "in a replica for caching changes."), 
       Units ( "Percentage" ), MinValue ( 1 ), MaxValue ( 100 ), 
       ModelCorrespondence { "CIM_StorageSetting.DeltaReservationGoal",
          "CIM_StorageSetting.DeltaReservationMax",
          "CIM_StorageSetting.DeltaReservationMin" }]
   uint8 DeltaReservation;

      [Description (
          "If true, \"Primordial\" indicates that the containing "
          "System does not have the ability to create or delete this "
          "operational element. This is important because "
          "StorageExtents are assembled into higher-level abstractions "
          "using the BasedOn association. Although the higher-level "
          "abstractions can be created and deleted, the most basic, "
          "(i.e. primordial), hardware-based storage entities cannot. "
          "They are physically realized as part of the System, or are "
          "actually managed by some other System and imported as if "
          "they were physically realized. In other words, a Primordial "
          "StorageExtent exists in, but is not created by its System "
          "and conversely a non-Primordial StorageExtent is created in "
          "the context of its System. For StorageVolumes, this "
          "property will generally be false. One use of this property "
          "is to enable algorithms that aggregate "
          "StorageExtent.ConsumableSpace across all, StorageExtents "
          "but that also want to distinquish the space that underlies "
          "Primordial StoragePools. Since implementations are not "
          "required to surface all Component StorageExtents of a "
          "StoragePool, this information is not accessible in any "
          "other way.")]
   boolean Primordial=false;

      [Override ( "Name" ), Description (
          "A unique identifier for the Extent."), 
       MappingStrings { "SPC.INCITS-T10| VPD 83, "
          "Association 0 | Identifier" }, 
       ModelCorrespondence { "CIM_StorageExtent.NameFormat",
          "CIM_StorageExtent.NameNamespace" }]
   string Name;

      [Description (
          "The list here applies to all StorageExtent subclasses. "
          "Please look at the Description in each subclass for "
          "guidelines on the approriate values for that subclass. Note "
          "that any of these formats could apply to a CompositeExtent. "
          "\n\n"
          "Note - this property originally touched on two concepts "
          "that are now separated into this property and "
          "NameNamespace. Values 2,3,4,5,6, and 8 are retained for "
          "backwards compatibility but are deprecated in lieu of the "
          "corresponding values in CIM_StorageExtent.NameNamespace. \n"
          "\n"
          "For example, the preferred source for SCSI virtual (RAID) "
          "disk names is from Inquiry VPD page 83 response, type 3 "
          "identifiers. These will have NameFormat set to 'NAA' and "
          "NameNamespace to 'VPD83Type3'. \n"
          "\n"
          "Format of the Name property. Values for extents "
          "representing SCSI volumes are (per SCSI SPC-3): \n"
          "2 = VPD Page 83, NAA IEEE Registered Extended (VPD83NAA6) \n"
          "(DEPRECATED) \n"
          "3 = VPD Page 83, NAA IEEE Registered (VPD83NAA5) \n"
          "(DEPRECATED) \n"
          "4 = VPD Page 83, (VPD83Type2) (DEPRECATED) \n"
          "5 = VPD Page 83, \n"
          "T10 Vendor Identification (VPD83Type1) (DEPRECATED) \n"
          "6 = VPD Page 83, Vendor Specific (VPD83Type0) (DEPRECATED) "
          "\n7 = Serial Number/Vendor/Model (SNVM) SNVM is 3 strings "
          "representing the vendor name, product name within the "
          "vendor namespace, and the serial number within the model "
          "namespace. Strings are delimited with a '+'. Spaces may be "
          "included and are significant. The serial number is the text "
          "representation of the serial number in hexadecimal upper "
          "case. This represents the vendor and model ID from SCSI "
          "Inquiry data; the vendor field MUST be 8 characters wide "
          "and the product field MUST be 16 characters wide. For "
          "example, \n"
          "'ACME____+SUPER DISK______+124437458' (_ is a space "
          "character) \n"
          "8 = Node WWN (for single LUN/controller) (NodeWWN) \n"
          "(DEPRECATED) \n"
          "9 = NAA as a generic format. See \n"
          "http://standards.ieee.org/regauth/oui/tutorials/fibrecomp_id.html. "
          "Formatted as 16 or 32 unseparated uppercase hex characters "
          "(2 per binary byte). For example '21000020372D3C73' \n"
          "10 = EUI as a generic format (EUI64) See \n"
          "http://standards.ieee.org/regauth/oui/tutorials/EUI64.html. "
          "\nFormatted as 16 unseparated uppercase hex characters (2 "
          "per binary byte) \n"
          "11 = T10 vendor identifier format as returned by SCSI "
          "Inquiry VPD page 83, identifier type 1. See T10 SPC-3 "
          "specification. This is the 8-byte ASCII vendor ID from the "
          "T10 registry followed by a vendor specific ASCII "
          "identifier; spaces are permitted. For non SCSI volumes, "
          "'SNVM' may be the most appropriate choice. 12 = OS Device "
          "Name (for LogicalDisks). See LogicalDisk Name description "
          "for details."), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
          "10","11", "12" }, 
       Values { "Unknown", "Other", "VPD83NAA6", "VPD83NAA5",
          "VPD83Type2", "VPD83Type1", "VPD83Type0", "SNVM", "NodeWWN",
          "NAA", "EUI64", "T10VID", "OS Device Name" }, 
       ModelCorrespondence { "CIM_StorageExtent.Name",
          "CIM_StorageExtent.NameNamespace",
          "CIM_StorageExtent.OtherNameFormat" }]
   uint16 NameFormat;

      [Description (
          "The preferred source SCSI for volume names is SCSI VPD Page "
          "83 responses. Page 83 returns a list of identifiers for "
          "various device elements. The metadata for each identifier "
          "includes an Association field, identifiers with association "
          "of 0 apply to volumes. Page 83 supports several namespaces "
          "specified in the Type field in the identifier metadata. See "
          "SCSI SPC-3 specification. \n"
          "2 = VPD Page 83, Type 3 NAA (NameFormat SHOULD be NAA) \n"
          "3 = VPD Page 83, Type 2 EUI64 (NameFormat EUI) \n"
          "4 = VPD Page 83, Type 1 T10 Vendor Identification \n"
          "(NameFormat T10) \n"
          "Less preferred volume namespaces from other interfaces: \n"
          "5 = VPD page 80, Serial number (NameFormat SHOULD be Other) "
          "\n6 = FC NodeWWN (NameFormat SHOULD be NAA or EUI) \n"
          "7 = Serial Number/Vendor/Model (NameFormat SHOULD be SNVM) "
          "\nThe preferred namespace for LogigicalDisk names is "
          "platform specific device namespace; see LogigicalDIsk "
          "Description. \n"
          "8 = OS Device Namespace."), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
       Values { "Unknown", "Other", "VPD83Type3", "VPD83Type2",
          "VPD83Type1", "VPD80", "NodeWWN", "SNVM",
          "OS Device Namespace" }, 
       MappingStrings { "SPC.INCITS-T10| VPD 83, "
          "Association 0 | Identifier" }, 
       ModelCorrespondence { "CIM_StorageExtent.Name",
          "CIM_StorageExtent.OtherNameNamespace",
          "CIM_StorageExtent.NameFormat" }]
   uint16 NameNamespace;

      [Description (
          "A string describing the namespace of the Name property when "
          "NameNamespace includes the value 1, \"Other\"."), 
       ModelCorrespondence { "CIM_StorageExtent.NameNamespace" }]
   string OtherNameNamespace;

      [Description (
          "A string describing the format of the Name property when "
          "NameFormat includes the value 1, \"Other\"."), 
       ModelCorrespondence { "CIM_StorageExtent.NameFormat" }]
   string OtherNameFormat;
};

// ===================================================================
// BasedOn
// ===================================================================
   [Association, Version ( "2.6.0" ), Description (
       "BasedOn is an association describing how StorageExtents can be "
       "assembled from lower level Extents. For example, "
       "ProtectedSpaceExtents are parts of PhysicalExtents, while "
       "VolumeSets are assembled from one or more Physical or "
       "ProtectedSpaceExtents. As another example, CacheMemory can be "
       "defined independently and realized in a PhysicalElement or can "
       "be 'based on' Volatile or NonVolatileStorageExtents.")]
class CIM_BasedOn : CIM_Dependency {

      [Override ( "Antecedent" ), Description (
          "The lower level StorageExtent.")]
   CIM_StorageExtent REF Antecedent;

      [Override ( "Dependent" ), Description (
          "The higher level StorageExtent.")]
   CIM_StorageExtent REF Dependent;

      [Description (
          "StartingAddress indicates where in lower level storage, the "
          "higher level Extent begins.")]
   uint64 StartingAddress;

      [Description (
          "EndingAddress indicates where in lower level storage, the "
          "higher level Extent ends. This property is useful when "
          "mapping non-contiguous Extents into a higher level "
          "grouping.")]
   uint64 EndingAddress;

      [Description (
          "If there is an order to the BasedOn associations that "
          "describe how a higher level StorageExtent is assembled, the "
          "OrderIndex property indicates this. When an order exists, "
          "the instances of BasedOn with the same Dependent value "
          "(i.e., the same higher level Extent) should place unique "
          "values in the OrderIndex property. The lowest value implies "
          "the first member of the collection of lower level Extents, "
          "and increasing values imply successive members of the "
          "collection. If there is no ordered relationship, a value of "
          "zero should be specified. An example of the use of this "
          "property is to define a RAID-0 striped array of 3 disks. "
          "The resultant RAID array is a StorageExtent that is "
          "dependent on (BasedOn) the StorageExtents that describe "
          "each of the 3 disks. The OrderIndex of each BasedOn "
          "association from the disk Extents to the RAID array could "
          "be specified as 1, 2 and 3 to indicate the order in which "
          "the disk Extents are used to access the RAID data.")]
   uint16 OrderIndex;
};


// ===================================================================
// end of file
// ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2