HP 3PAR CIM API Programming Reference To use this document, you must be familiar with basic object oriented development techniques and with the following: Storage Management Initiative Specification (SMI-S), Common Information Model (CIM), Hypertext Transfer Protocol (HTTP), Secure Socket Layer (SSL), CIM Operations over HTTP, and the Unified Modeling Language (UML).
© Copyright 2008, 2013 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. The information contained herein is subject to change without notice.
Contents 1 Concepts.................................................................................................10 About SMI-S..........................................................................................................................10 About the WBEM Initiative.......................................................................................................10 2 Security...................................................................................................11 TCP Ports....
Creating a Volume Through SMI-S........................................................................................31 Supported Method For Creating a Storage Volume............................................................32 Method Signature.....................................................................................................32 Creating Data and Snapshot Space from Two Storage Pools...............................................
CPVV......................................................................................................................59 UpdateDeltaSnapshotSpace() Method.........................................................................60 Indications...................................................................................................................61 Physical Copy...................................................................................................................
SCSIPrococolController.......................................................................................................90 iSCSIPrococolController......................................................................................................90 SCSIPrococolEndpoint........................................................................................................90 iSCSIPrococolEndpoint.......................................................................................................
TPD_OrderedMemberOfRemoteReplicationGroup............................................................135 TPD_ReplicationServiceAffectsRemoteReplicationGroup....................................................135 TPD_HostedRemoteReplicationGroup.............................................................................135 TPD_SAPAvailableForRemoteReplicaVolume....................................................................136 TPD_SAPAvailableForRemoteReplicationGroup....................................
UML Diagram.............................................................................................................151 Inventory Management..........................................................................................................151 Controller Node Subsystem...............................................................................................151 Controller Node Subsystem CIM Classes........................................................................
3PAR_TPDCopySvcs.mof........................................................................................................247 3PAR_TPDDisk.mof...............................................................................................................248 3PAR_TPDNode.mof.............................................................................................................255 3PAR_TPDEnv.mof.............................................................................................................
1 Concepts About SMI-S SMI-S enables management of Storage Area Networks (SANs) in a heterogeneous, multi-vendor environment. SMI-S uses an object-oriented model based on the Common Information Model (CIM) to define objects and services which comprise a SAN. By leveraging vendor and technology independent standards, SMI-S allows management application vendors to create applications that work across products from multiple vendors.
2 Security CAUTION: The CIM API is not part of the evaluated Common Criteria storage system configuration and should not be used when operating in Common Criteria mode. TCP Ports The CIM-API uses dedicated TCP ports for CIM-XML communications and server location information. Two ports are specified by the DMTF and registered with IANA for CIM-XML communications between management clients and any CIM Server.
3 Configuring and Using the CIM Server CLI Command Overview Table 3 CLI Commands Used to Manage the CIM Server Command Purpose Required Permission Level setcim Sets properties of the CIM Server. This Super command can be used to enable or disable certain services. showcim Displays status information for the CIM Any Server. startcim Enables the CIM Server. Super stopcim Disables the CIM Server.
Displaying the CIM Server Version The CIM Server version can be displayed using the showcim command as shown previously, or by using the showversion -a command. # showversion -a Release version 3.1.2 (MU2) Patches: None Component Name CLI Server CLI Client System Manager Kernel TPD Kernel Code CIM Server Version 3.1.2 (MU2) 3.1.2 (MU2) 3.1.2 (MU2) 3.1.2 (MU2) 3.1.2 (MU2) 3.1.
• The desired operation and its required parameters. For information about CIM operations, please refer to CIM Operations over HTTP. • The object or objects on which the operation is to be performed. The payload of the client request is XML. For information about XML coding for CIM, refer to Representation of CIM in XML. CIM Namespaces CIM namespaces are logical groupings of CIM classes and CIM instances that represent managed objects in a particular environment.
4 CIM API SMI-S Support The CIM API supports the Storage Management Initiative Specification. The CIM API also supports extensions to these profiles to provide features that are not available from the standard profiles. Standard Compliance The CIM Server has successfully completed testing and conforms to elements of the Storage Networking Industry Association’s Conformance Testing Program (SNIA-CTP) for the SMI specification. For detailed information, refer to: www.snia.
Supported Array Subprofiles Table 9 Supported Array Subprofiles Subprofile Version Purpose Location 1.1.0 Provides information about the physical location of a disk storage system. Multiple Computer System 1.1.0 Provides information about the multiple computer systems (controller nodes) that cooperate to present a virtual computer system (cluster). Software 1.1.0 Provides information on installed controller software. Masking and Mapping 1.1.0 Provides management of LUNs. FC Target Ports 1.1.
Supported SMI-S Levels by Release Table 11 Supported SMI-S Levels by Release InForm OS Release/ SMI-S Version Profile 2.2.0/1.0.2 2.2.1/ 1.1.0 2.2.2/ 1.1.0 2.2.3/ 1.1.0 2.3.1/1.1.0 3.1.1/ 1.4.0 3.1.2/ 1.4.
Server Profile A CIM Server is anything that supports the CIM-XML protocol and supports the basic read functional profile as defined by the CIM Operations over HTTP specification. After a CIM client has discovered a CIM server within a SAN, it then needs to determine the services provided by that server. The Server Profile defines the capabilities of the CIM Server.
UML Diagram For the Server Profile Instance Diagram, refer to the SMI-S, v1.4 at http://www.snia.org. Registered Version The RegisteredVersion property of the different RegisteredProfile/RegisteredSubprofile instances have different values; these values are the same as those published in the Registered Name and Version subclause of the profiles in SMI-S 1.4. Note that the overall version of SMI-S supported by the provider are expressed using the SMI-S RegisteredProfile.
Table 15 Property Values for the SMI-S Profile (continued) Properties Description RegisteredVersion 1.4.0 (version of the SMI-S the provider conforms to) AdvertiseTypes 2 (Not Advertised) Array Profile The Array profile models the physical and logical aspects of disk storage systems. The basic Array profile provides a high level, read-only view of a storage system.
Table 18 Block Services Package CIM Classes (continued) Class Description TPD_StorageConfigurationCapabilities Provides information about what storage configuration functionality is provided by StorageConfigurationService. TPD_StorageConfigurationService Allows clients to configure Storage Volumes. TPD_DynamicStoragePool Storage Pool representing a Common Provisioning Group (CPG).
1. StorageCapabilities of primordial pool This has an InstanceID of “HP_3PAR:StorageCapabilities:primordial”. 2. StorageCapabilities of concrete pool There are three possible concrete StoragePool, depending on the type of disks in an array (FC, NL or SSD). There can be up to three of these per array, depending on the existence of the concrete pool, with InstanceID of: 3.
3.
“HP_3PAR:StorageCapabilities: ” Capabilities according to the RAID type of the StorageSetting.The default is RAID10. 8. Persistent StorageSetting/Template. StorageSetting (templates) that are stored in Persistent Repository. The TemplateType and TemplateForVolumeType properties of the StorageSetting restrict what kind of element creation this setting can be applied to.
Table 23 Relevant Properties of StorageSetting (continued) Properties Description Uint64 Warning alert is issued if snap space of a CPG exceeds DSPSnapSpaceGrowWarning. 0 means no warning limit is enforced. This value is in bytes. Applies to DynamicStoragePool only. DSPSnapSpaceGrowWarning Uint16 Describes how the elements are used. For example, if a new TP StorageVolume is used for snap shot, this value is 7. The default value is 0 (“not specialized”).
Table 24 Matrix of Populated Properties for Different Types of StorageSetting (continued) Properties Default Values for Each StorageSetting Type SpaceLimitWarningThreshold NULL 0 NULL NULL 0 0 UserSpaceLimit NULL NULL NULL NULL NULL NULL UserSpaceLimitWarningThreshold NULL NULL NULL NULL NULL NULL UserSpaceAllocationWarning NULL NULL NULL NULL NULL NULL SnapSpaceAllocationWarning NULL NULL NULL NULL NULL NULL LowSpaceWarningThreshold NULL 0 NULL NULL NULL NULL DSPSnapS
2. Invoking the StorageConfigurationService’s CreateOrModifyStoragePool method: a client passes in the StorageSetting obtained in step 1 and other relevant input parameters to create a DynamicStoragePool. • The input StorageSetting can be deleted by StorageSetting.DeleteInstance, or it can be made persistent via ModifyInstance of the StorageSetting.ChangeableType property to “Persistent” and StorageSetting.TemplateType property to “DynamicStoragePool”.
Table 25 DynamicStoragePool Possible Return Values ValueMap Values Explanation/Notes 0 Job Completed with No Error 1 Not supported 2 Unknown 3 Timeout 4 Failed 5 Invalid parameter 6 In Use 4097 Size Not Supported Relevant Properties of DynamicStoragePool Table 26 Relevant Properties of DynamicStoragePool Properties Description string A unique ID within the storage array. The user’s defined name is used as an identifier.
Table 26 Relevant Properties of DynamicStoragePool (continued) Properties Description (bytes) account) allocated from this pool. For example, a RAID-1 CPG with 50 GB being allocated to TPVVs. The CurrentSpaceConsumed is 50 GB. Uint64 This is the nominal number of bytes allocated on disk for Snapshot data (SD) of this pool, not including RAID overhead.
Table 27 Summary of Modifiable StorageSetting Properties for DSP (continued) StorageSetting Property CLI Equivalence Comment bytes), and for the HP 3PAR Storage System, we set the absolute limit, not in percentage, hence the need for proprietary property DSPSnapSpaceGrowWarning. If DSPSnapSpaceGrowWarning is NULL and BOTH SpaceLimitWarningThreshold and SpaceLimit are specified, the numbers are converted to bytes for internal usage.
Table 28 Instances for StoragePoolConfigurationCapabilities Storage PoolConfigurationCapabilities PrimordialPool SupportedSynchronousActions Storage Pool Creation (2) ConcretePool DynamicStoragePool DeltaReplicaStoragePool Storage Pool Creation (2) Storage Pool Modification (4), Storage Pool Deletion (3) Storage Pool Deletion (3), Storage Element Creation (5), Storage Element Modification (7) SupportedStoragePoolFeatures InExtents (2), InExtents (2), Single InPool (3) Single InPool (3) Storage Poo
Supported Method For Creating a Storage Volume Table 29 Method for TPD_StorageConfigurationService Method Description CreateOrModifyElementFromStoragePool() Allows clients to create a StorageVolume.
• InPool: This option contains the reference to the source StoragePool. ◦ • This can either be a reference to Concrete pool or DynamicStoragePool. If this contains a reference to Concrete pool, then only a fully provisioned volume can be created and the ElementType has to be set to StorageVolume(2).
[Out] [In] [In] [In, [In, CIM_ConcreteJob ref Job, CIM_StorageSetting ref Goal, CIM_StoragePool ref InPools[], Out] Uint64 Size, Out] CIM_LogicalElement ref TheElement); • ElementName: The name of the TP StorageVolume (TPVV) or StorageVolume (FPVV) to be created. • ElementType: This enumeration specifies what type of object to create. StorageVolume(2) and ThinlyProvisionedStorageVolume(5) are supported. If other values are passed in, the provider should throw an “operation not supported” exception.
CreateSetting Table 33 Method for TPD_StorageCapabilities.CreateSetting Method Description CreateSetting() Allows clients to create a new StorageSetting instance based on existing instances. This method returns a new instance to the client with default property values. There are four instances of StorageCapabilities (one for each RAID type). The type of StorageSetting the client wants to create is determined by the referenced StorageCapabilities.
Creating a Volume with a Non-Default Setting The following are the steps necessary for an SMI-S client to create a volume with non-default settings: 1. Invoke the CreateSetting method to get at a reference to the TPD_StorageSetting. The SMI-S provider creates, if one does not exist, an instance of the default or goal TPD_StorageSetting, depending on the value in the SettingType option. If one already exists, the provider simply returns a reference to that instance.
4. You can optionally call DeleteInstance on the TPD_StorageSetting instance from step 1 or 2 to delete it. Table 35 Parameters for the CreateOrModifyElementFromStoragePool Method Operations/Parameters Create Volume Grow/Set Volume ElementName Name of Volume New name of volume; NULL means no change in volume name. ElementType 2 (Storage Volume) 2 5 (Thinly Provisioned Storage Volume) 5 (Thinly Provisioned Storage Volume).
Table 36 Disk Pattern CIM Properties (continued) Disk Pattern CIM Property Name (from TPD_StorageSetting class) CIM Property Type CLI Equivalent Format DiskFreeChunkletLT Signed Integer array -fc_lt an integer DiskPackageModels String array -devid ,,.. DiskRPM Signed Integer array -rpm an integer Where an item is: – nb is an integer. - ,
- – an item is a list of items.
Table 37 Volumes Created Based on Parameters to CreateOrModifyElementFromStoragePool() (continued) Type of Volume Created CreateOrModifyElementFromStoragePool TPD_CreateOrModifyElementFromStoragePools correspond to allocation limit and warning respectively of the snap space. Legacy TPVV, where user and snap space both draw from the same DSP. Not supported. Not supported. Fully provisioned volume, where user space draws from DSP. 1. ElementType = NULL or 1. ElementType = NULL or StorageVolume (2).
Table 38 Summary of Modifiable StorageSetting Properties for StorageVolume StorageSetting Property CLI Equivalence Comment Policy -pol GeometrySectorsPerTrack -spt GeometryHeadsPerCylinder -hpc ThinlyProvisioned -tpvv SpaceLimit -snp_al “-snp_al” uses percentage, but SpaceLimit is in number of bytes. SpaceLimitWarningThreshold -snp_aw snap space limit warning in percentage of SpaceLimit.
size is also represented in TPD_AllocatedFromStoragePool.SpaceConsumed between the parent concrete pool and the storage volume, dynamic storage pool, or delta replica storage pool. TotalManagedSpace for a concrete storage pool is equal to RemainingManagedSpace for the concrete storage pool value plus TPD_AllocatedFromStoragePool.SpaceConsumed option from all the storage volumes, dynamic storage pool, or delta replica storage pool allocated from the pool. StoragePool.
Initial State Example Suppose an array consisting of all Fibre Channel disks has a total disk capacity of 1090060445184 bytes (~1039563 MB) of which 923699114496 bytes (~880908 MB) worth of disks have been admitted. The rest of the disks, totaling 166361330688 bytes, have not been admitted and are therefore in a new state. The admitted disks are used to create a concrete pool (all-FC) consisting of all FC disks. Pimordial TPD_StoragePool.
• TPD_AllocatedFromStoragePool.SpaceConsumed between concrete “all-FC” pool and volume = TPD_StorageVolume.NumberOfRawBlocks * BlockSize = 21474836480 (raw space consumed from concrete pool in the creation of the volume). • Concrete TPD_StoragePool.RemainingManagedSpace = previous RemaningManagedSpace value – volume raw size = 813896302592 – 21474836480 = 792421466112. The TotalManagedSpace for the concrete pool remains unchanged.
DynamicStoragePool is the same as the logical size of the volume; RAID overhead is accounted for in the DynamicStoragePool itself and does not carry over to the child volume. • BlockSize = 512 • TPD_StorageVolume.NumberOfBlocks = TPD_StorageVolume.ConsumableBlocks = (10240 * 1024 * 1024) / BlockSize = 20971520 (logical block size of the volume) • TPD_StorageVolume.NumberOfRawBlocks = (20480 * 1024 * 1024) / BlockSize = 41943040 (raw block size of the volume) • TPD_AllocatedFromStoragePool.
to the volume, i.e., AllocatedFromStoragePool.SpaceConsumed is equal to StorageVolume.ProvisionedConsumableBlocks. • BlockSize = 512 • TPD_StorageVolume.NumberOfBlocks = TPD_StorageVolume.ConsumableBlocks = (10240 * 1024 * 1024) / BlockSize = 20971520 (logical block size of the volume) • TPD_StorageVolume.ProvisionedConsumableBlocks = actual allocated usable capacity to the volume in blocks = 4G / BlockSize = 8388608 • TPD_StorageVolume.
Table 39 Properties Relevant to TPVV (continued) Properties Description String The DynamicStoragePool (DSP) the snapshot data (SD) are provisioned from. SnapDSPName String The DynamicStoragePool (DSP) the user space is provisioned from. UserDSPName Indications Thin Provisioning Indications Following alert indications relating to thin provisioning are supported: 1. Capacity Warning - This is an alert message indicating that the actual capacity of a volume or pool is nearing a limit (e.g.
a. b. TPD_StoragePoolGrowLimitAlert - Indication specifying that a storage pool has reached its allocation limit. • OwningEntity: "SNIA" • MessageID: "DRM29" • MessageArguments: "Pool", • AlertType: DeviceAlert(5) • PerceivedSeverity: Major(5) • ProbableCause: Out of Memory(33) • ProbableCauseDescription: "No remaining space in storage pool" TPD_StoragePoolGrowFailureAlert - Indication specifying that a storage pool has failed to grow. • c.
Lifecycle Indications Following lifecycle indications relating to Block Services are supported: 1. TPD_StorageVolumeInstCreation – when a StorageVolume is created 2. TPD_StorageVolumeInstDeletion – when a StorageVolume is deleted 3. TPD_StorageVolumeInstModification – when the value of one of the following properties changes: a. NumberOfBlocks b. OperationalStatus c. ElementName 4. 5. 6.
Figure 2 Virtual Copy Class Diagram for a Legacy Volume Figure 3 Physical Copy Class Diagram for a Legacy Volume Copy Services Subprofile 49
Figure 4 Job Control Class Diagram TPD_AffectedJobElement Association between TPD_ConcreteJob and the replica TPD_StorageVolume. Refer to Section (page 50) for more details. TPD_AllocatedFromStoragePool Virtual copy snapshot volume is associated to the TPD_DeltaReplicaStoragePool via TPD_AllocatedFromStoragePool. SpaceConsumed property in this case is the space consumed by the snapshots.
TPD_DeltaReplicaStoragePool This StoragePool class is instantiated upon allocation of SA and SD space of a volume. The SA and SD spaces are modeled as TPD_DeltaReplicaStoragePool from which virtual copy snapshots (delta replica) can be allocated and created. This class is a subclass of CIM_StoragePool. CIM_StoragePool.GetSupportedSizeRange() method, which is supported in TPD_StoragePool, is not supported for TPD_DeltaReplicaStoragePool.
a. b. c. d. UnSyncAssoc, which corresponds to virtual copy UnSyncUnAssoc, which corresponds to creating an physical copy Async, which corresponds to async remote mirror Sync, which corresponds to sync remote mirror 4. SupportedStorageElementUsage[] - indicates the intended usage or any restrictions that may have been imposed on the usage of StorageVolumes. This array contains the following values: a. Unrestricted, which applies to base volume b.
2. SupportedAsynchronousActions[] - Enumeration indicating what operations are executed as asynchronous jobs, supported values are: a. Local Replica Attachment – physical copy creation is asynchronous (Attachment means attaching a replica to an existing volume). b. Local Replica Modification – resync physical copy is also asynchronous. 3. SupportedSynchronousActions[] - Enumeration indicating what operations are executed the without creation of a job, supported values are: • 4.
10. MaximumReplicasPerSource – Maximum number of replicas that can be associated with one source element. If the replica is physical copy, then the max number of replica per source volume is the max number of volume allowed for a storage system minus 1. If the replica is a virtual copy, then the max number of replica per source volume is the maximum read-write snapshot per source volume. RO snapshots are not counted. 11.
14. DeltaReplicaPoolAccess - Indicates that a specialized pool is required as a container for delta replica elements. In our case, delta replica (virtual copy snapshots) always requires a specialized pool, the TPD_DeltaReplicaStoragePool, which corresponds to the SA/SD space of the base volume. Possible values are: a. Any – specialized pool not required for delta replicas. This is not the case for our snapshots. b. Shared – a single shared pool is required for all delta replicas.
1. 2. PersistentReplica – True indicates the associated replicas persist during power off or system reset. Only TRUE is accepted since we do not support transient replicas. Applicable only for those settings that are associated to replica volumes. IntendedUsage – Describes the use of the storage elements associated with this StorageSetting. This can only be set to “Not Specialized” (0) since we do not support specifying a StorageSetting as a goal when creating physical or virtual copy.
7. ProgressStatus - Status of association between source and target groups.
non-legacy volume, within the input parameter Goal (a TPD_StorageSetting object) during create or modify volume operation, a TPD_DeltaReplicaStoragePool will be instantiated automatically. CreateOrModifyStoragePool DeltaReplicaStoragePool can also be created by CreateOrModifyStoragePool method (see Section (page 31) for the method signature).
For CPVV, the TPD_AllocatedFromStoragePool association links the TPD_DeltaReplicaStoragePool with the source DSP. For ThinStorageVolume (TPVV), the TPD_AllocatedFromStoragePool association links the TPD_DeltaReplicaStoragePool with the source SD DynamicStoragePool (as opposed to the user DynamicStoragePool). Capacity Calculations Non-CPVV TotalManagedSpace of the TPD_DeltaReplicaStoragePool equals to the raw SD space.
SpaceLimit and SpaceLimitThresholdWarning for the TPD_AllocatedFromStoragePool association between the snapshot volume and the parent TPD_DeltaReplicaStoragePool are not used, and hence is not populated, since the InformOS does not support specification of allocation limit on a per snapshot volume basis. Calculation for TotalManagedSpace of the TPD_DeltaReplicaStoragePool of a CPVV is the similar to that for a non-CPVV, except that the parent pool is now a DSP and not a concrete pool.
Table 44 Return Values for UpdateDeltaSnapshotSpace() ValueMap Values Explanation/Notes 4 Failed 0x1000 Method parameters checked – job started 32768 Volume does not exist No such snapshot volume, or the specified volume is not a virtual copy snapshot. Indications Job control indications are supported for the job started with the UpdateDeltaSnapshotSpace() method. These indications are converted from events generated by the task framework. 1.
StorageReplicationCapabilities The ability to create a physical copy is described by the following instance of TPD_StorageReplicationCapabilities (see Section (page 52)): • UnSyncUnAssoc - describes the capability of our provider to create an independent clone of a volume CREATION CLI EQUIVALENCE createvvcopy –p createvvcopy –p -s SMI-S METHOD A physical copy can be created by a CIM client using the TPD_StorageConfigurationService.AttachOrModifyReplica() method.
[In, REQ] CIM_ManagedElement ref SourceElement, [In, REQ] CIM_ManagedElement ref TargetElement, [In, REQ, Values {"Async", "Sync", "UnSyncAssoc", "UnSyncUnAssoc"}, ValueMap {"2", "3", "4", "5"}] Uint16 CopyType); Table 46 Return values for AttachOrModifyReplica()/AttachReplica() ValueMap Values Explanation/Notes 0 Success 4 Failed For example: the source volume does not have snapspace, target volume is incompatible. 5 Invalid Parameter For example: the wrong CopyType is specified.
SMI-S METHOD A physical copy can be resynchronized with the source volume by a CIM client using the TPD_StorageConfigurationService.ModifySynchronization() method with the Operation parameter set to Resync(4). A target volume that is in a Broken state (copy failed) cannot be resync-ed.
Table 48 Return Values for the Various ModifySynchronization() Operations ValueMap Values Explanation/Notes 0 Job Completed with No Error Applicable only for Detach (promote). 4 Failed For example: the TPD_StorageSynchronized object does not exist. 5 Invalid Parameter For example: the wrong CopyType is specified. 0x1000 Method parameters checked – job started Does not apply to Detach. The method execution, if successful, always returns 0x1000, which means that job has started.
CLI EQUIVALENCE createvvcopy –p -s SMI-S METHOD Copy can be done on an existing physical copy using the TPD_StorageConfigurationService.ModifySynchronization() method with the Operation parameter set to Start Copy (12). The method execution, if successful, always returns 0x1000, which means that job has started. See “StorageReplicationCapabilities” (page 62) for possible return values.
Figure 5 State Transition Diagram of Physical Copy Job Control Subprofile Indications The following job control subprofile indications are supported for the job that is started as a result of the copy operation: • Modification of Job Status for a Concrete Job - copy/resync started. • Modification of Operational Status for a Concrete Job to Complete and OK – copy/resync successful. • Modification of Operational Status for a Concrete Job to Complete and Error – copy/resync failed.
Table 53 StorageSynchronized Property Values for a Virtual Copy (continued) Property Value Synchronization is not maintained between replica and source volume. WhenSynced NULL to start with; non-NULL upon successful completion of a copy. The point in time that the Elements were synchronized.
Table 54 Return values for CreateReplica() Operation ValueMap Values 0 Job Completed with No Error 4 Failed 5 Invalid Parameter Explanation/Notes For example: the wrong CopyType is specified STATE TRANSITIONS Table 55 (page 69) shows the values for SyncState and WhenSynced during various stages of the virtual copy creation.
Here are the values for SyncState and WhenSynced during various stages of halting virtual copy promote. Table 57 State Transitions for Halting Virtual Copy Promote Operation SyncState WhenSynced Promote in progress RestoreInProgress (10) Previous sync time Halt complete Broken (12) Previous sync time Promote Failed Idle (11) New sync time Promote Failed (This indicates that the halt has failed and the promote was allowed to finish).
• Promote virtual copy • Update snapshot space TPD_ConcreteJob This is a new class, and each instance of this class represents a task. RequestStateChange() Method This method can be used to cancel a task. The input parameter RequestedState can only be set to Terminate(4), since the InformOS task framework only supports task canceling.
EmbeddedInstance ("CIM_Error"}] String Error); • Error: If the OperationalStatus on the Job is not “OK”, then this method returns a CIM Error instance. Otherwise, when the Job is "OK", null is returned. Table 59 Return Values for GetError()Operation ValueMap Values 0 Success 5 Invalid Parameter Explanation/Notes Mapping Error Code to CIM_Error A CIM_Error object consists of the following properties: • OwningEntity – the string “SNIA” • MessageID –DRM26, Resource not available.
job, then this contains a CIM_InstMethodCall instance representing AttachOrModifyReplica. CIM_InstMethodCall contains the following values: ◦ • ◦ MethodName – string of the methodName, e.g., AttachOrModifyReplica. ◦ MethodParameters - parameters of the method, formatted as an EmbeddedObject (with a predefined class name of “__MethodParameters"). This only contains the input parameters; output parameter (Job) is not included.
For detailed information regarding the Location subprofile, refer to SMI-S at http:// www.snia.org. Location Subprofile CIM Classes Table 60 Location Subprofile CIM Classes Class Description TPD_SystemPackage The Physical Element whose Location is specified. This represents the physical aspects of the HP 3PAR Storage System storage array. TPD_SystemLocation The Location of the specified Physical Element.
For detailed information regarding the Software subprofile, refer to SMI-S at http:// www.snia.org. Software Subprofile CIM Classes Table 63 Software Subprofile CIM Classes Class Description TPD_StorageSystem The storage array on which the software is installed. TPD_SoftwareIdentity Information on installed software on the specified TPD_ComputerSystem.
Supported Methods Table 66 (page 76) - Table 68 (page 76) shows the supported methods of the masking and mapping subprofile: Table 66 Methods for TPD_StorageSystem Method Description modifyInstance() Provides the ability to set owner and contact information for the StorageSystem. Table 67 Methods for TPD_StorageHardwareIDManagementService Method Description CreateStorageHardwareID() Expose SCSI Logical units. DeleteStorageHardwareID() Hide a list of SCSI logical units.
Three kinds of SPCs are supported in the HP 3PAR Storage System environment: • Matched-Set SPC, its deviceID format is MS::, where is the notation of the target port and is the system assigned ID of the host where initiator port(s) reside. For this kind of view, a volume is exposed to the specified host only through the specified target port. The host can contain multiple initiator ports, hence this kind of view can have associations to more than one StorageHardwareIDs.
StorageHardwareIDs. This view can also have associations to multiple StorageVolumes, but only one association to the target port.
Figure 8 Masking and Mapping Example 2 (one storage system port connecting to fabric) Figure 9 Masking and Mapping Example 3 (two storage system ports connecting to fabric). ProtocolControllerMaskingCapabilities This class describes the capabilities of the SPC in a storage system, which describes the kind of controller configuration and StorageHardwareID management services that are available to clients.
• PrivilegeDeniedSupported: false. • ProtocolControllerRequiresAuthorizedIdentity: false; CreateProtocolControllerWithPorts method is not supported. • ProtocolControllerSupportsCollections: true; a collection of StorageHardwareIDs (host HBA WWNs/iSCSNames) is supported. • ExposePathsSupported: true; the storage system supports the ExposePaths method. • CreateProtocolControllerSupported: false; explicit creation of SPC is not supported.
ExposePaths (Creating VLUNs) ControllerConfigurationService.ExposePaths() performs VLUN export in one method call. It exposes a list of volumes to a list of host port (HBAs - initiators) via a list of system ports (targets). This method can be used either to create an SCSIProtocolController (SPC) and modify an existing SPC. If the ProtocolController parameter is null, the provider is supposed to create a new SPC. This operation can be used to create matches-set, host-see or port-present VLUNs.
• Override: Override existing lower priority VLUNs, if necessary. Can be used only when exporting to a specific host. This parameter is a vendor-specific extension. The default value is false. • NoVCN: Do not issue a VLUN (Virtual Logical Unit Number) Change Notification (VCN) after export. For direct connect or loop configuration, a VCN consists of a fibre channel Loop Initialization Primitive (LIP).
The method signature is described below: uint32 HidePaths ( [Out] CIM_ConcreteJob ref Job, [In] String LUNames[], [In] String InitiatorPortIDs[], [In] String TargetPortIDs[], [In] String DeviceNumbers[], [In/Out] CIM_SCSIProtocolController ref ProtocolController[], [In] boolean NoVCN, [Out] String ResultDescriptions[]); • Job: This is ignored since the storage system does not support job control. • LUNames[]: An array of IDs of logical unit instances. The LU instances must already exist.
ExposeDefaultLUs Use of ExposeDefaultLUs has been deprecated. Please use ExposePaths instead to create a port-present SPC. HideDefaultLUs Use of HideDefaultLUs has been deprecated. Please use HidePaths instead. ExposeLUsToStorageHardwareIDCollection (Creating Host-Sees VLUNs) (3PAR proprietary method) ControllerConfigurationService.
on input, this can either be reference to TPD_SCSIController for FC host or TPD_iSCSIController for iSCSI host • Override: Override existing lower priority VLUNs, if necessary. Can be used only when exporting to a specific host. This parameter is a vendor-specific extension for 3PAR. The default value is false. • NoVCN: Do not issue a VLUN (Virtual Logical Unit Number) Change Notification (VCN) after export.
• ProtocolControllers[]:An array of references to SCSIProtocolControllers (SPCs). On input, this must contain exactly one SPC. On output, this is the set of SPCs affected. If SPC is included on input, this can either be reference to TPD_SCSIController for a FC host or TPD_iSCSIController for an iSCSI host. • NoVCN: Do not issue a VLUN (Virtual Logical Unit Number) Change Notification (VCN) after removal.
CreateStorageHardwareID (Creating Host and Path) This method creates a StorageHardwareID (host HBA WWN/iscsiBane) on a host, it creates the association TPD_MgmtServicesForStorageHWIDCollection between TPD_StorageHardwareIDManagementService and the new TPD_StorageHardwareID. This operation is similar to “createhost ” or “createhost –iscsi ”.
• HardwareID: Reference to the new StorageHardwareID instance to delete. This is mandatory. CreateStorageHardwareIDCollection (Creating a Host) This method creates a StorageHardwareIDCollection (host) and optionally a list of WWNs/iscsiNames to assign to it. This is useful to define a set of authorized subjects that can access volumes. This method causes the creation of the HostedCollection association and MemberOfCollection association to the members of the IDs parameter.
SetISCSICHAP This method sets the initiator or the target host CHAP secrets or both. This operation is similar to “sethost initchap ” or “sethost targetchap ”. The host as specified in must have existed.
ConcreteDependency There are three ConcreteDependency classes in MM subprofile: • TPD_ConfigServicesForSCSIController: association between CCS with TPD_SCSIProtocolController. • TPD_ConfigServicesForiSCSIController: association between CCS with TPD_iSCSIProtocolController. • TPD_MgmtServicesForStorageHWIDCollection: association between StorageHardwareID and StorageHardwareIDManagementService. SAPAvailableForElement This class replaces PrococolControllerForPort in SMI-S 1.0.2.
Table 75 Properties for (continued) Properties Values Uint16 ConnectionType 2 (Fibre Channel) Uint16 Role 2 (target port) iSCSIPrococolEndpoint iSCSIPrococolEndpoint (subclass of LogicalPort) models SCSI aspects of an iSCSI port. Unlike TPD_SCSIPrococolEndpoint, however, this class is not associated to any CIM_LogicalPort class since one does not exist for iSCSI port. One instance of this class must be created for each target port (connecting to host or fabric).
Figure 10 Relationships between StorageHardwareID, SCSIProtocolEndpoint and StorageVolume iSCSIControllerForUnit Similar to TPD_SCSIControllerForUnit, except that TPD_iSCSIControllerForUnit associates TPD_iSCSIController for an iSCSI host with StorageVolumes. StorageClientSettingData An array has several fixed instances of this class, each corresponding to a host persona.
PrivilegeForStorageHardwareID PrivilegeForStorageHardwareID is subclassed from AuthorizedSubject and is an association between StorageHardwareID and the access permission (AuthorizedPrivilege) of the SPC that is exported to it.
For detailed information regarding the FC Target Ports subprofile, refer to SMI-S at http:// www.snia.org. FC Target Ports Subprofile CIM Classes Table 79 FC Target Ports Subprofile CIM Classes Class Description TPD_StorageSystem The storage array on which the target ports reside. TPD_SCSIProtocolFCEndpoint A SCSI transport endpoint. In this context, this represents a target port on the HP 3PAR Storage System. TPD_FCPort A Fibre Channel Port residing on the TPD_ComputerSystem.
FC Initiator Ports Subprofile CIM Classes Table 82 FC Initiator Ports Subprofile CIM Classes Class Description TPD_StorageSystem The storage array on which the initiator ports reside. TPD_SCSIProtocolFCEndpoint A SCSI transport endpoint. In this context, this represents an initiator port on the HP 3PAR Storage System. TPD_FCPort A Fibre Channel Port residing on the TPD_StorageSystem.
Table 84 iSCSI Target Ports Subprofile Key CIM Classes (continued) Class Description TPD_iSCSIConnection Provides information about the negotiated values for an iSCSI connection. TPD_iSCSINode The iSCSI Node represents a single iSCSI Target. Each iSCSI port has one instance of TPD_iSCSINode that can also be used for Masking and Mapping purpose.
Supported Methods Table 87 (page 97) lists the supported method of the Disk Drive Lite subprofile: Table 87 Methods for TPD_StorageSystem Method Description modifyInstance() Provides the ability to set owner and contact information for the StorageSystem. Block Server Performance Subprofile The Block Server Performance Subprofile defines classes and methods for managing performance information (statistics) in block servers.
Property Type Description average response time. ClockTickInterval value can be obtained from TPD_BlockStatisticsCapabilities. It is set to 1 microsecond. ReadIOTimeCounter Unit64 The cumulative elapsed time for all Read I/Os for all cumulative Reads. WriteIOTimeCounter Unit64 The cumulative elapsed time for all Write I/Os for all cumulative Writes.
Property Type Description WriteNCachePages Unit32 Number of dirty pages that have been modified more than 1 time. WriteScheduledCachePages Unit32 Number of pages scheduled to be written to disk. WritingCachePages Unit32 Number of pages being currently written by the flusher to disk. PendingDelayedCopyOnWriteCachePages Unit32 Number of pages waiting for delayed copy on write resolution.
TPD_VolumeStatisticalData Property Type Description StatisticTime DateTime Time the statistics is collected StartStatisticsTime DateTime The time, relative to the volume where the statistic was collected, when the first measurement was taken. If the statistic is reset, the StartStatisticTime is the time when the reset was performed ElementType Unit16 Volume (8) Defines the role that the element played for which this statistics record was collected. TotalIOs Unit64 The cumulative count of I/Os.
Property Type Description KBytesWritten Unit64 The cumulative count of data read in Kbytes (1024bytes = 1KByte). KBytesRead Unit64 The cumulative count of data transferred in Kbytes (1024bytes = 1KByte). IOTimeCounter Unit64 The cumulative elapsed I/O time (number of Clock Tick Intervals) for all I/Os as defined in 'Total I/Os'. This value can be divided by number of IOs to obtain an average response time. ClockTickInterval value can be obtained from TPD_BlockStatisticsCapabilities.
TPD_LUNStatisticalData Property Type Description StatisticTime DateTime Time the statistics is collected ElementType Unit16 Front-End Ports (6) or Back-End Ports (7) Defines the role that the element played for which this statistics record was collected. TotalIOs Unit64 The cumulative count of I/Os. ReadIOs Unit64 The cumulative count of all reads. WriteIOs Unit64 The cumulative count of all writes.
2. SyncType - describes the replication policy supported by this profile. There are three defined types: a. Clone - Creates a point-in-time, independent, copy of the source element. b. Mirror - Creates and maintains a synchronized mirror copy of the source. Writes done to the source element are reflected to the target element. The target element remains dependent on the source element. c. Snapshot - Creates a point-in-time, virtual image of the source element.
Replication Group Key features: • A group can be the source and/or the target of a copy operation, i.e., volume set • Elements of a group may be optionally declared copy relations Consistent • A group may contain zero elements (an empty group) Volume set is represented by the TPD_ReplicationGroup class, derived from CIM_ReplicationGroup class. This profile enables management of replication group itself (create, delete, add member, remove member) as well as copying of the group.
Table 92 Relevant Properties of RemoteReplicationGroup Properties Value Description InstanceID HP_3PAR: ElementName Name of the rcopy group Persistent True DeleteOnEmptyElement False A remote copy group can be empty. DeleteOnUnassociated False Remote copy group can exist without synchronization.
• DeleteOnEmptyElement: If true and empty groups are allowed, the group will be deleted when the last element is removed from the group. This can only be false, as deletion of empty vv set can only be done manually, so the method will return an error if this is set to true. • DeleteOnUnassociated: If true, the group will be deleted when the group is no longer associated with another group.
RemoveMembers uint32 ReplicationService.RemoveMembers( [IN] CIM_LogicalElement REF Members[], [IN] boolean DeleteOnEmptyElement, [IN, Required] SNIA_ReplicationGroup REF ReplicationGroup, [IN] CIM_ServiceAccessPoint REF ServiceAccessPoint ); Use this method to remove members from an existing replication group. Parameters are: • Members[]: An array of strings containing object references to the elements to remove from the replication group.
• TargetElement: ◦ As an input, refers to a target element to use for a physical copy. This is NULL when creating a snapshot. If this is NULL when creating a clone, the target clone will be created automatically. ◦ As an output, refers to the created target storage element (i.e., the replica). If a job is created, the target element may not be available immediately.
Table 93 Parameter Matrix for CreateElementReplica (continued) WaitForCopyState: Optional (only valid option is Synchronized) – independent clone will be created that detaches automatically Optional (onlyvalid option is Inactive) – the clone will retain association with the parent If non-NULL, then only 'Synchronized' is supported Output Job? Y N Y CreateGroupReplica uint32 ReplicationService.
• Consistency: This parameter overrides the default group consistency. For example, "No Consistency", "Sequential Consistency". For us this can only be "Sequential Consistency". • ReplicationSettingData: NULL • Job: For physical copy of vv sets, InFormOS actually spawns one task for each of the vv pair in the set and not one task for the whole set. However, this job parameter can only contain reference to one job, so as a compromise, only the job of the first vv pair copy will be returned.
Parameters are: • Jobs: a list of jobs as a result of physical copy of vv set • Synchronizations: a list of StorageSynchronized between each of the members of the source and target vv set TPD_CreateConsistentReplicaList uint32 ReplicationService.
Table 95 Parameter Matrix for CreateConsistentReplicaList (continued) Output Job? Y Y N WaitForCopyState Optional (only valid option is Inactive) – the clones will retain association with the parent Optional (only valid option is Synchronized) – independent clones will be created that detach automatically If non-NULL, then only Synchronized is supported ModifyReplicaSynchronization uint32 ReplicationService.
Table 96 Parameter Matrix for ModifyReplicaSynchronization Operation ReplicationService Method Resync physical copy ModifyReplicaSynchrnonization • Operation = Resync Replica (14) Promote physical copy ModifyReplicaSynchrnonization • Operation = Dissolve (9) Halt physical copy ModifyReplicaSynchrnonization • Operation = Abort (2) Promote sv ModifyReplicaSynchrnonization • Operation = Restore from Replica (15) Delete the copy ModifyReplicaSynchrnonization • Operation = Return to Resource Pool (19)
• Operation: This parameter describes the type of modification to be made to the replica and/or to the related associations. • TargetGroup: Reference to the replication group (vvset) • Jobs: Array of references to ConcreteJob associated with each of the volume in ReplicaGroup. This is a 3PAR-specific method used for resync and promotes of physical copy vvset or promote of snapshot vvset. GetAvailableTargetElements uint32 ReplicationService.
• Mode: If this parameter is not supplied, all Modes are retrieved. • Locality: Describes the desired locality. If this parameter is not supplied, all replication relationships are retrieved, regardless of the locality of elements. Choices are: Local only -Source and target elements are contained in the same system; and Remote only -- Source and target elements are contained in two different systems. • CopyState: Only retrieve synchronization relationships that currently has this CopyState.
Operation CLI Command Which Method to Use (in ReplicationService class, unless specified otherwise) Resync physical copy vv createvvcopy -r ModifyReplicaSynchronization Resync physical copy vvset createvvcopy -r set: TPD_ModifyGroupReplicaSynchronization Halt physical copy of vv createvvcopy -halt ModifyReplicaSynchronization Halt physical copy of vvset createvvcopy -halt set: TPD_ModifyGroupReplicaSynchronization Output Job(s)? Y • Operation = Resync Replica (14
TPD_ReplicationServiceCapabilities This class defines all of the capability properties for the replication services. Table 97 Relevant Properties of ReplicationServiceCapabilities Properties Value Description SupportedReplicationTypes Synchronous Mirror Remote (4), Enumeration indicating the supported SyncType/Mode/ Local-or-Remote combinations.
[IN] [OUT] uint16 LocalOrRemote, uint16 SupportedReplicationTypes); The majority of the methods in this class acceptReplicationType which represents a combination of SyncType, Mode, and Local/Remote. This method accepts the supplied information and returns the corresponding ReplicationType, which can be passed to other methods to get the additional capabilities.
Table 100 SupportedFeatures for ReplicationType (continued) ReplicationType Description Synchronous Clone Local (10) "Replication Groups (2)” Description Targets allocated from Any storage pool (8) Synchronized clone target detaches automatically (18) Asynchronous Clone Local (11) The clone target element detaches automatically when the target element becomes synchronized; otherwise, the client needs to explicitly request a detach operation.
Table 101 SupportedGroupFeatures for ReplicationType (continued) ReplicationType Synchronous Clone Local (10) Features Description Group is nameable (14) A user friendly name can be given to a replication group (ElementName).
Table 102 SupportedCopyStates for ReplicationType ReplicationType CopyStates HostAccessible Description Synchronous Snapshot Local (6) Synchronized True The copy operation is complete. The target element is an exact replica of the source element. Unsynchronized True Not all the source element data has been copied to the target element. Broken False Replica is not a valid view of the source element. OperationalStatus of replica may indicate an Error condition.
Table 103 SupportedGroupCopyStates for ReplicationType (continued) ReplicationType CopyStates FailedOver (10) Skewed (13) Skewed (14) GetSupportedWaitForCopyStates uint32 ReplicationServiceCapabilities.GetSupportedWaitForCopyStates( [IN] uint16 ReplicationType, [IN] uint16 MethodName, [OUT] uint16 SupportedCopyStates[] ); This method, for a given ReplicationType and method, returns the supported CopyStates that can be specified in the method's WaitForCopyState parameter.
Table 105 Possible SupportedOperations for Various ReplicationType ReplicationType Supported Operations Synchronous Clone Local (10) Abort (2) Asynchronous Clone Local (11) Abort (2) Detach (8) Dissolve (9) Resync (14) Synchronous Snapshot Local (6) Detach (8) Dissolve (9) Restore Replica (15) Return to Resource Pool (19) This method will return Not Supported (2) error code for any other ReplicationType. GetSupportedGroupOperations uint32 ReplicationServiceCapabilities.
GetSupportedThinProvisioningFeatures uint32 ReplicationServiceCapabilities.GetSupportedThinProvisioningFeatures( [IN] uint16 ReplicationType, [OUT] uint16 SupportedThinProvisioningFeatures[] ); For a given ReplicationType this method returns the supported features related to thin provisioning. Possible SupportedThinProvisioningFeatures are: 1. Thin provisioning is not supported: Feature is unavailable. 2.
Table 106 MaxValue for Various ReplicationType/Component (continued) ReplicationType Component Asynchronous Mirror Remote (5) Synchronous Mirror Remote (4) Synchronous Clone Local (10) Synchronous Snapshot Local (6) Number of total source elements 2400 800 Max # of base volume Max # of base volume /2 Number of total target 2400 elements 800 Max # of base volume Max # of volume – /2 Max # of base volume Number of peer systems 4 (max N-to-1 configuration) 2 (max N-to-1 configuration) 0 Number
"OnGroupOrListError", "UnequalGroupsAction", "TargetElementSupplier", "ThinProvisioningPolicy", "Pairing", "DMTF Reserved", "Vendor Specific" }] uint16 PropertyName, [OUT, Description ( "An array containing the supported values that can " "be supplied in an instance of a " "ReplicationSettingData. Refer to the class " "ReplicationSettingData for the possible values for " "each property. For boolean data, use the following " "data mapping: 2=\"false\", 3=\"true\".
Table 107 Possible SupportedValues forVarious ReplicationType/PropertyName (continued) ReplicationType PropertyName Asynchronous Mirror Remote (5) Synchronous Mirror Remote (4) Synchronous Clone Local (10) Asynchronous Clone Local (11) Synchronous Snapshot Local (6) 1 1 1 1 Stop (3) Stop (3) Stop (3) Stop (3) updated to the target element. Multihop (4) 1 This property applies to multihop copy operation.
Table 107 Possible SupportedValues forVarious ReplicationType/PropertyName (continued) ReplicationType PropertyName Asynchronous Mirror Remote (5) ThinProvisioningPolicy Provisioning of the (8) target same as source (5) If the target [technically target element is not element has to supplied, this property specifies exist] Synchronous Mirror Remote (4) Synchronous Clone Local (10) Asynchronous Clone Local (11) Synchronous Snapshot Local (6) Provisioning of the Provisioning of target same as the targe
Table 108 Relevant Properties of RemoteStorageSynchronized (continued) Properties Description SyncState SyncState describes the state of the association with respect to Replication activity. Possbile values are: • Initialized (2) • ResyncInProgress (5) • Synchronized (6) • Broken (12) • Frozen (14) Mode Mode describes whether the target elements will be updated synchronously or asynchronously.
Table 108 Relevant Properties of RemoteStorageSynchronized (continued) Properties Description SyncInterval Specifies that groups that are in asynchronous periodic mode should be periodically synchronized in accordance with the specified value of the replication. 0 means synchronization will not happen unless it is done manually. SyncPolicy Specifies the policy of the Remote Copy volume groups for dealing with I/O failure and error handling of the replication.
property called RoleReversed specifies whether the role of source and target element has been reversed from its configured one due to the failover. If on a secondary 3PAR array the role is reversed but the link is back up and volumes synced, CopyState will show Synchronized and RoleReversed true. Following is a table of the state transitions during disaster recovery after a primary 3PAR array goes down.
Table 110 CopyState/SyncState/ProgressStatus Transitions During Disaster Recovery (continued) Showrcopy Group Info Role/SyncStatus CopyState SyncState ProgressStatus State of Secondary 3PAR array after setrcopygroup restore is done Secondary/Synced Synchronized Synchronized Completed State of Secondary 3PAR array if setrcopygroup restore failed Primary-Rev/Synced Synchronized Synchronized Completed State of Primary 3PAR Secondary-Rev/Synced Synchronized array after setrcopygroup recover is issu
SyncedElement. Similar to remote StorageVolume, this ReplicationEntity cannot be retrieved via EnumerateInstances/EnumerateInstanceNames.GetInstance. ReplicationEntity cannot be discovered via EnumerateInstances, EnumerateInstanceNames nor GetInstance.
Table 113 Relevant Properties of RemoteGroupSynchronized (continued) Property Description WhenSynced When rcopy group is last synced. This property is NULL for synchronous mode. SyncMaintained TRUE only if rcopy and rcopygroup are started. CopyState CopyState describes the state of the association with respect to Replication activity.
Table 113 Relevant Properties of RemoteGroupSynchronized (continued) Property Description ConsistencyType Indicates the consistency type used by the source and its associated target group. This is always Sequential Consistency (2). ConsistencyState Indicates the current state of consistency. This is always Consistent (3). ConsistencyStatus Indicates the current status of consistency. Consistency may have been disabled or is experiencing an error condition. This is always Completed (2).
TPD_SAPAvailableForRemoteReplicaVolume This is the association between StorageVolume and the SCSIProtocolEndpoint, sub-classed from CIM_SAPAvailableForElement.The endpoints denotes the port used for remote replication.
Table 114 SAS Initiator Ports Profile ClM Classes (continued) Class Description TPD_SASPortComponent Associates SASPort and SASPHY TPD_SASPortSAPImplementation Connects initiator SASPort and SASProtocolEndpoint TPD_HostedSASProtocolEndpoint Associates system to initiator SASProtocolEndpoint TPD_SASPortElementStatisticalData Connects SASPort and SASPortStatistics TPD_SASPHYElementStatisticalData Associates SASPHY and SASPhyStatistics Supported Methods Please refer to the SMI-S, version 1.
5 CIM Indications SMI-S provides for asynchronous notification of events that indicate changes in the CIM server or the managed elements controlled by the CIM server. CIM indications are the mechanism for delivery of such events. A CIM client must subscribe to indications it wants to receive event notifications from the CIM server. For detailed information regarding Indications, refer to SMI S at www.snia.org. When creating the IndicationFilter, the QueryLanguage property should be set to “DMTF:CQL”.
TPD_DynamicStoragePoolInstDeletion The 3PAR CIM Server currently supports indication subscriptions for deletion of DynamicStoragePool. Clients must send the following query string to the HP 3PAR CIM Server: SELECT * FROM CIM_InstDeletion WHERE SourceInstance ISA CIM_StoragePool TPD_DynamicStoragePoolInstModification The 3PAR CIM Server currently supports indication subscriptions for changes in the RemainingManagedSpace of DynamicStoragePool.
Or they can send any of the following to choose the specific indication(s) they want to receive: SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT SELECT * * * * * * * * * * * * FROM FROM FROM FROM FROM FROM FROM FROM FROM FROM FROM FROM TPD_StoragePoolGrowWarningAlert TPD_StoragePoolGrowLimitAlert TPD_StoragePoolGrowFailureAlert TPD_StoragePoolOverUsedWarningAlert TPD_StorageVolumeAllocationFailureAlert TPD_StorageVolumeAllocationWarningAlert TPD_StorageVolumeAllocationLimitA
Property Type Description Value 3 - Quality of Service Alert. An Indication of this type is principally associated with a degradation or errors in the performance or function of an entity. 4 - Processing Error. An Indication of this type is principally associated with a software or processing fault. 5 - Device Alert. An Indication of this type is principally associated with an equipment or hardware fault. 6 - Environmental Alert.
Property Type Description Value uniquely identified, within the scope of the OwningEntity, by MessageID. SystemCreationClassName string The scoping System's CreationClassName for the Provider generating this indication. “TPD_StorageSystem” ProviderName string The name of the Provider generating this Indication. “TPD_IndicationProvider” EventID string An instrumentation or provider specific value Message code will that describes the underlying "real-world” be in hex format, e.g.
Property Value Description NULL IndicationTime Event timestamp IndicationIdentifier [“HP_3PAR:>:eventID-”] ProbableCause NULL ProbableCauseDescription NULL AlertIndication 143
6 CIM-API Extensions Health Management The CIM Server provides the ability to retrieve health information about the physical devices that comprise the HP 3PAR Storage System.
Properties for TPD_NodeSystem Table 119 TPD_NodeSystem Properties Property Description Position The position of the controller node in the storage system (i.e., node number). ElementName User friendly-name of the controller node. OperationalStatus Overall status of the controller node. Refer to SMI-S for possible values of this property. OtherOperationalStatus 3PAR-specific operational status for the NodeSystem.
Supported Methods Table 124 Supported Methods for TPD_StorageSystem Method Description modifyInstance() Provides the ability to set owner and contact information for the StorageSystem. UML Diagram Figure 11 controller node Subsystem Disk Enclosure Subsystem The CIM Server provides the ability to manage the health of physical devices that comprise the backend Disk Enclosure portion of the storage system.
Properties for TPD_StorageSystem Table 126 TPD_StorageSystem Properties Property Description Name The node WWN for the storage system. ElementName User-friendly name of the storage system. OperationalStatus Overall status of the storage system. Refer to the SMI-S for possible values of this property. OtherOperationalStatus 3PAR-specific operational status for the StorageSystem.
Table 130 TPD_DiskDrive Properties (continued) Property Description Position The position of this disk drive in the drive magazine. ID ID assigned to this Disk Drive by the system. OperationalStatus Overall status of the disk drive. Refer to SMI-S for possible values of this property. OtherOperationalStatus 3PAR-specific operational status for the DiskDrive.
Table 132 Power and Cooling Key CIM Classes (continued) Class Description TPD_DriveCage Provides information about storage system drive cages. TPD_PowerSupply Provides information about power supplies for both controller nodes and disk cages. TPD_Battery Provides information about batteries attached to controller node power supplies. TPD_Fan Provides information about fans, including fans within each power supply and external fans connected to controller nodes.
Properties for TPD_PowerSupply Table 136 TPD_PowerSupply Properties Property Description Position The position of the PowerSupply in the storage system (such as the PS number). OperationalStatus Overall status of the PowerSupply. Please refer to SMI-S for possible values of this property. OtherOperationalStatus 3PAR-specific operational status for the PowerSupply. ACStatus Provides information about the AC status of a power supply.
UML Diagram Figure 13 Power and Cooling Inventory Management The CIM Server provides the ability to retrieve inventory information for controller nodes and all of the components that comprise the controller node Subsystem portion of the storage system. Controller Node Subsystem The CIM Server provides the ability to retrieve inventory information about the physical devices that comprise the storage system.
Table 140 Controller Node Subsystem CIM Key Classes (continued) Class Description TPD_PhysicalMemory Provides information about the physical memory contained within each controller node. TPD_IDEDrive Provides information about the onboard IDE drive contained within each controller node. Properties for TPD_StorageSystem Table 141 TPD_StorageSystem Properties Property Description Name The Node WWN for the storage system. ElementName User friendly-name of the storage system.
Table 145 TPD_PCICard Properties (continued) Property Description SerialNumber Serial number of the PCI Card. Revision The revision of the PCI Card. FirmwareVersion Revision of the firmware running on the card. Properties for TPD_NodeCPU Table 146 TPD_NodeCPU Properties Property Description Position The position/CPU number of this component. Manufacturer Manufacturer of the CPU. Model Model number for the CPU. SerialNumber Serial number for the CPU.
UML Diagram Figure 14 UML Diagram Disk Enclosure Subsystem The CIM Server provides the ability to retrieve inventory information for all of the components that comprise the backend Disk Enclosure portion of the storage system. Disk Enclosure Subsystem CIM Classes Table 150 Disk Enclosure Subsystem Key Classes Class Description TPD_StorageSystem The storage array. TPD_DriveCage Provides information about storage system drive cages.
Properties for TPD_DriveCage Table 152 TPD_DriveCage Properties Property Description Position The position of the drive cage in the storage system (such as the cage number). ElementName User-friendly name of the Drive Cage. Manufacturer Manufacturer of the Drive Cage. Model Model of the Drive Cage. SerialNumber Serial number of the Drive Cage.
Properties for TPD_DiskDrivePackage Table 156 TPD_DiskDrivePackage Properties Property Description Manufacturer Manufacturer of the DiskDrive. Model Model of the DiskDrive. SerialNumber Serial number of the DiskDrive. Properties for TPD_DiskSoftwareIdentity Table 157 TPD_DiskSoftwareIdentity Properties Property Description Manufacturer Manufacturer of the DiskDrive firmware. VersionString Version of the firmware running on the DiskDrive.
Power and Cooling CIM Classes Table 159 Power and Cooling CIM Key Classes Class Description TPD_StorageSystem The storage array. TPD_NodeSystem Provides information about the controller nodes that make up the storage system. TPD_DriveCage Provides information about storage system drive cages. TPD_PowerSupply Provides information about power supplies for both controller nodes and disk cages. TPD_Battery Provides information about batteries attached to controller node power supplies.
Properties for TPD_PowerSupply Table 163 TPD_PowerSupply Properties Property Description Position The position of the PowerSupply in the storage system (such as the PS number). Manufacturer Manufacturer of the PowerSupply. Model Model of the PowerSupply. SerialNumber Serial number of the PowerSupply. Properties for TPD_Battery Table 164 TPD_Battery Properties Property Description Position The position of the Battery in the storage system (such as the battery number).
UML Diagram Figure 16 UML Diagram Domain, User and Licenses Description The 3PAR CIM Server provides the ability to retrieve domain and privilege information about the user. This information can be broken down into the following areas: • Licenses • User Domains • User Privileges • Domains • Domain Sets These informations are available in TPD_StorageSystem class and TPD_StorageDomainGroup. CIM Classes The key classes are as follows: Class Description TPD_StorageSystem The Storage array.
Properties for TPD_StorageSystem Property Description Licenses Array of all the licenses enabled on the system. LicenseIssueDate Date on which the licenses were issued LicenseExpirationDate Date on which the licenses will expire. CurrentUserDomains Domains that the current user belongs to. If the user is not a domain user, value will show 'all'. CurrentUserPrivileges Privileges of the current user.
7 Support and Other Resources Contacting HP For worldwide technical support information, see the HP support website: http://www.hp.
For information about: See: Migrating data from one HP 3PAR storage system to another HP 3PAR-to-3PAR Storage Peer Motion Guide 162 Configuring the Secure Service Custodian server in order to monitor and control HP 3PAR storage systems HP 3PAR Secure Service Custodian Configuration Utility Reference Using the CLI to configure and manage HP 3PAR Remote Copy HP 3PAR Remote Copy Software User’s Guide Updating HP 3PAR operating systems HP 3PAR Upgrade Pre-Planning Guide Identifying storage system comp
For information about: See: Planning for HP 3PAR storage system setup Hardware specifications, installation considerations, power requirements, networking options, and cabling information for HP 3PAR storage systems HP 3PAR 7200, 7400, and 7450 storage systems HP 3PAR StoreServ 7000 Storage Site Planning Manual HP 3PAR StoreServ 7450 Storage Site Planning Manual HP 3PAR 10000 storage systems HP 3PAR StoreServ 10000 Storage Physical Planning Manual HP 3PAR StoreServ 10000 Storage Third-Party Rack Physic
Typographic conventions Table 167 Document conventions Convention Element Bold text • Keys that you press • Text you typed into a GUI element, such as a text box • GUI elements that you click or select, such as menu items, buttons, and so on Monospace text • File and directory names • System output • Code • Commands, their arguments, and argument values • Code variables • Command variables Bold monospace text • Commands you enter into a command line interface • Syst
8 Documentation feedback HP is committed to providing documentation that meets your needs. To help us improve the documentation, send any errors, suggestions, or comments to Documentation Feedback (docsfeedback@hp.com). Include the document title and part number, version number, or the URL when submitting your feedback.
A Managed Object Format Files This appendix provides the contents of the Managed Object Format (MOF) files for the HP 3PAR Storage System. These MOF files derive from the standard MOF files contained in CIM, version 2.23. Note: The InServ Storage Server has been rebranded as HP 3PAR Storage System. There are instances in this document where menu items and command output refer to the HP 3PAR Storage System as InServ or InServ Storage Server. For information regarding standard MOF files, refer to DMTF at www.
class TPD_SubProfileRequiresProfile : CIM_SubProfileRequiresProfile { [Override ( "Antecedent" ), Min ( 1 ), Description ( "The RegisteredProfile that is referenced/required by the " "subprofile.")] TPD_RegisteredProfile REF Antecedent; [Override ( "Dependent" ), Description ( "A RegisteredSubProfile that requires a scoping profile, for " "context.
TPD_ObjectManager REF Dependent; }; // ================================================================== // Namespace // ================================================================== [Description ( "Namespace provides a domain (in other words, a container), in " "which the instances [of a class] are guaranteed to be unique " "per the KEY qualifier definitions. It is named relative to the " "TPD_ObjectManager implementation that provides such a domain.
"class. The latter describes a possible encoding/protocol/ set " "of operations for accessing the referenced ObjectManager.")] class TPD_CommMechanismForManager : CIM_CommMechanismForManager { [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description ( "The HP 3PAR CIM server ObjectManager whose communication mechanism is " "described.
"The RegisterdProfile or RegisteredSubProfile.")] CIM_RegisteredProfile REF Dependent; }; 3PAR_TPD.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted.
class TPD_DynamicStoragePool: SNIA_StoragePool { [Description ( "Type of disk drives that are in this pool. Not applicable " "to primordial pool."), ValueMap {"0", "1", "2", "4"}, Values {"Unknown", "FC", "Nearline", "SSD"} ] uint16 DiskDeviceType; [Description ( "The size of each allocation when the pool grows."), Units ( "Bytes" )] uint64 AllocationUnit; [Description ( "This is the nominal number of bytes allocated on disk for Snapshot " "data (SD) of this pool, not including RAID overhead.
"Describe the RAID type of the pool. This value makes it easy" " for traversing CapabilitiesOfStoragePool association."), ValueMap {"0", "10", "50", "60"}, Values {"RAID0", "RAID10", "RAID50", "RAID60"} ] uint16 RaidType; [Description ( "Issue warning alert when space allocation exceeds this amount." "A size of 0 means no warning limit is enforced. Default is 0."), Units( "Bytes" )] uint64 SnapDataSpaceWarningLimit = 0; [Description ( "Name of the administrative domain that this pool belongs " "to.
[Description ( "Describe the type of the volume."), ValueMap {"0", "1", "2", "3", "4"}, Values {"Unknown", "Base", "Physical Copy", "Virtual Copy", "Remote Copy"} ] uint16 VolumeType; [Description ( "Total number of logically contiguous blocks, of size Block " "Size, which form Raw Size Admin. The total size " "can be calculated by multiplying BlockSize by RawAdminBlocks.
"DisallowStaleSnapshot - When copy-on-write fails, don't write to r/w " " base so that r/o snapshots remain valid/consistent with r/w " " base. This means failures to update snapshot will be " " considered a failure to write to the base volume as well. " "AllowStaleSnapshot - When copy-on-write fails, allow write to r/w base " " to succeed, but snapshot becomes invalid or stale.
"Describes the preferred availability of the volume. " "This value might be different from CurrentAvailability."), ValueMap {"0", "8", "9", "10", "11", "12"}, Values {"Unknown", "Port", "Cage", "Magazine", "Disk", "Chunklet"} ] uint16 PreferredAvailability; [Description ( "Describes the current availability of the volume. " "This value might be different from PreferredAvailability.
"This is applicable only for a thin-provisioned volume.")] uint64 ProvisionedConsumableBlocks; [Description ( "Name of the administrative domain that this volume belongs " "to.\n")] String Domain; [Description ( "Number of chunklets in a set. " "For RAID 0 volume, this is always 1. " "For RAID 10 volume, this is equal to StorageSetting.DataRedundancy. " "Minimum value for RAID 10 volume is 2, maximum value is 4. " "For RAID 50 volume, this is also known as the parity " "set size.
" 0x00001000 - Removing" " 0x00000800 - Closing" " 0x00000400 - Tuning" " 0x00000200 - Copying" " 0x00000100 - Promoting"), BitMap { "20","17","16","14","13","12","11","10","9", "8" }, BitValues {"Importing", "Resyncing", "Removing Expired", "Copy Source", "Creating", "Removing", "Closing", "Tuning", "Copying", "Promoting"}] uint32 Activity; }; // ================================================================== // HP 3PAR HostedStoragePool // ===============================================================
{ [Override ( "Antecedent" ), Description ( "The concrete StoragePool." )] TPD_StoragePool REF Antecedent; [Override ( "Dependent" ), Description ( "The subsidiary DynamicStoragePool." )] TPD_DynamicStoragePool REF Dependent; }; #pragma include ("3PAR_TPDCopySvcs.
}; // ================================================================== // HP 3PAR VolumeAllocatedFromDynamicPool // ================================================================== [Association, Description ( "TPD_VolumeAllocatedFromDynamicPool is an association between " "StorageVolume and the DynamicStoragePool from which the " "the capacity of StorageVolume is allocated.
"value varies depending on the number of cages. " "This option has no meaning for RAID-0 volume.\n"), ValueMap { "8", "9", "10" }, Values { "Port", "Cage", "Magazine" }] uint16 HighAvailability; [Write, Description ( "Chunklet location preference. Allows chunklets to " "be placed physically close to other chunklets with " "the same location preference.\n" " First - attempt to use the lowest numbered\n" " available chunklets.\n" " Last - attempt to use the highest numbered\n" " available chunklets.
"UserSpaceLimit is the consumption limit for the allocated " "user space of the associated StorageVolumes. Please note " "that SpaceLimit refers to the consumption limit of the " "allocated space of a DynamicStoragePool or the snap space " "(DeltaReplicaStoragePool) of the associated StorageVolumes. " "Applicable only to thin provisioned volumes. " "If UserSpaceLimit = 0 (the default) then no limits are asserted " "on the amount of space consumed.
" 0x80000000 - DisallowStaleSnapshot" " 0x40000000 - AllowStaleSnapshot" " 0x20000000 - System" " 0x10000000 - NoSystem" " 0x02000000 - OneHost" " 0x01000000 - NoOneHost" " 0x00200000 - ZeroDetection" " 0x00100000 - NoZeroDetection" ), BitMap { "31","30","29","28","25","24","21","20" }, BitValues {"DisallowStaleSnapshot", "AllowStaleSnapshot", "System", "NoSystem", "OneHost", "NoOneHost", "ZeroDetection", "NoZeroDetection"} ] uint32 Policy; [Write, Description ( "Define the VV geometry sectors_per_track val
"TPD_TopLevelStorageSetting.DiskFreeChunkletLT", "TPD_TopLevelStorageSetting.DiskRPM", "TPD_TopLevelStorageSetting.DiskPackageModels" }] String DiskPrimPathNodes[]; [Write, Description ( "Specifies the PCI or PCIe slot, the list of PCI, PCIe slots or " "the range of PCI or PCIe slots the disks must have their " "primary path on.\n" "Each element in this array represents one instance of " "pattern for candidate disks; multiple array element adds " "additional candidate disks that match the pattern.
"TPD_TopLevelStorageSetting.DiskFreeChunkletGT", "TPD_TopLevelStorageSetting.DiskFreeChunkletLT", "TPD_TopLevelStorageSetting.DiskRPM", "TPD_TopLevelStorageSetting.DiskPackageModels" }] String DiskPrimPathPorts[]; [Write, Description ( "Specifies the cage number, the list of cage numbers or " "the range of cage numbers the disks must be in.
"TPD_TopLevelStorageSetting.DiskFreeChunkletGT", "TPD_TopLevelStorageSetting.DiskFreeChunkletLT", "TPD_TopLevelStorageSetting.DiskRPM", "TPD_TopLevelStorageSetting.DiskPackageModels" }] String DiskMagazines[]; [Write, Description ( "Specifies the magazine position, the list of magazine positions or " "the range of magazine positions the disks must be in.
"TPD_TopLevelStorageSetting.DiskFreeChunkletLT", "TPD_TopLevelStorageSetting.DiskRPM", "TPD_TopLevelStorageSetting.DiskPackageModels" }] String DiskIDs[]; [Write, Description ( "The total number of chunklets in the disk must be " "greater than this value.\n" "Each element in this array represents one instance of " "pattern for candidate disks; multiple array element adds " "additional candidate disks that match the pattern.
"TPD_TopLevelStorageSetting.DiskPrimPathPorts", "TPD_TopLevelStorageSetting.DiskPrimPathNodes", "TPD_TopLevelStorageSetting.DiskMagazines", "TPD_TopLevelStorageSetting.DiskMagPositions", "TPD_TopLevelStorageSetting.DiskIDs", "TPD_TopLevelStorageSetting.DiskTotalChunkletGT", "TPD_TopLevelStorageSetting.DiskTotalChunkletLT", "TPD_TopLevelStorageSetting.DiskCages", "TPD_TopLevelStorageSetting.DiskFreeChunkletLT", "TPD_TopLevelStorageSetting.DiskRPM", "TPD_TopLevelStorageSetting.
String DiskPackageModels[]; [Write, Description ( "The disk must be of the specified RPM, which could either mean " "Revolution Per Minute in the case of FC or NL drives, or " "Relative Performance Metric in the case of SSD.\n"), ArrayType ( "Indexed" ), ModelCorrespondence { "TPD_TopLevelStorageSetting.DiskPrimPathPCISlots", "TPD_TopLevelStorageSetting.DiskPrimPathPorts", "TPD_TopLevelStorageSetting.DiskPrimPathNodes", "TPD_TopLevelStorageSetting.DiskMagazines", "TPD_TopLevelStorageSetting.
"\"DynamicStoragePool\"."), Units( "Bytes" )] uint64 DSPSnapSpaceGrowWarning; [Write, Description ( "If true, properties that are not specified in the template " "will be treated as read-only and cannot be overridden " "by the properties in Goal parameter when invoking the " "TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method.
"\"Changeable-Persistent\".")] uint16 TemplateSnapSpaceAllocationLimit; [Write, Description ( "Percent of the volume size the user space of the volume " "can grow to. " "UserSpaceLimit = vol size * (1 + percent/100)" "Applicable only if ChangeableType equals to 2, " "\"Changeable-Persistent\", and only to thin provisioned " "volumes.
"If true, ExtentStripeLength value in this template is read-only " "and cannot be overriden by the corresponding property in " "the Goal parameter when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method." "If false, ExtentStripeLength value in this template can be " "overriden by the corresponding property in the Goal parameter " "when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method." "Default is true.
"CreateStorageVolumeFromStoragePoolWithTemplate method." "If false, Domain value in this template can be " "overriden by the corresponding property in the Goal parameter " "when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method." "Default is true.\n" "Applicable only if ChangeableType equals to 2, " "\"Changeable-Persistent\".
"Applicable only if TemplateType equals to 1, \"Virtual Volumes\", " "and ChangeableType equals to 2, \"Changeable-Persistent\"."), ModelCorrespondence { "SnapDSPName"}] boolean TemplateUserDSPNameReadOnly; [Write, Description ( "If true, TemplateVolumeSize value in this template is read-only " "and cannot be overriden by the value in the Size parameter " "when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method.
"Default is true.\n" "Applicable only if TemplateType equals to 1, \"Virtual Volumes\", " "or 3, \"Common Provisioning Groups\", and ChangeableType equals " "to 2, \"Changeable-Persistent\".
"the Goal parameter when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method." "If false, Policy value in this template can be " "overriden by the corresponding property in the Goal parameter " "when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method." "Default is true.\n" "Applicable only if TemplateType equals to 1, \"Virtual Volumes\", " "and ChangeableType equals to 2, \"Changeable-Persistent\".
"Applicable only if TemplateType equals to 1, \"Virtual Volumes\", " "and ChangeableType equals to 2, \"Changeable-Persistent\"."), ModelCorrespondence { "GeometryHeadsPerCylinder"}] boolean TemplateGeometryHeadsPerCylinderReadOnly; [Write, Description ( "If true, GeometrySectorSize value in this template is read-only " "and cannot be overriden by the corresponding property in " "the Goal parameter when invoking the TPD_StorageConfigurationService." "CreateStorageVolumeFromStoragePoolWithTemplate method.
}; // ================================================================== // HP 3PAR StorageConfigurationService // ================================================================== [Description ("The StorageConfigurationService provides methods that allow " "a client to create, modify and delete storage pools and " "volumes.")] class TPD_StorageConfigurationService : SNIA_StorageConfigurationService { [Override ("CreateOrModifyStoragePool"), Description ( "Starts a job to create (or modify) a StoragePool.
[IN, Description ( "Array of strings containing representations of " "references to CIM_StorageExtent instances, that are used " "to create the Pool or modify the source extents.")] string InExtents[], [IN, OUT, Description ( "As an input parameter: if null, creates a new " "StoragePool. If not null, modifies the referenced Pool. " "When returned, it is a reference to the resulting " "StoragePool.
"pool will be used. This parameter should be a reference " "to a Setting or Profile appropriate to the element being " "created. If not NULL, this parameter will supply a new " "Goal when modifying an existing element.")] CIM_ManagedElement REF Goal, [IN, OUT, Description ( "As an input parameter Size specifies the desired size. " "If not NULL, this parameter will supply a new size when " "modifying an existing element. As an output parameter " "Size specifies the size achieved.
"or modified. If the input parameter TheElement is " "specified when the operation is a 'modify', this type " "value must match the type of that instance."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "..", "32768..
"4097/0x1001. Also, the output value of Size is set to the " "nearest possible size. If Size is not specified, then the " "Size property in Template is used. If 0 is returned, the function " "completed successfully and no ConcreteJob instance was " "required. If 4096/0x1000 is returned, a ConcreteJob will be " "started to create the element. The Job's reference will be " "returned in the output parameter Job.
"successfully." "Return code of Partial Success (32768) means that only " "some, but not all, of the StorageVolumes are successfully " "removed."), ValueMap { "0", "1", "2", "3", "4", "5", "6", "32768" }, Values { "Job Completed with No Error", "Not Supported", "Unknown", "Timeout", "Failed", "Invalid Parameter", "In Use", "Partial Success" }] uint32 TPD_ReturnToStoragePool( [IN, Description ( "If true, operation will not block until the StorageVolume " "is removed.
"This parameter is required and cannot be NULL.")] string ElementName, [IN ( false ), OUT, Description ( "Reference to the job (may be null if job completed).")] CIM_ConcreteJob REF Job, [Required, IN, Description ( "The source storage object which may be a StorageVolume " "or storage object.")] CIM_LogicalElement REF SourceElement, [IN ( false ), OUT, Description ( "Reference to the created target storage element (i.e., " "the replica).
"between StorageConfigurationCapabilities or " "StorageReplicationCapabilities and StorageConfigurationService. " "This association is used to query the features and functions " "supported by StorageConfigurationService.") ] class TPD_CapabilitiesOfStorageConfigurationService: CIM_ElementCapabilities { [Override ( "ManagedElement" ), Description ( "The StorageConfigurationService.
"9", "10", "11", "12", "13"}, Values {"Config Wait", "Alpa Wait", "Login Wait", "OK", "Loss Sync", "Nonparticipate", "Core Dump", "Offline", "FW Dead", "Link Idle For Reset", "DHCP In Progress", "Pending Reset"} ] uint16 OtherOperationalStatus; [Description ("Topology of the port"), ValueMap {"0", "1", "2", "3", "4"}, Values {"Private loop", "Public loop", "Point to point", "Fabric", "Unknown"} ] uint16 Topology; [Description ("Daisy chain configuration of the port"), ValueMap {"0", "1", "2"}, Values {"Unkn
}; // ================================================================== // HP 3PAR FC Port LESB Statistics // ================================================================== [Description ("HP 3PAR Storage System FC Port Link Error Statistic Block")] class TPD_FCPortLESBStatistics : CIM_FCPortStatistics { }; // ================================================================== // FC Port LESB Element Statistical Data // ================================================================== [Association, Desc
// CIM_FCPort REF Dependent; -- reenable this line if we support TPD_SCSIInitTargetLUPath }; // ================================================================== // HP 3PAR SCSI Protocol Controller And StorageVolume association // ================================================================== [Association, Description ( "HP 3PAR Storage System SCSI protocol controller and storage volume " "association.
TPD_SCSIProtocolFCEndpoint REF AvailableSAP; [Override ("ManagedElement"), Description ( "The SCSI Protocol Controller (service).
"For creating an SPC, all parameters, except ProtocolControllers, " "MUST be specified since SPCAllowsNoLUs, SPCAllowsNoTargets and " "SPCAllowsNoInitiators properties are all false, and " "ClientSelectableDeviceNumbers property is true, for a HP 3PAR " "Storage System.
ModelCorrespondence { "CIM_StorageHardwareID.StorageID"}] string InitiatorPortIDs[], [IN, Description ( "IDs of target ports. See the method description for " "conditions where this MAY be null."), ModelCorrespondence { "CIM_SCSIProtocolEndpoint.Name"}] string TargetPortIDs[], [IN, Description ( "A list of logical unit numbers to assign to the " "corresponding logical unit in the LUNames parameter. " "(within the context of the elements specified in the " "other parameters).
"This parameter is a vendor-specific extension for HP 3PAR. " "The default value is false.")] boolean NoVCN, [OUT, Description ( "An array of descriptive text of the result of the operation, " "with each entry containing the result of each " "expose path operation.
ModelCorrespondence { "CIM_LogicalDevice.Name"}] string LUNames[], [IN, Description ( "IDs of initiator ports. See the method description for " "conditions where this MAY be null."), ModelCorrespondence { "CIM_StorageHardwareID.StorageID" }] string InitiatorPortIDs[], [IN, Description ( "IDs of target ports. See the method description for " "conditions where this MAY be null."), ModelCorrespondence { "CIM_SCSIProtocolEndpoint.
"or tape drives) through a 'default view' " "SCSIProtocolController (SPC) through a list of target " "ports. The 'default view' SPC exposes logical units to all " "initiators. This SPC is identified by an association to a " "StorageHardwareID with Name property set to the empty " "string. \n" "\n" "The parameters for this method are: Job - null if no job " "created, otherwise this is a reference to the job. LUNames " "- the list of names of the logical units to use.
"Maximum Map Count Exceeded", "Method Reserved", "Vendor Specific" }] uint32 ExposeDefaultLUs ( [IN ( false ), OUT, Description ( "Reference to the job if 'Method Parameters Checked - Job " "Started' is returned (MAY be null if job completed).")] CIM_ConcreteJob REF Job, [Required, IN, Description ( "An array of IDs of logical unit instances. The LU " "instances MUST already exist. The members of this array " "MUST match the Name property of LogicalDevice instances " "that represent SCSI logical units.
"Override existing lower priority VLUNs, if necessary. " "Can be used only when exporting to a specific host. " "This parameter is a vendor-specific extension for HP 3PAR. " "The default value is false.")] boolean Override, [IN, Description ( "Do not issue a VLUN (Virtual Logical Unit Number) Change " "Notification (VCN) after export. For direct connect or " "loop configuration, a VCN consists of a Fibre Channel " "Loop Initialization Primitive (LIP).
"Maximum Map Count Error", "Method Reserved", "Vendor Specific" }] uint32 HideDefaultLUs ( [IN ( false ), OUT, Description ( "Reference to the job if 'Method Parameters Checked - Job " "Started' is returned (MAY be null if job completed).")] CIM_ConcreteJob REF Job, [Required, IN, Description ( "A list of IDs of logical units. Each LU instance MUST " "already exist. See the method description for conditions " "where this MAY be null."), ModelCorrespondence { "CIM_LogicalDevice.
"(host names), through a list of target ports if specified. " "If target port ids are not specified, the logical units " "will be visible to all InitiatorPortIDs that are member " "of the StorageHardwareIDCollections (host see vluns). If " "target ports are specified, the logical units will be visible " "to InitiatorPortIDs that are member of the " "StorageHardwareIDCollections and that are connected to/zoned with " "the target ports (matched set vluns).
"\n" "If the instrumentation provides PrivilegeManagementService, " "the results of setting DeviceAccesses MUST be synchronized " "with PrivilegeManagementService as described in the " "ProtocolControllerForUnit DeviceAccess description."), ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096", "4097", "4098", "4099", "4100", "4101", "4102", "4103..32767", "32768..
"the LUNames parameter is not null then this parameter " "MUST be specified."), ValueMap { "0", "2", "3", "4", "5..15999", "16000.." }, Values { "Unknown", "Read Write", "Read-Only", "No Access", "DMTF Reserved", "Vendor Reserved" }, ModelCorrespondence { "CIM_ProtocolControllerForUnit.DeviceAccess" }] uint16 DeviceAccesses[], [Required, IN, OUT, Description ( "An array of references to SCSIProtocolControllers " "(SPCs).
"the instrumentation MUST return a 'Invalid Parameter' " "status or a CIM_Error. \n" "\n" "When hiding logical units, HP 3PAR Storage System supports only " "the Remove LUs from a view use case. " "Remove LUs from a view requires that the " "LUNames parameter not be null.\n" "\n" "The SPC is automatically deleted when the last logical unit " "is removed since SPCAllowsNoLUs is false."), ValueMap { "0", "1", "2", "3", "4", "5", "6..4095", "4096", "4097", "4098", "4099", "4100..32767", "32768..
[OUT, Description ( "An array of descriptive text of the result of the operation, " "with each entry containing the result of the " "hide default LU operation.")] string ResultDescriptions[]); }; // ================================================================== // ProtocolControllerMaskingCapabilities // ================================================================== [Description ("A subclass of Capabilities that defines the Masking-related " "capabilities of the HP 3PAR Storage System.
[Association, Aggregation, Composition, Description ( "HP 3PAR Storage System and Storage Volume Association ") ] class TPD_SystemVolume : CIM_SystemDevice { [Override ("GroupComponent"), Aggregate, Max (1), Min (1), Description ("The storage system.") ] TPD_StorageSystem REF GroupComponent; [Override ("PartComponent"), Weak, Description ( "The storage volume on storage system.
class TPD_ComputerSystemPackage : CIM_ComputerSystemPackage { [Override ("Antecedent"), Description ("The HP 3PAR Storage System physical package.") ] TPD_SystemPackage REF Antecedent; [Override ("Dependent"), Description ( "The HP 3PAR Storage System.") ] TPD_StorageSystem REF Dependent; }; // ================================================================== // HP 3PAR StorageCapabilities // ================================================================== [Description ( "HP 3PAR StorageCapabilities.
"SpaceConsumed. Value of zero means no warning generated. " "Triggered when " " SpaceConsumed >= (SpaceLimit*SpaceLimitWarningThreshold)/100." " MinValue = 0, MaxValue = 100 " "This is 0 for both concrete pool and DynamicStoragePool.
"capabilities of the associated StorageCapabilities. The " "associated StorageSetting may not define the operational " "characteristics (through settings properties) of any storage " "element. StorageSettingsGeneratedFromCapabilities is the " "association between instances of StorageCapabilities and those " "instances of StorageSetting that have been created from the " "StorageCapabilities instance using the StorageCapabilities " "\"CreateSetting\" method. These settings have a " "StorageSetting.
// ================================================================== [Description ( "StorageHardwareID represents the host HBA.")] class TPD_StorageHardwareID : CIM_StorageHardwareID { [Description ( "IP Address for this HBA.
[Description ( "System assigned ID for this host collection.")] uint64 ID; [Description ("HP 3PAR host persona index number.") ] uint32 HostPersonaID; [Description ( "Name of the administrative domain that this host collection belongs " "to.
"SystemSpecificCollection. This is useful to define a set of "authorized subjects that can access volumes in a disk " "array. This method allows the client to make a request of a "specific Service instance to create the collection and " "provide the appropriate class name. When these capabilities "are standardized in CIM/WBEM, this method can be deprecated "and intrinsic methods used.
[IN, Description ( "Whether the initiator CHAP secret is treated as an ASCII " "string or as hex number. If this value is not specified then it " "defaults to ASCII. Applicable only if InitiatorSecret is set."), ValueMap { "0", "1" }, Values { "ASCII", "Hexadecimal" }] Uint16 InitiatorSecretType, [IN, Description ( "Whether the target CHAP secret is treated as an ASCII " "string or as hex number. If this value is not specified then it " "defaults to ASCII. Applicable only if TargetSecret is set.
"The HP 3PAR Storage System.")] TPD_StorageSystem REF Antecedent; [Override ( "Dependent" ), Weak, Description ( "The StorageHardwareID management service hosted on the " "HP 3PAR Storage System.
"TPD_HostedPrivilegeManagementService is an association " "between TPD_StorageSystem and TPD_PrivilegeManagementService. " "The cardinality of this association is 1-to-1. A System may " "host only one PrivilegeManagementService. ")] class TPD_HostedPrivilegeManagementService : CIM_HostedService { [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description ( "The HP 3PAR Storage System.
"The current bandwidth of the SFP in Bits per Second."), Units ( "Bits per Second" )] uint64 Speed; [Description ("Position of the TX disable pin. "TX laser is disabled"), ValueMap {"0", "1", "2"}, Values {"Unknown", "LO", "HI"} ] uint16 DisableTXPinPosition; [Description ("Position of the RX loss pin. "RX loss of signal"), ValueMap {"0", "1", "2"}, Values {"Unknown", "LO", "HI"} ] uint16 LossRXPinPosition; If pin position is HI, " If pin position is HI, " [Description ("Position of the TX fault pin.
[Description ("High transmit power alarm threshold")] uint16 TxPowerHighAlarm; [Description ("Low transmit power alarm threshold")] uint16 TxPowerLowAlarm; [Description ("High transmit power warning threshold")] uint16 TxPowerHighWarn; [Description ("Low transmit power warning threshold")] uint16 TxPowerLowWarn; [Description ("High receive power alarm threshold")] uint16 RxPowerHighAlarm; [Description ("Low receive power alarm threshold")] uint16 RxPowerLowAlarm; [Description ("High receive power warning th
[Association, Description ( "A relationship between FCPort and it's SFP.")] class TPD_FCPortSFP : CIM_PortActiveConnection { [Override ( "Antecedent" ), Description ( "The PhysicalConnector.")] TPD_SFP REF Antecedent; [Override ( "Dependent" ), Description ( "The NetworkPort that transmits using the Connector.
"The StorageClientSettingData.")] TPD_StorageClientSettingData REF SettingData; }; // ================================================================== // HP 3PAR HWIDCollectionElementSettingData // ================================================================== [Association, Description ( "TPD_HWIDCollectionElementSettingData is an association between " "StorageHardwareIDCollection and StorageClientSettingData.
3PAR_TPDCage.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted. // // //%//////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // File : HP 3PAR_TPDCage.
// ================================================================== // Base TPD Drive Cage // ================================================================== [Description ( "Base HP 3PAR Drive Cage")] class TPD_DriveCage : CIM_Chassis { [Description ("Type of the cage."), Read, ValueMap {"0", "2", "3", "4", "5", "6", "7", "8"}, Values {"Unknown", "DC1", "DC2", "DC3", "DC4", "DCS1", "DCS2", "DCN1"} ] uint16 CageType; [Description ("Subtype of the cage.
boolean IsRightSide; }; // ================================================================== // DC3 TPD Drive Cage // ================================================================== [Description ( "DC3 HP 3PAR Drive Cage")] class TPD_DriveCageDC3Family : TPD_DriveCage { [Description ("Status of the temperature sensor.
// DCS1, DCS2, DCN1 TPD Drive Cage // ================================================================== [Description ( "DCS1, DCS2 or DCN1 EBOD Drive Cage")] class TPD_DriveCageDCSFamily : TPD_DriveCage { [Description ("Firmware version on the midplane CPU."), Read ] string FirmwareVersion; [Description ("Status of the firmware on the midplane CPU."), Read, ValueMap {"0", "1", "2"}, Values {"Unknown", "Not Current", "Current"} ] uint16 FirmwareStatus; [Description ("Status of the audible alarm.
[Description ("Loop A link speed. Array index 0" " represents Loop A0, array index 1 represents" " Loop A1, etc."), ValueMap {"1", "2", "4", "10"}, Values {"1G", "2G", "4G", "10G"} ] uint16 LoopALinkSpeed[]; [Description ("Loop B link speed. Array index 0" " represents Loop B0, array index 1 represents" " Loop B1, etc.
"Copying Firmware"} ] uint16 CPUSelfState; [Description ("State of partner Interface Card CPU."), ValueMap {"0", "1", "2", "3", "4", "5", "6"}, Values {"Partner Not Responding", "Fatal Error", "OK", "Hotplug Ready", "Loop Down Recovery", "Updating Firmware", "Copying Firmware"} ] uint16 CPUPartnerState; [Description ("Status of the firmware on the Interface Card processor.
"0x043F", "0x0440", "0x0441", "0x0442", "0x044F", "0x0450", "0x0451", "0x04FF"}, Values {"OK", "Warning,High LIP", "Warning,Burst Word Errors", "Warning,High Word Errors", "Warning,High CRC Errors", "Warning,High Clock Delta", "Bypass", "No SFP Present", "Bypass,Tx Fault", "Bypass,LIP", "Bypass,Data Timeout", "Bypass,RX Loss", "Bypass,Sync Loss", "Bypass,PTFI", "Manual Bypass, System Manager", "Manual Bypass,Redundant Port Connection", "Manual Bypass,Stall Threshold", "Manual Bypass,Burst Word Error Thresho
{ [Description ("Split LED status."), ValueMap {"0", "1", "2", "3", "4", "5"}, Values {"Unknown", "Off", "Green", "Green Blinking", "Amber", "Amber Blinking"} ] uint16 SplitLED; [Description ("System LED status."), ValueMap {"0", "1", "2", "3", "4", "5"}, Values {"Unknown", "Off", "Green", "Green Blinking", "Amber", "Amber Blinking"} ] uint16 SystemLED; [Description ("Hot-plug LED status.
[Description ("Status of the firmware on the Interface Card processor."), ValueMap {"0", "1", "2"}, Values {"Unknown", "Not Current", "Current"} ] uint16 FirmwareStatus; [Description ("Firmware version on the Interface Card processor.") ] string FirmwareVersion; [Description ("Loop states of SAS connection. Array index 0 represents loop" " A0, and array index 1 represents loop A1, etc.
Description ( "The Drive Cage that contains FC-AL cards")] TPD_DriveCage REF GroupComponent; [Override ( "PartComponent" ), Description ( "The FC-AL card that is contained in the Drive Cage.
"The Drive Cage that contains Magazines")] TPD_DriveCage REF GroupComponent; [Override ( "PartComponent" ), Description ( "The Magazine that is contained in the Drive Cage.
[Override ( "Dependent" ), Description ( "The LogicalDevice for which information is measured by the " "Sensor. It only applies for DC2 or DC4.")] TPD_DriveCage REF Dependent; }; 3PAR_TPDCopySvcs.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2005-2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted.
TPD_StorageVolume REF Antecedent; [Override ( "Dependent" ), Description ( "The specialized replica pool.")] TPD_DeltaReplicaStoragePool REF Dependent; }; // ================================================================== // HP 3PAR StorageReplicationCapabilities // ================================================================== [Description ( "This subclass defines the replication capabilities of a " "StorageConfigurationService.
// // //%//////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // File : HP 3PAR_TPDDisk.mof // // Purpose : This MOF contains HP 3PAR Disk classes that will be loaded // into root/tpd namespace.
"Bypass,TX Fault", "Bypass,LIP", "Bypass,DTMOUT", "Bypass,RX Loss", "Bypass,Sync Loss", "Bypass,PTFI", "Manual Bypass,Redundant Port", "Manual Bypass,Stall Threshold", "Manual Bypass,Word Error Burst", "Manual Bypass,Word Error High", "Manual Bypass,Burst CRC", "Manual Bypass,High CRC", "Manual Bypass,High Clock Delta", "Manual Bypass,Mirror", "Manual Bypass,Host", "Manual Bypass,Trunked Cable", "Manual Bypass,TBD", "Loopback", "Manual Bypass,Ins_Osc", "Manual Bypass,Burst LIP", "Manual Bypass,High LIP", "M
uint32 ChunksSpareUsedFail; [Description ("Number of Spare Unused Free chunks.") ] uint32 ChunksSpareUnusedFree; [Description ("Number of Spare Unused Uninitialized chunks.") ] uint32 ChunksSpareUnusedUninit; [Description ("Number of Spare Unused Fail chunks.") ] uint32 ChunksSpareUnusedFail; [Description ("Number of Correctable READ Errors.") ] uint64 CorrectableReadErrors; [Description ("Number of Uncorrectable READ Errors.
uint32 WearLevelRemain; }; // ================================================================== // HP 3PAR DiskDrivePackage // ================================================================== [Description ( "HP 3PAR Disk Drive Package for Vendor, Model, and Serial Number")] class TPD_DiskDrivePackage : CIM_PhysicalPackage { }; // ================================================================== // HP 3PAR DiskDrive and DiskDrivePackage mapping // =========================================================
// ================================================================== [Association, Description ( "HP 3PAR DiskSoftwareIdentity and DiskDrive mapping")] class TPD_DiskSoftware : CIM_ElementSoftwareIdentity { [Override ( "Antecedent" ), Description ( "The software that is installed on the Disk Drive.")] TPD_DiskSoftwareIdentity REF Antecedent; [Override ( "Dependent" ), Description ( "The Disk Drive.
"The child element in the association.")] TPD_DiskStorageExtent REF PartComponent; }; // =================================================================== // SCSIInitiatorTargetLogicalUnitPath // Comment this class out as it is still experimental // =================================================================== // [Association, Description ( // "An association that models a host driver path to a SCSI " // "logical unit.
TPD_StorageVolume REF Dependent; }; 3PAR_TPDNode.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted.
[Description ("Minor part of BIOS version.") ] uint16 BiosMinor; [Description ("Revision part of BIOS version.") ] uint16 BiosRevision; [Description ("Build part of BIOS version.") ] uint16 BiosBuild; [Description ("BIOS Version in String format.") ] string BiosVersion; [Description ("System LED status."), ValueMap {"0", "1", "2", "3", "4", "5"}, Values {"Unknown", "Off", "Green", "Green Blinking", "Amber", "Amber Blinking"} ] uint16 SystemLED; [Description ("Percentage of the node cache enabled.
[Override ("Dependent"), Description ( "The HP 3PAR Node system.") ] TPD_NodeSystem REF Dependent; }; // ================================================================== // HP 3PAR NodeRedundancySet // ================================================================== [Description ( "HP 3PAR Controller Node redundancy set.
}; // ================================================================== // HP 3PAR NodeSetIdentity // ================================================================== [Association, Description ( "TPD_NodeSetIdentity associates two elements representing " "different aspects of the same underlying entity: TPD_NodePairSystem" " and TPD_NodeRedundancySet.
[Aggregate, Override ( "GroupComponent" ), Description ( "The ComputerSystem that contains and/or aggregates other " "Systems.")] TPD_StorageSystem REF GroupComponent; [Override ( "PartComponent" ), Description ( "The contained (Sub)ComputerSystem.
[Description ("Single or double sided. ValueMap {"0"}, Values {"Unknown"} ] uint16 SideType; Not supported yet."), [Description ("Standard or stacked chips. Not supported yet."), ValueMap {"0"}, Values {"Unknown"} ] uint16 ChipsType; [Description ("CAS latency. / , in nS.") ] string CASLatency; Format: CL [Description ("JEDEC ID.") ] string JedecID; [Description ("Revision code.
[Aggregate, Override ( "GroupComponent" ), Max ( 1 ), Description ( "The NodePackage that contains IDE Drive(s).")] TPD_NodePackage REF GroupComponent; [Override ( "PartComponent" ), Description ( "The IDE Drive which is contained in the NodePackage.")] TPD_IDEDrive REF PartComponent; }; // ================================================================== // TPD PCI or PCIe Card // ================================================================== [Description ( "HP 3PAR PCI or PCIe Card.
[Override ( "Dependent" ), Weak, Description ( "The SCSIProtocolEndpoint representing front end port " "on the system.
3PAR_TPDEnv.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted. // // //%//////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // File : HP 3PAR_TPDEnv.
// ================================================================== [Description ( "Capabilities and management of the HP 3PAR Cage PowerSupply.")] class TPD_CagePowerSupply : TPD_PowerSupply { [Description ("Type of the cage this Power Supply is in."), ValueMap {"0", "2", "3", "4", "5", "6", "7", "8"}, Values {"Unknown", "DC1", "DC2", "DC3", "DC4", "DCS1", "DCS2", "DCN1"} ] uint16 CageType; [Description ("If TRUE, user can not modify model.
ValueMap {"0", "1", "2", "3", "4"}, Values {"Unknown", "Stopped", "Low", "Medium", "Hi"} ] uint16 Speed; [Description ("HP 3PAR specific operational state for the Fan"), ValueMap {"0", "1", "2", "4", "5", "6", "7" }, Values {"Unknown", "OK", "Error", "Critical", "Non Critical", "Not Installed", "Not Available"} ] uint16 OtherOperationalStatus; [Description ("Fan LED status. This is ONLY available for system fans.
{ [Description ("Position of the Battery.") ] uint16 Position; [Description ("Maximum battery life in minutes.") ] uint32 MaxLife; [Description ("If TRUE, MAX life is low and battery is failed.") ] boolean MaxLifeLow; [Description ("Manufacturing date of the Battery.") ] datetime ManufacturingDate; [Description ("Expiration date of the Battery.") ] datetime ExpirationDate; [Description ("Charge start date of the Battery.") ] datetime ChargeStartDate; [Description ("Vendor name of the Battery.
[Description ("HP 3PAR model name."), Read] string ModelName; [Description ("HP 3PAR assembly revision number."), Read] string AssemblyRevision; [Description ("HP 3PAR check sum."), Read] string Checksum; }; // =================================================================== // TPD_PowerSupplyBattery // =================================================================== [Association, Description ( "A Node PowerSupply may use or require one or more Batteries.
// TPD_PowerSupply and CIM_ComputerSystem association // ================================================================== [Association, Aggregation, Composition, Description ( "The SystemPowerSupply association represents a relationship between " "a TPD_PowerSupply and CIM_ComputerSystem (TPD_NodeSystem or " "TPD_StorageSystem).")] class TPD_SystemPowerSupply : CIM_SystemDevice { [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ), Description ( "The parent system in the Association.
// // (c) Copyright 2013 Hewlett-Packard Development Company, L.P. // All Rights Reserved. This software is the property of HPDC. Distribution // or deployment of the source or derived binaries of this // software are not permitted. // // //%//////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // File : 3PAR_TPDIndication.
"system administrator intervention.")] class TPD_AlertIndication : CIM_AlertIndication { [Override ( "EventID" ), Description ( " Contains alert message code that identifies the alert.
] class TPD_StorageVolumeAllocationFailureAlert : CIM_AlertIndication { }; [Indication, Description ( "Indication specifying that a storage volume has reached its " "allocation warning threshold..") ] class TPD_StorageVolumeAllocationWarningAlert : CIM_AlertIndication { }; [Indication, Description ( "Indication specifying that a storage volume has reached its " "its allocation limit threshold.
class TPD_StorageVolumeCapacityClearAlert: CIM_AlertIndication { }; [Indication, Description ( "Indication indicating that the previous alert condition " "regarding a delta replica storage pool has cleared.") ] class TPD_DeltaReplicaStoragePoolCapacityClearAlert: CIM_AlertIndication { }; [Indication, Description ( "Indication specifying that a storage volume has has failed to " "allocate snapshot space for user data.") ] class TPD_SnapshotUserSpaceAlert : CIM_AlertIndication { }; 3PAR_TPDLocation.
"Location object for inventory or replacement purposes.")] class TPD_SystemPackageLocation : CIM_PhysicalElementLocation { [Override ( "Element" ), Description ( "The PhysicalElement whose Location is specified.")] TPD_SystemPackage REF Element; [Override ( "PhysicalLocation" ), Max ( 1 ), Description ( "The PhysicalElement's Location.")] TPD_SystemLocation REF PhysicalLocation; }; 3PAR_TPDEthPort.
[Association, Description ( "An association between a ServiceAccessPoint and how it is " "implemented.")] class TPD_EthPortSAPImplementation : CIM_DeviceSAPImplementation { [Override ( "Antecedent" ), Description ( "The Ethernet Port.")] TPD_EthernetPort REF Antecedent; [Override ( "Dependent" ), Description ( "The IP Protocol Endpoint implemented using the Ethernet Port.
[Association, Description ( "This association makes explicit the dependency of a " "TCPProtocolEndpoint on an underlying IPProtocolEndpoint, on the same " "system.")] class TPD_BindsToIPEndpoint : CIM_BindsTo { [Override ( "Antecedent" ), Description ( "The underlying IPProtocolEndpoint, which is depended upon.")] TPD_IPProtocolEndpoint REF Antecedent; [Override ( "Dependent" ), Description ( "The TCPProtocolEndpoint dependent on the IPProtocolEndpoint.
// This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted. // // //%//////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // File : HP 3PAR_TPDiSCSI.mof // // Purpose : This MOF contains HP 3PAR iSCSI classes that will be loaded // into root/tpd namespace.
// ================================================================== [Association, Description ( "HP 3PAR NodeSystem and IPProtocolEndpoint association." "This is a subclass of CIM_HostedAccessPoint. There are many " "subclasses of CIM_HostedAcessPoint in the system. This class is " " named TPD_SystemIPEndpoint to distinguish with other subclasses.
"controller depends on for configuration.")] TPD_ControllerConfigurationService REF Antecedent; [Override ( "Dependent" ), Description ( "The iSCSI protocol controller which uses the controller " "configuration service.
"of the negotiation are found in the iSCSIConnection class.")] class TPD_iSCSIConnectionSettings : CIM_iSCSIConnectionSettings { }; // ================================================================== // HP 3PAR iSCSIConnectionTCPSetting // ================================================================== [Association, Description ( "ElementSettingData represents the association between " "ManagedElements and applicable setting data.
"SourceOrSink.")] class TPD_EndpointOfiSCSISession : CIM_EndpointOfNetworkPipe { [Override ( "Antecedent" ), Min ( 2 ), Max ( 2 ), Description ( "One of the endpoints of the pipe.")] TPD_iSCSIProtocolEndpoint REF Antecedent; [Override ( "Dependent" ), Description ( "The pipe which is dependent on the endpoints as the source " "or sink of the transferred information.
// ================================================================== // HP 3PAR iSCSISessionStatistics // ================================================================== [Description ( "Traffic and error statistics for an iSCSI Session. An instance " "of this class will be associated by ElementStatisticalData to " "the instance of iSCSISession.
TPD_StorageSystem REF ManagedElement; [Key, Description ( "The Capabilities object associated with the element.")] TPD_iSCSICapabilities REF Capabilities; }; // ================================================================== // HP 3PAR iSCSISAPAvailableForElement // ================================================================== [Association, Description ( "CIM_SAPAvailableForElement conveys the semantics of a Service " "Access Point that is available for a ManagedElement.
[Description ( "Statistics for Logins and Logouts to or from an iSCSI Node. An " "instance of this class will be associated by " "ElementStatisticalData to an instance of " "SCSIProtocolController that represents the Node. The Node can " "be either an Initiator or Target and so the interpretation of " "the properties in this class varies accordingly.
// Copyright 2005-2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted. // // //%//////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// // // File : HP 3PAR_TPDJob.mof // // Purpose : This MOF contains HP 3PAR Job Control classes that will be loaded // into root/tpd namespace.
}; // ================================================================== // HP 3PAR AffectedJobElement // ================================================================== [Association, Description ( "AffectedJobElement represents an association between a " "TPD_ConcreteJob and the ManagedElement(s) that may be " "affected by its execution, for example, a TPD_StorageVolume " "when a job is created as a side-effect of physical copy.
3PAR_TPDReplicationSvcs.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP 3PAR, Inc. All Rights Reserved. // This software is the property of HP 3PAR, Inc. Distribution // or deployment of the source or derived binaries of this // software are not permitted.
"the implementation constructs an appropriate " "ElementName using the RelationshipName. For " "example, RelationshipName as a prefix followed by " "\"_n\" sequence number, where n is a number " "beginning with 1." )] string RelationshipName, [Required, IN, Description ( "SyncType describes the type of copy that will be made." ), ValueMap { "..", "6", "7", "8", "..", "0x8000..
"requested when CreateGroupReplica was called. If " "Consistency is already active, no modification is " "made. \n" "Activate: Activate an inactive or prepared " "Synchronized association. \n" "AddSyncPair: Add pairs of elements already in a " "relationship to source and target groups -- see " "SyncPair parameter. \n" "Deactivate Consistency: Deactivate consistency. If " "consistency was not enabled, this operation has no " "effect. \n" "Deactivate: Stop the data flow.
"0x8000..0xFFFF" }, Values { "Abort", "Activate Consistency", "Activate", "AddSyncPair", "Deactivate Consistency", "Deactivate", "Detach", "Dissolve", "Failover", "Failback", "Fracture", "RemoveSyncPair", "Resync Replica", "Restore from Replica", "Resume", "Reset To Sync", "Reset To Async", "Return To ResourcePool", "Reverse Roles", "Split", "Suspend", "Unprepare", "DMTF Reserved", "Vendor Specific" }] uint16 Operation, [Required, IN, Description ( "The reference to the target ReplicationGroup.
TPD_StorageVolume REF TargetElements[], [IN ( false ), OUT, Description ( "Reference to the list of jobs (may be NULL if job is completed)." )] TPD_ConcreteJob REF Jobs[], [IN, Description ( "The definition for the SettingData to be " "maintained by the target storage object (the " "replica). If a target element is supplied, this " "parameter shall be NULL." )] TPD_StorageSetting REF TargetSettingGoal, [IN, Description ( "Method must wait until this CopyState is reached " "before returning.
// ================================================================== [Description ( "This class represents a collection of storage objects, such as " "a group of StorageVolumes. It is used to represent volume set." )] class TPD_ReplicationGroup : CIM_ReplicationGroup { [Description ( "System assigned ID for the volume set.")] uint32 ID; }; // ================================================================== // HP 3PAR System and ReplicationService association.
Key, Description ( "The ReplicationGroup that the ReplicationService " "may affect.")] TPD_ReplicationGroup REF AffectedElement; }; // Remote Replication related classes // ================================================================== // HP 3PAR RemoteStorageSynchronized // ================================================================== [Association, Description ( "Indicates that two Storage objects were remote replicated at the " "specified point in time.
uint32 SyncPolicy; }; // ================================================================== // HP 3PAR Remote Replication Group // ================================================================== [Description ( "This class represents a collection of StorageVolumes " "used for remote replication.")] class TPD_RemoteReplicationGroup : CIM_ReplicationGroup { [Description ( "Name of the administrative domain that this group belongs " "to.
datetime SyncInterval; [Description ( "Specifies the policy of the Remote Copy volume groups for dealing with I/O " "failure and error handling of the replication. Valid values are:" " no_fail_wrt_on_err " " Specifies that if Remote Copy is started for the volume group " " and a write to the secondary system fails, then the Remote Copy " " operation is stopped and an I/O error is not returned to the " " host (default).
Description ( "HostedCollection defines a RemoteReplicationGroup in the " "context of StorageSystem. It represents a Collection that " "has meaning only in the context of a System, a Collection " "whose elements are restricted by the definition of the System, " "or both of these types of Collections." )] class TPD_HostedRemoteReplicationGroup : CIM_HostedCollection { [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description ( "The scoping system.
"If the remote StorageVolume in a remote replication relationship " "cannot be discovered, then this will be represented in the " "RemoteStorageSynchronized association as either SystemElement or " "SyncedElement property. This will not exist as an instance " "on its own." )] class TPD_ReplicationEntity : CIM_ReplicationEntity { }; 3PAR_TPDStats.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP 3PAR, Inc. All Rights Reserved.
[Description ( "Block Statistics Statistics collection")] class TPD_BlockStatisticsManifestCollection : CIM_BlockStatisticsManifestCollection { }; // ================================================================== // Associated Block Statistics Manifest Collection // ================================================================== [Association, Description ( "Instances of this class associate a " "BlockStatisticsManifestCollection to the StatisticsCollection " "to which is is applied.
{ [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description ( "The scoping system.")] TPD_StorageSystem REF Antecedent; [Override ( "Dependent" ), Description ( "The collection defined in the context of a system.
{ [Description ( "The cumulative count of all Read Cache misses.")] uint64 ReadMissIOs; [Description ( "The cumulative count of all Write Cache misses.")] uint64 WriteMissIOs; [Description ( "Number of pages being modified by host read I/O that are " "being written to disk by the flusher.")] uint64 LockedReadBlocks; [Description ( "Number of pages being modified by host write I/O that are " "being written to disk by the flusher.
[Description ( "Current number of dirty cluster memory pages in the system " "for the NL disk type.")] uint32 NLCfcDirty; [Description ( "Current number of dirty cluster memory pages in the system " "for the SSD disk type.")] uint32 SSDCfcDirty; [Description ( "Maximum allowed number of dirty cluster memory pages in the system " "for the 10k RPM FC disk type.")] uint32 FC10kRPMCfcMax; [Description ( "Maximum allowed number of dirty cluster memory pages in the system " "for the 15k RPM FC disk type.
[Description ( "The idle time since system start time, using ClockTickInterval " "units, for all the CPUs on the node." ), Counter] uint64 TotalCPUIdleTimeCounter; [Description ( "The number of interrupts since system start time of the CPUs on the node." )] uint64 Interrupts; [Description ( "The number of context switches since system start time of the " "CPUs on the node.
[Description ( "The queue length")] uint32 QueueLength; [Description ( "Percent of current busy use."), Units( "Percent" )] uint32 PercentBusy; }; // ================================================================== // Disk Element Statistical Data // ================================================================== [Association, Description ( "An association that relates a " "ManagedElement to its StatisticalData. Note that the " "cardinality of the ManagedElement reference is Min(1), Max(1).
}; // ================================================================== // Volume Statistical Data // ================================================================== [Description ( "Statistical data for the Volume")] class TPD_VolumeStatisticalData : CIM_BlockStorageStatisticalData { [Description ( "The service time since system start time, using ClockTickInterval " "units, for the Read I/Os.
TPD_VolumeStatisticalData REF Stats; }; // ================================================================== // Block Statistics Service // ================================================================== class TPD_BlockStatisticsService : CIM_BlockStatisticsService { }; // ================================================================== // Hosted Statistics Service // ================================================================== [Association, Description ( "An association between a Service and th
// ================================================================== // LUNs Statistical Data // ================================================================== [Description ( "Statistical data for the LUNs")] class TPD_LUNStatisticalData : CIM_BlockStorageStatisticalData { }; 13PAR_TPDSASPort.mof //%//////////////////////////////////////////////////////////////////////// // // // Copyright 2011 HP All Rights Reserved. // This software is the property of HP 3PAR, Inc.
boolean ModeChangeAllowed; [Description ("Describes device type this port is connected to."), ValueMap {"0", "1", "2", "3", "4"}, Values {"Free", "Host", "Disk", "IPort", "FCRC"} ] uint16 DeviceTypeConnected; [Description ("List of devices, this port is connected to.") ] string ConnectedTo; [Description ("Connection type.
Values {"Disk", "Host", "RCFC", "Peer"} ] uint16 ConnectionMode; }; // ================================================================== // HP 3PAR SASPhyStatistics // ================================================================== [Description ("HP 3PAR Statistics for a SAS PHY. This holds PHY error " "statistics.
[Override ("GroupComponent"), Aggregate, Description ("The SAS port that aggregates the PHY.") ] TPD_SASPort REF GroupComponent; [Override ("PartComponent"), Description ("The individual PHY.
// SASPHY Element Statistical Data // ================================================================== [Association, Description ( "An association between SASPHY and SASPhyStatistics.")] class TPD_SASPHYElementStatisticalData : CIM_ElementStatisticalData { [Key, Min ( 1 ), Max ( 1 ), Description ( "The ManagedElement for which statistical or metric data is " "defined.")] TPD_SASPHY REF ManagedElement; [Key, Description ( "The statistic information/object.