Gris Ge
2014-03-26 12:09:03 UTC
* What is ID?
Currently, plugin has free control of ID generation.
On LSI via SMI-S plugin, I could get a pool ID like this:
'500605B0073A74D0_Storage Pool_LSI
MegaRAID SAS 9271-8i:500605B0073A74D00:Pool:8'
Proposal: [a-z0-9]{32}
Generation: md5(Class.name + Class.sys_id)
# Plugin should choose a system-level unique name for
# this object.
System.id = md5(System.name)
Example:
class Pool:
def __init__(self, name, sys_id):
self._id = md5(name, sys_id)
* Object vs ID as parameter.
NetApp plugin need Pool.name to find out the needed aggregate
directly. If only ID provided, it has to enumerate all aggregate.
So, I put my vote to 'Object'.
* Python API review.
I created this document for Python API detail review.
https://sourceforge.net/p/libstoragemgmt/wiki/Python_API_Usage
We can discuss the format of document and if possible review these:
* lsm.Client(), lsm.Client.close()
* lsm.System, lsm.Client.systems()
* lsm.Disk, lsm.Client.disks()
* Introducing new class VolumeMaskInfo for querying volume masking
status. VolumeMaskInfo will have these properties:
ag_id # Access group ID
ag_name # Access group name
vol_id # Volume ID
vol_name # Volume name
access_type # RO, RW, No access, Unknown.
* Should xxx_type_to_str() be private?
1. When raising error, plugin might want to covert to human readable
string other than type number.
Currently, plugin has free control of ID generation.
On LSI via SMI-S plugin, I could get a pool ID like this:
'500605B0073A74D0_Storage Pool_LSI
MegaRAID SAS 9271-8i:500605B0073A74D00:Pool:8'
Proposal: [a-z0-9]{32}
Generation: md5(Class.name + Class.sys_id)
# Plugin should choose a system-level unique name for
# this object.
System.id = md5(System.name)
Example:
class Pool:
def __init__(self, name, sys_id):
self._id = md5(name, sys_id)
* Object vs ID as parameter.
NetApp plugin need Pool.name to find out the needed aggregate
directly. If only ID provided, it has to enumerate all aggregate.
So, I put my vote to 'Object'.
* Python API review.
I created this document for Python API detail review.
https://sourceforge.net/p/libstoragemgmt/wiki/Python_API_Usage
We can discuss the format of document and if possible review these:
* lsm.Client(), lsm.Client.close()
* lsm.System, lsm.Client.systems()
* lsm.Disk, lsm.Client.disks()
* Introducing new class VolumeMaskInfo for querying volume masking
status. VolumeMaskInfo will have these properties:
ag_id # Access group ID
ag_name # Access group name
vol_id # Volume ID
vol_name # Volume name
access_type # RO, RW, No access, Unknown.
* Should xxx_type_to_str() be private?
1. When raising error, plugin might want to covert to human readable
string other than type number.
--
Gris Ge
Gris Ge