version 1.1.2.1, 2012/01/24 13:50:09
|
version 1.1.2.2, 2012/02/15 17:46:24
|
|
|
|
// Copyright (c) 2011 DMTF. All rights reserved. |
|
[Version ( "2.29.0" ), |
|
UMLPackagePath ( "CIM::Device::StorageDevices" ), |
|
Description ( |
|
"A class derived from CIM_Capabilities that models the " |
|
"capabilities of a multipath driver. Note that \'path\' in this " |
|
"context refers to end-to-end device paths (for example, SCSI " |
|
"initiator/target) with no understanding of edge paths between " |
|
"interconnect elements such as switches. Load balancing only " |
|
"applies to symmetric multipath devices or to the ports in " |
|
"SCSITargetPortGroups in active access state. \n" |
|
"A driver may support different algorithms for load balancing. " |
|
"A few common algorithms are listed. Algorithms for specific " |
|
"device models and software vendor specific algorithms are also " |
|
"accommodated. \n" |
|
"\n" |
|
"An instance of this capabilities class MUST be instantiated " |
|
"whenever SCSIPathConfigurationService is instantiated and they " |
|
"MUST be assocaited one to one using ElementCapabilities. " |
|
"Multiple instances of the service/acapabilities pair MAY exist " |
|
"if multiple multipath drivers are installed. Each " |
|
"LogicalDevice subclass served by the underlying multipath " |
|
"driver is associated to the associated Service instance via " |
|
"ServiceAvailableToELement." )] |
|
class CIM_SCSIMultipathConfigurationCapabilities : CIM_Capabilities { |
|
|
|
[Description ( |
|
"The load balance types supported by the driver for all " |
|
"logical units on a target device. If \'Product " |
|
"Specified\' is included, one or more instances of " |
|
"CIM_Product must be aggregated to the capabilities " |
|
"instance via ConcreteComponent. Each Product instance " |
|
"provides the SCSI Vendor, Product, and Revision ID of a " |
|
"supported product." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6", "7" }, |
|
Values { "Unknown", "Other", "No Load Balancing", |
|
"Round Robin", "Least Blocks", "Least IO", "LBA Region", |
|
"Product Specific" }, |
|
ArrayType ( "Indexed" ), |
|
MappingStrings { "MP_API.SNIA|MP_LOAD_BALANCE_TYPE" }, |
|
ModelCorrespondence { |
|
"CIM_SCSIMultipathConfigurationCapabilities.OtherSupportedLoadBalanceAlgorithmNames", |
|
"CIM_SCSIMultipathConfigurationCapabilities.OtherSupportedLoadBalanceVendorNames" }] |
|
uint16 SupportedLoadBalanceTypes[]; |
|
|
|
[Description ( |
|
"When the corresponding array entry in " |
|
"SupportedLoadBalanceTypes[] is \'Other\', this entry " |
|
"provides a string describing the load balancing " |
|
"algorithm. When the corresponding array entry in " |
|
"SupportedLoadBalanceTypes[] is \'Product Specific\', " |
|
"this entry provides a string specifying the SCSI " |
|
"vendor/product/revision and must be formatted as exactly " |
|
"28 ASCII characters - 8 for vendor, 16 for product, and " |
|
"4 for revision (see SCSI SPC Inquiry response)" ), |
|
ArrayType ( "Indexed" ), |
|
MappingStrings { "SPC.INCITS-T10 |Standard Inquiry Response", |
|
"MP_API.SNIA|MP_LOAD_BALANCE_TYPE", |
|
"MP_API.SNIA|MP_DEVICE_PRODUCT_PROPERTIES" }, |
|
ModelCorrespondence { |
|
"CIM_SCSIMultipathConfigurationCapabilities.SupportedLoadBalanceTypes", |
|
"CIM_SCSIMultipathConfigurationCapabilities.OtherSupportedLoadBalanceVendorNames" }] |
|
string OtherSupportedLoadBalanceAlgorithmNames[]; |
|
|
|
[Description ( |
|
"When the corresponding array entry in " |
|
"SupportedLoadBalanceTypes[] is \'Other\', this entry " |
|
"provides a string describing the vendor associated with " |
|
"the load balancing algorithm." ), |
|
ArrayType ( "Indexed" ), |
|
MappingStrings { "MP_API.SNIA|MP_LOAD_BALANCE_TYPE" }, |
|
ModelCorrespondence { |
|
"CIM_SCSIMultipathConfigurationCapabilities.SupportedLoadBalanceTypes", |
|
"CIM_SCSIMultipathConfigurationCapabilities.OtherSupportedLoadBalanceAlgorithmNames" }] |
|
string OtherSupportedLoadBalanceVendorNames[]; |
|
|
|
[Description ( |
|
"The capability of the driver to support the SetTPGAccess " |
|
"method. True if the implementation supports activating " |
|
"target port groups." ), |
|
MappingStrings { |
|
"MP_API.SNIA|MP_PLUGIN_PROPERTIES|canSetTPGAccess" }, |
|
ModelCorrespondence { |
|
"CIM_SCSIPathConfigurationService.SetTPGAccess" }] |
|
boolean CanSetTPGAccess = false; |
|
|
|
[Description ( |
|
"The capability of the driver to support the " |
|
"SetOverridePath and CancelOverridePaths methods. True if " |
|
"the implementation supports path overrides." ), |
|
MappingStrings { |
|
"MP_API.SNIA|MP_PLUGIN_PROPERTIES|canOverridePaths" }, |
|
ModelCorrespondence { |
|
"CIM_SCSIPathConfigurationService.SetOverridePath" }] |
|
boolean CanOverridePaths = false; |
|
|
|
[Description ( |
|
"False if the MP drivers assure only a single device file " |
|
"name (e.g. /dev/dsk/...) exists for each MP device. True " |
|
"if the implementation exposes (or leaves exposed) device " |
|
"files for the individual paths encapsulated by the " |
|
"multipath device file. This is typically true for MP " |
|
"drivers that sit near the top of the driver stack and " |
|
"false for transport drivers at the bottom of the stack." ), |
|
MappingStrings { |
|
"MP_API.SNIA|Plugin Properties|exposesPathDeviceFiles" }] |
|
boolean ExposesPathDeviceFiles; |
|
|
|
[Description ( |
|
"A string representing the primary file names the driver " |
|
"uses for multipath logical units, if those filenames do " |
|
"not match the names in Logical Unit osDeviceName as " |
|
"documented in Appendix A of the SNIA MP API " |
|
"specification. The name is expressing in the following " |
|
"format: \n" |
|
"\'*\' represents one or more alphanumeric characters \n" |
|
"\'#\' represents a string of consecutive digits \n" |
|
"\'%\' represents a string of hexadecimal digits \n" |
|
"backslash is an escape character for literal " |
|
"presentation of *, #, or %. Any other character is " |
|
"interpreted literally. For example, \'/dev/vx/dmp/*\'. " |
|
"If the multipath driver creates multipath logical unit " |
|
"device file names in the same namespace as the OS then " |
|
"this property should be left null." ), |
|
MaxLen ( 256 ), |
|
MappingStrings { |
|
"MP_API.SNIA|MP_PLUGIN_PROPERTIES|deviceNameFilespace" }] |
|
string DeviceNameFilespace; |
|
|
|
[Description ( |
|
"True if the only supported device types are those " |
|
"described in aggregated CIM_Product instances as " |
|
"described in the description of " |
|
"SupportedLoadBalanceTypes." ), |
|
MappingStrings { |
|
"MP_API.SNIA|MP_PLUGIN_PROPERTIES|deviceNameFilespace" }, |
|
ModelCorrespondence { |
|
"CIM_SCSIMultipathConfigurationCapabilities.SupportedLoadBalanceTypes" }] |
|
boolean OnlySupportsSpecifiedProducts = false; |
|
|
|
[Description ( |
|
"Describes the range of administer settable path weights " |
|
"supported by the driver. A driver with no path " |
|
"preference capabilities should set this property to " |
|
"zero. A driver with the ability to enable/disable paths " |
|
"should set this property to 1. Drivers with more weight " |
|
"settings can set the property appropriately." ), |
|
MappingStrings { |
|
"MP_API.SNIA|MP_PLUGIN_PROPERTIES|maximumWeight" }] |
|
uint32 MaximumWeight; |
|
|
|
[Description ( |
|
"Specifies whether the implementation supports " |
|
"auto-failback (to re-enable paths that revert to a good " |
|
"state) at the plugin level, the multipath logical unit " |
|
"level, both levels or whether auto-failback is " |
|
"unsupported." ), |
|
ValueMap { "0", "2", "3", "4", "5" }, |
|
Values { "Unknown", "No Autofailback support", |
|
"Autofailback support service-wide", |
|
"Autofailback support per logical unit", |
|
"Autofailback support per service or logical unit" }, |
|
MappingStrings { |
|
"MP_API.SNIA|MP_PLUGIN_PROPERTIES|autofailbackSupport" }, |
|
ModelCorrespondence { |
|
"CIM_SCSIMultipathConfigurationCapabilities.AutofailbackEnabled", |
|
"CIM_SCSIMultipathSettings.AutofailbackEnabled" }] |
|
uint16 AutofailbackSupport; |
|
|
|
[Description ( |
|
"A Boolean indicating that autofailback is enabled to all " |
|
"logical units associated to the " |
|
"CIM_SCSIPathConfigurationService associated with this " |
|
"capabilities instance (unless overridden by " |
|
"CIM_SCSIMultipathSettings AutoFailbackEnabled." ), |
|
MappingStrings { |
|
"MP_API.SNIA|MP_PLUGIN_PROPERTIES|autoFailbackEnabled" }, |
|
ModelCorrespondence { |
|
"CIM_SCSIMultipathConfigurationCapabilities.AutofailbackSupport", |
|
"CIM_SCSIMultipathSettings.AutofailbackEnabled" }] |
|
boolean AutoFailbackEnabled; |
|
|
|
[Description ( |
|
"The maximum polling rate (in seconds) supported by the " |
|
"driver. A value of zero indicates the driver/plugin does " |
|
"not support polling. This maximum applies to both " |
|
"BadPathPollingRate and InactivePathPollingRate." ), |
|
MappingStrings { |
|
"MP_API.SNIA|MP_PLUGIN_PROPERTIES|pollingRateMax" }] |
|
uint32 PollingRateMax; |
|
|
|
[Write, Description ( |
|
"The current rate in seconds. Only valid when " |
|
"pollingRateMax is greater than 0 and canAutoFailback are " |
|
"true." ), |
|
MappingStrings { |
|
"MP_API.SNIA|MP_PLUGIN_PROPERTIES|currentPollingRate" }] |
|
uint32 CurrentPollingRate; |
|
|
|
[Write, Description ( |
|
"The load balance types supported by the driver if not " |
|
"overridden by an administrative action." ), |
|
ValueMap { "0", "1", "2", "3", "4", "5", "6" }, |
|
Values { "Unknown", "Other", "No Load Balancing", |
|
"Round Robin", "Least Blocks", "Least IO", |
|
"Product Specific" }, |
|
MappingStrings { |
|
"MP_API.SNIA|MP_PLUGIN_PROPERTIES|defaultLoadBalanceType" }] |
|
uint16 DefaultLoadBalanceType; |
|
|
|
|
|
}; |