Discussion:
[Libstoragemgmt-devel] [SCM] libstoragemgmt branch, master, updated. 0.1.0-45-g10bbbbc
Tony Asleson
2014-07-30 17:00:47 UTC
Permalink
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "libstoragemgmt".

The branch, master has been updated
via 10bbbbc09bfac76655461d52382a065ad438dfde (commit)
via 6f86a6448bbe752dd745e3e8b5e5b81cfc6edd52 (commit)
via ba9fb6d4a6fcf8ad9363f695d949dec2636d3636 (commit)
via 462cac1fe912bd5c5af23f6b7603c0c8ab94ea2c (commit)
via 8c58573316319ad379a1750f87f0ed669d2020ee (commit)
via 09ad3e36a13d786168b9aa35304dab9152853697 (commit)
via be4747e1f16cab5851b2a04c45dae64dbdf5b89c (commit)
via e959190d8825affb4dd775a5cae06853422b0f2e (commit)
via 417602054e93e81ad1a98de1109925a8ff0ca55b (commit)
via 63c2ba14b63977918db5d751b187f6357371f568 (commit)
via 0df5ca8034322c07e978c01ef80de470feab9b01 (commit)
via 65e0a482a19123a526dde0e33d8bbb42e7d96db5 (commit)
via 27b1c40ab78eee3137f1ab8cf2089873ac27391d (commit)
via cb26291d23e93bec739f9026c94906da59bbb88a (commit)
via f955a9c8fbeb07fe498690f0b14cdcb0c287be62 (commit)
via 8cb47a73006f2f3cdf0a77f10631a4265680b2a6 (commit)
via 047d88d2e7c8781dfb1b61c2b2d4a8ef7ab5559c (commit)
via 6a7ecf14b72d5f460ad899e6365e6d2a182541ff (commit)
via a9dc44739776b840091123638a3e44143f893341 (commit)
from 7eb070642823fcb6f020a783d8c4a37c31796e3a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 10bbbbc09bfac76655461d52382a065ad438dfde
Author: Gris Ge <***@redhat.com>
Date: Wed Jul 30 14:37:55 2014 +0800

Capabilities updates (V2)
Please review.
Thanks for the correction.
This patch set looks good for me.

Just a trivial changes to save some loop count.
=========================

commit 6f86a6448bbe752dd745e3e8b5e5b81cfc6edd52
Author: Tony Asleson <***@redhat.com>
Date: Tue Jul 29 17:40:56 2014 -0500

C API: Update capabilities constants

At the moment we don't have the corresponding function
that returns a hash of capabilities for C. We could do
this, but not sure how useful it would be for C users.

Signed-off-by: Tony Asleson <***@redhat.com>

commit ba9fb6d4a6fcf8ad9363f695d949dec2636d3636
Author: Tony Asleson <***@redhat.com>
Date: Tue Jul 29 12:50:25 2014 -0500

ontap.py: Remove references to removed constants

Also corrected correct constant for
ACCESS_GROUP_INITIATOR_ADD_ISCSI_IQN

Signed-off-by: Tony Asleson <***@redhat.com>

commit 462cac1fe912bd5c5af23f6b7603c0c8ab94ea2c
Author: Tony Asleson <***@redhat.com>
Date: Tue Jul 29 12:49:16 2014 -0500

nstor.py: Remove references to removed constants.

Signed-off-by: Tony Asleson <***@redhat.com>

commit 8c58573316319ad379a1750f87f0ed669d2020ee
Author: Gris Ge <***@redhat.com>
Date: Tue Jul 29 23:18:10 2014 +0800

nstor and ontap plugin: change FS_SNAPSHOT_REVERT to FS_SNAPSHOT_RESTORE

* Rename FS_SNAPSHOT_REVERT to FS_SNAPSHOT_RESTORE in nstor and ontap plugin.

Signed-off-by: Gris Ge <***@redhat.com>

commit 09ad3e36a13d786168b9aa35304dab9152853697
Author: Gris Ge <***@redhat.com>
Date: Tue Jul 29 23:18:09 2014 +0800

smis plugin: lsm.Client.capabilities() rewrite

* Complete rewrite of capabilities() methods except volume replication
related.
* SMI-S profile based capabilities check.
# Assuming every vendor is following the SNIA standard mandatory settings.
# We are not SNIA CTP test, we can redirect bug to vendor if user
# complained.

* Tested on:
EMC VNX, EMC VMAX, Fujitsu Eternus, HDS AMS, Dell Compellent, HP 3par,
Dot Hill DHS

Signed-off-by: Gris Ge <***@redhat.com>

commit be4747e1f16cab5851b2a04c45dae64dbdf5b89c
Author: Gris Ge <***@redhat.com>
Date: Tue Jul 29 23:18:08 2014 +0800

sim plugin: more strict access group related methods

* Raise error on these conditions when access_group_create():
1. Duplicate name
2. Duplicate init_id
* Don't fail when got duplicate call of access_group_create().

Signed-off-by: Gris Ge <***@redhat.com>

commit e959190d8825affb4dd775a5cae06853422b0f2e
Author: Gris Ge <***@redhat.com>
Date: Tue Jul 29 23:18:07 2014 +0800

nstor plugin: fix changed capacities

* Sync with changes of access group capabilities.
* PEP8 clean up

Signed-off-by: Gris Ge <***@redhat.com>

commit 417602054e93e81ad1a98de1109925a8ff0ca55b
Author: Gris Ge <***@redhat.com>
Date: Tue Jul 29 23:18:06 2014 +0800

ontap plugin: fix changed capacities

* Sync with access group capabilities changes.
* 7-Mode ONTAP does not support MIX type of access group.

Signed-off-by: Gris Ge <***@redhat.com>

commit 63c2ba14b63977918db5d751b187f6357371f568
Author: Gris Ge <***@redhat.com>
Date: Tue Jul 29 23:18:05 2014 +0800

lsmcli: improve capabilities code (V3)

* PEP8 clean up.
* Use lsm.Capabilities.lsm_cap_to_str() to replace the old code.
* Use lsm.lsmcli.data_display.DisplayData.display_data_script_way() for
displaying capabilities.

V3: Used the only one newly available public method

Signed-off-by: Gris Ge <***@redhat.com>
Signed-off-by: Tony Asleson <***@redhat.com>

commit 0df5ca8034322c07e978c01ef80de470feab9b01
Author: Gris Ge <***@redhat.com>
Date: Tue Jul 29 23:18:04 2014 +0800

test: fix changed capabilities

* cmdtest.py
1. Fix incorrect strip in parse().
2. Sync with changes of capabilities.
3. Use random_iqn() when creating access group.
# Simulator has more strict checking now.

* plugin_test.py
1. Sync with changes of capabilities.
2. Choose non-empty access group for volume mask test.

Signed-off-by: Gris Ge <***@redhat.com>

commit 65e0a482a19123a526dde0e33d8bbb42e7d96db5
Author: Gris Ge <***@redhat.com>
Date: Tue Jul 29 23:18:03 2014 +0800

python library: lsm.Capacities changes (V3)

* Remove of these capacities:
BLOCK_SUPPORT
FS_SUPPORT
# We don't actually need them.

* Renamed these capabilities:
ACCESS_GROUP_CREATE -> ACCESS_GROUP_CREATE_WWPN
ACCESS_GROUP_INITIATOR_ADD -> ACCESS_GROUP_INITIATOR_ADD_WWPN
FS_SNAPSHOT_REVERT -> FS_SNAPSHOT_RESTORE
FS_SNAPSHOT_REVERT_SPECIFIC_FILES -> FS_SNAPSHOT_RESTORE_SPECIFIC_FILES
# To match the name of lsm.Client.fs_snapshot_restore()

* Added these capabilities:
ACCESS_GROUP_CREATE_ISCSI_IQN
ACCESS_GROUP_INITIATOR_ADD_ISCSI_IQN
ACCESS_GROUP_INITIATOR_ADD_MIX
# _ADD_MIX means can add different type of init_id into access group.
# _ADD_ISCSI_IQN and _ADD_WWPN indicate the types supported.

* Added public methods:
get_supported: Returns a hash of supported capabilities

V3 tasleson, changed public methods added

Signed-off-by: Gris Ge <***@redhat.com>
Signed-off-by: Tony Asleson <***@redhat.com>

commit 27b1c40ab78eee3137f1ab8cf2089873ac27391d
Author: Tony Asleson <***@redhat.com>
Date: Mon Jul 28 17:15:04 2014 -0500

smis.py: Fix bug in access_group_granted_to_volume

When doing a workaround for emc we were using volume id instead
of system id when trying to get cim representation of system.

Signed-off-by: Tony Asleson <***@redhat.com>

commit cb26291d23e93bec739f9026c94906da59bbb88a
Author: Tony Asleson <***@redhat.com>
Date: Mon Jul 28 10:13:52 2014 -0500

smis.py: Simplify loop increment.

Signed-off-by: Tony Asleson <***@redhat.com>

commit f955a9c8fbeb07fe498690f0b14cdcb0c287be62
Author: Tony Asleson <***@redhat.com>
Date: Mon Jul 28 10:13:06 2014 -0500

smis.py: WS/PEP8 fixes

Signed-off-by: Tony Asleson <***@redhat.com>

commit 8cb47a73006f2f3cdf0a77f10631a4265680b2a6
Author: Tony Asleson <***@redhat.com>
Date: Mon Jul 28 10:06:46 2014 -0500

smis.py: Fix up errors messages and uninitialized

Signed-off-by: Tony Asleson <***@redhat.com>

commit 047d88d2e7c8781dfb1b61c2b2d4a8ef7ab5559c
Author: Gris Ge <***@redhat.com>
Date: Mon Jul 28 22:18:47 2014 +0800

lsmenv: print device alias

Print device alias which is useful to identify which plugin goes wrong
when using 'lsmenv all lsmcli xxxx'.

Signed-off-by: Gris Ge <***@redhat.com>

commit 6a7ecf14b72d5f460ad899e6365e6d2a182541ff
Author: Gris Ge <***@redhat.com>
Date: Mon Jul 28 22:16:12 2014 +0800

SMI-S plugin: access group enhancement

Big changes:
1. Access Group could from one of these CIM class:
CIM_SCSIProtocolController
# For fallback or only support 'Masking and Mapping' profile
# arrays. In real world, it means most of arrays.
CIM_InitiatorMaskingGroup
# For 1.5+ 'Group Masking and Mapping' profile.
# In real world, it means EMC VMAX only.
# A EMC Bug found on EMC VNX/CX which incorrect indicate
# support of Group M&M profile, bug reported and work around
# implemented.
# The reason to do this is because EMC VMAX does not allow to create
# SPC with no volume masked.
# Actually, 'Group M&M' profile is clearer and easier for use than
# old 'M&M' profile. I will try to beg vendors to support that profile.

2. Fix old access_group_initiator_add() and
access_group_initiator_delete() to return None instead of job id.

3. New methods:
access_group_create()
access_group_delete()

Detail changes:
1. Use _mask_type() to indicate the support of Group M&M.
2. These methods support both 'Group' way and old way:
volume_mask()
volume_unmask()
access_groups()
access_group_initiator_add()
access_group_initiator_delete()
3. Quick notes for 'Group M&M' profile:
SPC(SCSIProtocolController) contain three groups:
a InitiatorMaskingGroup
# Containing Initiators.
b TargetMaskingGroup
# Containing target ports. Currently we expose to all ports.
c DeviceMaskingGroup
# Containing masked volumes.

4. New method _wait_invoke() to allow wait cim_job done.
5. Remove support of this method on EMC VNX/CX:
access_group_initiator_add()
# EMC VNX/CX require WWNN define when add initiator which is not
# supported by LSM yet. We have no intention to do so, WWPN should
# the only identifier for FC and FCoE, we should not confuse user
# with one vendor extension.

Tested on:
1. EMC VMAX:
volume_mask()
volume_unmask()
access_groups()
access_group_initiator_add()
access_group_initiator_delete()
access_group_create()
access_group_delete()
2. EMC VNX:
volume_mask()
volume_unmask()
access_groups()

TODO:
* I will submit another patch soon for lsm.Client.capabilities() call about
access group.
* The SMI-S plugin is too big to maintain. We(at least I) should split it
into several files/modules.

Signed-off-by: Gris Ge <***@redhat.com>

commit a9dc44739776b840091123638a3e44143f893341
Author: Gris Ge <***@redhat.com>
Date: Mon Jul 28 22:16:11 2014 +0800

Python library: Add some error code for volume masking

To simplify LSM user and plugin implementation, I would like to restrict
these:
1. access_group_initiator_delete()
Refuse to delete the last initiator from access group which has
volume masked.
Some plugin(SMI-S for EMC VMAX) does not allow keeping volume masking
information when no member in access group.

2. volume_mask()
Refuse to do volume masking against empty(no member) access group.
The same reason as previous one.

3. access_group_delete():
Refuse to delete a access group which has volume masked.

Signed-off-by: Gris Ge <***@redhat.com>

-----------------------------------------------------------------------

Summary of changes:
.../libstoragemgmt/libstoragemgmt_capabilities.h | 23 +-
plugin/nstor/nstor.py | 14 +-
plugin/ontap/ontap.py | 11 +-
plugin/sim/simarray.py | 44 +-
plugin/simc/simc_lsmplugin.c | 14 +-
plugin/smispy/smis.py | 2010 ++++++++++++++++----
python_binding/lsm/_common.py | 8 +
python_binding/lsm/_data.py | 59 +-
test/cmdtest.py | 22 +-
test/plugin_test.py | 89 +-
test/tester.c | 36 +-
tools/lsmcli/cmdline.py | 118 +-
tools/lsmcli/data_display.py | 4 +-
tools/lsmenv | 1 +
14 files changed, 1829 insertions(+), 624 deletions(-)


hooks/post-receive
--
libstoragemgmt
Loading...