Smis Class Reference

Public Member Functions

def __init__
def plugin_register
def time_out_set
def time_out_get
def plugin_unregister
def capabilities
def plugin_info
def job_status
def volumes
def pools
def systems
def volume_create
def volume_delete
def volume_resize
def volume_replicate
def volume_mask
def volume_unmask
def volumes_accessible_by_access_group
def access_groups_granted_to_volume
def access_groups
def access_group_initiator_add
def access_group_initiator_delete
def job_free
def disks
def target_ports
def access_group_create
def access_group_delete

Data Fields

 tmo

Detailed Description

SMI-S plug-ing which exposes a small subset of the overall provided
functionality of SMI-S

Definition at line 103 of file smis.py.


Member Function Documentation

def __init__ (   self  ) 

Definition at line 113 of file smis.py.

def access_group_create (   self,
  name,
  init_id,
  init_type,
  system,
  flags = 0 
)
Using 1.5.0 'Group Masking and Mapping' profile.
Actually, only EMC VMAX/DMX support this now(July 2014).
Steps:
    0. Check exist SPC of init_id for duplication call and
       conflict.
    1. Create CIM_InitiatorMaskingGroup

Definition at line 1892 of file smis.py.

def access_group_delete (   self,
  access_group,
  flags = 0 
)

Definition at line 1985 of file smis.py.

def access_group_initiator_add (   self,
  access_group,
  init_id,
  init_type,
  flags = 0 
)

Definition at line 1312 of file smis.py.

def access_group_initiator_delete (   self,
  access_group,
  init_id,
  init_type,
  flags = 0 
)

Definition at line 1410 of file smis.py.

def access_groups (   self,
  search_key = None,
  search_value = None,
  flags = 0 
)

Definition at line 1234 of file smis.py.

def access_groups_granted_to_volume (   self,
  volume,
  flags = 0 
)

Definition at line 1168 of file smis.py.

def capabilities (   self,
  system,
  flags = 0 
)

Definition at line 179 of file smis.py.

def disks (   self,
  search_key = None,
  search_value = None,
  flags = 0 
)
return all object of data.Disk.
We are using "Disk Drive Lite Subprofile" v1.4 of SNIA SMI-S for these
classes to create LSM Disk:
    CIM_DiskDrive
    CIM_StorageExtent (Primordial)
Due to 'Multiple Computer System' profile, disks might associated to
sub ComputerSystem. To improve performance of listing disks, we will
use EnumerateInstances(). Which means we have to filter the results
by ourselves in case URI contain 'system=xxx'.

Definition at line 1453 of file smis.py.

def job_free (   self,
  job_id,
  flags = 0 
)
Frees the resources given a job number.

Definition at line 1439 of file smis.py.

def job_status (   self,
  job_id,
  flags = 0 
)
Given a job id returns the current status as a tuple
(status (enum), percent_complete(integer), volume (None or Volume))

Definition at line 188 of file smis.py.

def plugin_info (   self,
  flags = 0 
)

Definition at line 184 of file smis.py.

def plugin_register (   self,
  uri,
  password,
  timeout,
  flags = 0 
)
Called when the plug-in runner gets the start request from the client.
Checkout interop support status via:
    1. Enumerate CIM_RegisteredProfile in 'interop' namespace.
    2. if nothing found, then
       Enumerate CIM_RegisteredProfile in 'root/interop' namespace.
    3. if nothing found, then
       Enumerate CIM_RegisteredProfile in user defined namespace.

Definition at line 118 of file smis.py.

def plugin_unregister (   self,
  flags = 0 
)

Definition at line 175 of file smis.py.

def pools (   self,
  search_key = None,
  search_value = None,
  flags = 0 
)
Convert CIM_StoragePool to lsm.Pool.
To list all CIM_StoragePool:
    1. List all root CIM_ComputerSystem.
    2. List all CIM_StoragePool associated to CIM_ComputerSystem.

Definition at line 332 of file smis.py.

def systems (   self,
  flags = 0 
)
Return the storage arrays accessible from this plug-in at this time

As 'Block Services Package' is mandatory for 'Array' profile, we
don't check support status here as startup() already checked 'Array'
profile.

Definition at line 357 of file smis.py.

def target_ports (   self,
  search_key = None,
  search_value = None,
  flags = 0 
)

Definition at line 1762 of file smis.py.

def time_out_get (   self,
  flags = 0 
)

Definition at line 171 of file smis.py.

def time_out_set (   self,
  ms,
  flags = 0 
)

Definition at line 167 of file smis.py.

def volume_create (   self,
  pool,
  volume_name,
  size_bytes,
  provisioning,
  flags = 0 
)
Create a volume.

Definition at line 371 of file smis.py.

def volume_delete (   self,
  volume,
  flags = 0 
)
Delete a volume

Definition at line 560 of file smis.py.

def volume_mask (   self,
  access_group,
  volume,
  flags = 0 
)
Grant access to a volume to an group

Definition at line 878 of file smis.py.

def volume_replicate (   self,
  pool,
  rep_type,
  volume_src,
  name,
  flags = 0 
)
Replicate a volume

Definition at line 645 of file smis.py.

def volume_resize (   self,
  volume,
  new_size_bytes,
  flags = 0 
)
Re-size a volume

Definition at line 577 of file smis.py.

def volume_unmask (   self,
  access_group,
  volume,
  flags = 0 
)

Definition at line 1041 of file smis.py.

def volumes (   self,
  search_key = None,
  search_value = None,
  flags = 0 
)
Return all volumes.
We are basing on "Block Services Package" profile version 1.4 or
later:
    CIM_ComputerSystem
 |
 |  (CIM_HostedStoragePool)
 |
 v
    CIM_StoragePool
 |
 | (CIM_AllocatedFromStoragePool)
 |
 v
    CIM_StorageVolume
As 'Block Services Package' is mandatory for 'Array' profile, we
don't check support status here as startup() already checked 'Array'
profile.

Definition at line 293 of file smis.py.

def volumes_accessible_by_access_group (   self,
  access_group,
  flags = 0 
)

Definition at line 1129 of file smis.py.


Field Documentation

tmo

Definition at line 115 of file smis.py.


The documentation for this class was generated from the following file:

Generated on 9 Jul 2015 for libStorageMgmt by  doxygen 1.6.1