Class lstorage:Item (ABSTRACT)

Class ID:2064
Encrypted: false - Exportable: false - Persistent: true
Privileges: []
SNMP OID:

An abstract base class to represent of a storage item provisionned by the user.

Storage Technologies

Multiple storage technologies are available as shown in the list below. Each storage technology may require a different set of properties for the provisioning. The lstorage:Item object is subclassed for each class of storage technology.

Storage Item Lifecycle

Storage items can be deployed automatically or manually. "Deploying" means the system is configuring the storage resources in a storage sub-system (such as creating LUNs in a storage array). Similarly, storage items can be undeployed automatically or manually. Undeploying means the storage resources are deleted in the storage sub-system.

Storage items have an option to preserve ("persistent") or discard ("ephemeral") the storage configuration when the {@link ls:Server is disassociated}. The user can control whether storage is persistent or ephemeral using the "protectConfig" property.

"Ephemeral" storage is temporary. It will persist across reboots of the server, but it will be discarded when the Service Profile is disassociated from the physical server. In addition, ephemeral storage will be discarded when the lstorage:Item object is deleted or disassociated from the service profile.

"Persistent" storage is preserved at ls:Server disassociation. It may be detached or reattached to any physical server instance while retaining all data.


Naming Rules


DN FORMAT: 

                




Inheritance
policy:Item The base class for all objects contained by policy:Definition. Though no containment rules are specified here, by convention policy:Item must be contained by either policy:Definition or another policy:Item.
 ├
lstorage:Item
 
 ├
lstorage:ControllerDef
 
 ├
lstorage:ScsiLun Encapsulates the storage requirements for a single SCSI LUN. The user specifies whether the LUN should be accessed locally or remotely. Based on the requirements, the system automatically creates the SCSI LUN using one of the following methods: SCSI LUN is created locally on a physical server, such as a SCSI LUN configured in a RAID group using Direct Atta...
 
 
 ├
lstorage:DasScsiLun Represents the storage requirements for a Direct Attach Storage LUN. Direct Attach Storage LUNs are configured in local disks, such as locally attached SAS disks connected to SCSI controllers. Local LUN Provisioning There are multiple options for provisioning local LUNs: Creating a {@link storage:LocalDiskConfigDef} MO under a {@link ls...
 
 ├
lstorage:Security

Events
                



Faults
                



Fsms
                



Properties Summary
Defined in: lstorage:Item
lstorage:AdminState
          scalar:Enum8
adminState  (lstorage:Item:adminState)
           Specifies the administrative state of this storage item.

lstorage:ConfigIssues
          scalar:Bitmask64
configQualifier  (lstorage:Item:configQualifier)
           Specifies the details of the configuration issues
lstorage:ConfigState
          scalar:Enum8
configState  (lstorage:Item:configState)
           Specifies the configuration state of this storage item.

The value is set to "not-applied" when this Item belongs to a Storage Profile template.

naming:Name
          string:Basic
name  (lstorage:Item:name)
           NO COMMENTS
storage:UnitOperState
          scalar:Enum8
operState  (lstorage:Item:operState)
           Specifies the operational state of this storage item. The value is synchronized with the corresponding item on storage side after the item is deployed on storage system.

Defined in: mo:TopProps
mo:ModificationChildAction
          scalar:Bitmask32
childAction  (mo:TopProps:childAction)
          
reference:Object dn  (mo:TopProps:dn)
           The Distinguished Name (dn) unambiguously identifies an object in the system.
The dn provides a fully qualified path from the top of the object tree, all the way to the object. It is built as a sequence of relative names separated by the "/" character.
For example:
< ... dn = "sys/chassis-5/blade-2/adaptor-1" />
reference:RN rn  (mo:TopProps:rn)
           The Relative Name (rn) uniquely identifies an object within a given context.
Note that a dn is comprised of a sequence of relative names. For example, the context "sys/chassis-1/blade-1/adaptor-1/host-eth-2" can be thought of as the following expression:
dn = <root object>/{rn}/{rn}/{rn}/{rn}/{rn}.
The rn can then be used to identify the object (for instance, "adaptor-1") within the context:
<... rn ="../" />
mo:InstSaclType
          scalar:Bitmask8
sacl  (mo:TopProps:sacl)
           The system acl property for each Managed Object. br/> This property is a 8 bit mask and supports the following values :-
a: del
b: mod
c: addchild
d: cascade

By default all Managed Objects have the following permissions
a: del
b: mod
c: addchild
This property is persisted in the db. If this property has a value none
it means, the user has read only permissions on this object.
mo:ModificationStatus
          scalar:Bitmask32
status  (mo:TopProps:status)
           This property controls the life cycle of a managed object

Properties Detail

adminState

Type: lstorage:AdminState
Primitive Type: scalar:Enum8
Units: null
Encrypted: false
Access: admin
Category: TopLevelRegular
Property Validators:
Comments:
Specifies the administrative state of this storage item.

Constants
online 1 "online" means the storage item should be configured in the storage sub-system and can be used by the storage initiator. By default, the storage item is automatically configured when the service profile is associated.
offline 2 "offline" means the storage item should be put in an offline mode where it is no longer accessible from the initiator. This can be used for maintenance purpose. When the item is "offline". the data is not discarded and can be accessed immediately after setting the storage item back to "online".
undeployed 4 Specify the storage item should be configured immediately, even if the service profile is not associated. This value is used to pre-deploy storage items.

When the XML API user sets the value to "deploy", the system triggers an FSM to configure the LUN and then sets the value to "online".
It is not always possible to pre-deploy storage items. For example, local LUNs cannot be configured before service profile association. Specify the storage item should be undeployed. This is used for instance ref's. This allows the user to configure certain properties of the instance ref prior to deployment. It also allows the user to release a deployed LUN

DEFAULT online(1) "online" means the storage item should be configured in the storage sub-system and can be used by the storage initiator. By default, the storage item is automatically configured when the service profile is associated.

childAction

Type: mo:ModificationChildAction
Primitive Type: scalar:Bitmask32
Units: null
Encrypted: false
Access: implicit
Category: TopLevelChildAction
Property Validators:
Comments:
Constants
deleteAll 16384u NO COMMENTS
ignore 4096u NO COMMENTS
deleteNonPresent 8192u NO COMMENTS
DEFAULT 0 This type is used to

configQualifier

Type: lstorage:ConfigIssues
Primitive Type: scalar:Bitmask64
Units: null
Encrypted: false
Access: oper
Category: TopLevelRegular
Property Validators:
Comments:
Specifies the details of the configuration issues
Constants
not-applicable 0ull NO COMMENTS
identity-assignment 128ull NO COMMENTS
unsupported-storage-capability 16ull NO COMMENTS
lun-id-conflict 1ull NO COMMENTS
missing-firmware-image 256ull NO COMMENTS
lun-capacity-exceeded 2ull NO COMMENTS
insufficient-lun-resources 32ull NO COMMENTS
lun-limit-exceeded 4ull NO COMMENTS
lun-ownership-conflict 64ull NO COMMENTS
storage-unavailable 8ull NO COMMENTS
DEFAULT not-applicable(0ull) NO COMMENTS

configState

Type: lstorage:ConfigState
Primitive Type: scalar:Enum8
Units: null
Encrypted: false
Access: implicit
Category: TopLevelRegular
Property Validators:
Comments:
Specifies the configuration state of this storage item.

The value is set to "not-applied" when this Item belongs to a Storage Profile template.

Constants
ok 0 NO COMMENTS
applied 1 NO COMMENTS
failed-to-apply 2 NO COMMENTS
applying 3 NO COMMENTS
DEFAULT ok(0) NO COMMENTS

dn

Type: reference:Object
Units: null
Encrypted: false
Access: implicit
Category: TopLevelDn
Property Validators:
Comments:
The Distinguished Name (dn) unambiguously identifies an object in the system.
The dn provides a fully qualified path from the top of the object tree, all the way to the object. It is built as a sequence of relative names separated by the "/" character.
For example:
< ... dn = "sys/chassis-5/blade-2/adaptor-1" />

name

Type: naming:Name
Primitive Type: string:Basic
Like: naming:Named:name
Units: null
Encrypted: false
Access: admin
Category: TopLevelRegular
Property Validators:
    Range:  min: "0"  max: "16"
        Allowed Chars:
            Regex: [a-zA-Z0-9_.:-]+
Comments:
NO COMMENTS

operState

Type: storage:UnitOperState
Primitive Type: scalar:Enum8
Units: null
Encrypted: false
Access: implicit
Category: TopLevelRegular
Property Validators:
Comments:
Specifies the operational state of this storage item. The value is synchronized with the corresponding item on storage side after the item is deployed on storage system.

Constants
undefined 0 NO COMMENTS
online 1 NO COMMENTS
offline 2 NO COMMENTS
compute-inoperable 4 Block Boot & Install
compute-degraded 5 Allow Boot, Block Install
DEFAULT undefined(0) NO COMMENTS

rn

Type: reference:RN
Units: null
Encrypted: false
Access: implicit
Category: TopLevelRn
Property Validators:
Comments:
The Relative Name (rn) uniquely identifies an object within a given context.
Note that a dn is comprised of a sequence of relative names. For example, the context "sys/chassis-1/blade-1/adaptor-1/host-eth-2" can be thought of as the following expression:
dn = <root object>/{rn}/{rn}/{rn}/{rn}/{rn}.
The rn can then be used to identify the object (for instance, "adaptor-1") within the context:
<... rn ="../" />

sacl

Type: mo:InstSaclType
Primitive Type: scalar:Bitmask8
Units: null
Encrypted: false
Access: implicit
Category: TopLevelSacl
Property Validators:
Comments:
The system acl property for each Managed Object. br/> This property is a 8 bit mask and supports the following values :-
a: del
b: mod
c: addchild
d: cascade

By default all Managed Objects have the following permissions
a: del
b: mod
c: addchild
This property is persisted in the db. If this property has a value none
it means, the user has read only permissions on this object.
Constants
none 0 NO COMMENTS
del 1 NO COMMENTS
mod 2 NO COMMENTS
addchild 4 NO COMMENTS
cascade 8 NO COMMENTS
DEFAULT 0 NO COMMENTS

status

Type: mo:ModificationStatus
Primitive Type: scalar:Bitmask32
Units: null
Encrypted: false
Access: implicit
Category: TopLevelStatus
Property Validators:
Comments:
This property controls the life cycle of a managed object
Constants
removed 16u In a setter method: specifies that an object should be removed.
In the return value of a setter method: indicates that an object has been removed.
created 2u In a setter method: specifies that an object should be created. An error is returned if the object already exists.
In the return value of a setter method: indicates that an object has been created.
modified 4u In a setter method: specifies that an object should be modified
In the return value of a setter method: indicates that an object has been modified.
deleted 8u In a setter method: specifies that an object should be deleted.
In the return value of a setter method: indicates that an object has been deleted.
DEFAULT 0 This type controls the life cycle of objects passed in the XML API.

When used in a setter method (such as configConfMo), the ModificationStatus specifies whether an object should be created, modified, deleted or removed.
In the return value of a setter method, the ModificationStatus indicates the actual operation that was performed. For example, the ModificationStatus is set to "created" if the object was created. The ModificationStatus is not set if the object was neither created, modified, deleted or removed.

When invoking a setter method, the ModificationStatus is optional:
If a setter method such as configConfMo is invoked and the ModificationStatus is not set, the system automatically determines if the object should be created or modified.