Tony Asleson
2014-08-26 14:37:26 UTC
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 f715b41caffc29506c1a80be9b9d6abe620578e7 (commit)
via c8e29c2fed746ccd3e90927dad7eaee6c563edcc (commit)
via 7a9769936ae13df8539873ba2f8dee5e83d3ff31 (commit)
via a41fe7a50a47f7f1f9a2eab519dc0d383f4b6a19 (commit)
via 200c9000b3c01604bf409405e6002ae2ff02cb04 (commit)
via c0f7a4a7a5cc2d4698425b284895138dfd5e1787 (commit)
via da0ef5c9ce4a774feb03eaf8d72cc70d5e012b25 (commit)
via 449f8f910dfc845bf27dd8aff445dca9f9460d3f (commit)
via dbb4f35433bef8cb509e662d07ee81049aa38787 (commit)
via efea866cb0512ca857b57e522213ebc98561dbcc (commit)
via be1e953306c7960f61c2ee320af8b512639fb285 (commit)
via b4456ce692aa2633a173b6801f3a2437a3301ce7 (commit)
via 9834c72017167f27c0f722666770d1cf95bcabfe (commit)
via 3b729956ed77856f00d8fcf8f40b18294a1ce719 (commit)
via 1d096f0c9b11f56a03a78dc5899b0ce2fc89361b (commit)
via 53872d6f2a6b13a31a540e792032488fbf5a1dab (commit)
via ddce3b066a952407a1602542b763e4db68674c68 (commit)
via b4df34b048fcc04bc00aeff0dd2745422c51e539 (commit)
via 24183251bcbd2aa980e0c5f7cef141f79df6905e (commit)
via a4fa8fe5ad1f76f9e7a8333f1e4bcc49c08d843d (commit)
via a115eed01d683e68f66566f18bfe89e247c5f675 (commit)
via 734e99c13aa05bd21304028417201586a3326340 (commit)
via c91348a89e137dd2315e34426e40a39828544d4d (commit)
via b4f1332eec72b5e1a6a950e3a4b05e0a3156ef7c (commit)
from 2233cf29c8db406dd419b8b98d0ba835672fc423 (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 f715b41caffc29506c1a80be9b9d6abe620578e7
Author: Gris Ge <***@redhat.com>
Date: Tue Aug 26 11:28:40 2014 +0800
ONTAP plugin: Improve disk status and disk type query
* Fix a trivial problem when no volume/LUN.
* Improve disk type query by using 'effective-disk-type'.
NetApp allowing disks with the same 'effective-disk-type' to create
aggregate(Pool).
* Improve disk status.
* Tested in ONTAP simulator for all coded status except this:
Disk.STATUS_ERROR
# I cannot actually broke a disk in ONTAP simulator.
Changes in V2:
* Remove debug code(print) from ONTAP plugin.
* Hide non-public constants in ONTAP plugin.
Signed-off-by: Gris Ge <***@redhat.com>
commit c8e29c2fed746ccd3e90927dad7eaee6c563edcc
Author: Gris Ge <***@redhat.com>
Date: Tue Aug 26 11:28:39 2014 +0800
SMI-S plugin: Move disk status converting to dmtf.py
* Just move disk status query to dmtf.py.
* Remove Disk.STATUS_OFFLINE as library required.
Signed-off-by: Gris Ge <***@redhat.com>
commit 7a9769936ae13df8539873ba2f8dee5e83d3ff31
Author: Gris Ge <***@redhat.com>
Date: Tue Aug 26 11:28:38 2014 +0800
C Library: Disk status clean up
* Sync with python library for constant value.
* Removed:
LSM_DISK_STATUS_OFFLINE
* Added:
LSM_DISK_STATUS_OTHER
LSM_DISK_STATUS_MAINTENANCE_MODE
LSM_DISK_STATUS_SPARE_DISK
LSM_DISK_STATUS_RECONSTRUCT
Signed-off-by: Gris Ge <***@redhat.com>
commit a41fe7a50a47f7f1f9a2eab519dc0d383f4b6a19
Author: Gris Ge <***@redhat.com>
Date: Tue Aug 26 11:28:37 2014 +0800
Python Library: Disk status clean up
Removed:
Disk.STATUS_OFFLINE
# Blue definition
Added:
Disk.STATUS_REMOVED
# Removed or marked as removed by administrator.
Disk.STATUS_MAINTENANCE_MODE
# Running internal maintenance job. Could be online or stopped meanwhile.
# Example would be NetApp 'disk maint' command.
Disk.STATUS_SPARE_DISK
# Indicate this disk acting as a spare disk.
Disk.STATUS_RECONSTRUCT
# Indicate this disk is reconstructing. Even reconstruction is a status
# of pool, but showing at disk level could provide a much clear view of
# disk replacement or re-syncing.
Signed-off-by: Gris Ge <***@redhat.com>
commit 200c9000b3c01604bf409405e6002ae2ff02cb04
Author: Tony Asleson <***@redhat.com>
Date: Mon Aug 25 17:25:11 2014 -0500
plugin_test.py: Add test for IS_MASKED
Ensure we get an IS_MASKED error if we try to delete an access group
that has a masked volume.
Tested against sim & simc
Signed-off-by: Tony Asleson <***@redhat.com>
commit c0f7a4a7a5cc2d4698425b284895138dfd5e1787
Author: Tony Asleson <***@redhat.com>
Date: Fri Aug 22 17:24:03 2014 -0500
plugin_test.py: Correct random iqn generation
Was creating invalid IQNs.
Signed-off-by: Tony Asleson <***@redhat.com>
commit da0ef5c9ce4a774feb03eaf8d72cc70d5e012b25
Author: Tony Asleson <***@redhat.com>
Date: Fri Aug 22 17:04:41 2014 -0500
Get both simc and sim to work with plugin_test.py
Ensure that the simulated plug-ins work with the plug-in test.
Signed-off-by: Tony Asleson <***@redhat.com>
commit 449f8f910dfc845bf27dd8aff445dca9f9460d3f
Author: Tony Asleson <***@redhat.com>
Date: Fri Aug 22 13:41:26 2014 -0500
C API: Change volume status to admin_state
Volume status or health doesn't have much value as it's really just one
of many items that can be created from a pool which does have a health
status.
There are the C bits to follow on to Gris's python patch set.
Signed-off-by: Tony Asleson <***@redhat.com>
commit dbb4f35433bef8cb509e662d07ee81049aa38787
Author: Tony Asleson <***@redhat.com>
Date: Fri Aug 22 13:37:57 2014 -0500
C API: Rename volume online|offline to enable|disable
C bits for Gris's python patch set
Signed-off-by: Tony Asleson <***@redhat.com>
commit efea866cb0512ca857b57e522213ebc98561dbcc
Author: Tony Asleson <***@redhat.com>
Date: Fri Aug 22 13:32:51 2014 -0500
simarray.py: Fix missing admin_state for volume_replicate
Signed-off-by: Tony Asleson <***@redhat.com>
commit be1e953306c7960f61c2ee320af8b512639fb285
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:24 2014 +0800
ontap: volume admin status related changes
* Fix bug introduced by changing NetApp volume pool id to path.
* Remove Volume.status and add Volume.admin_status
* Add error handling to volume_disable() and volume_enable().
Signed-off-by: Gris Ge <***@redhat.com>
commit b4456ce692aa2633a173b6801f3a2437a3301ce7
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:23 2014 +0800
sim: volume admin status related changes
* Data version bump to 2.8.
* Add sim_vol['admin_state'] storing Volume.admin_state.
* Add support of volume_enable() and volume_disable()
Signed-off-by: Gris Ge <***@redhat.com>
commit 9834c72017167f27c0f722666770d1cf95bcabfe
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:22 2014 +0800
targetd: Remove Volume.state, add Volume.admin_state
* Remove Volume.state, add Volume.admin_state
* Convert num_of_blocks to long.
Signed-off-by: Gris Ge <***@redhat.com>
commit 3b729956ed77856f00d8fcf8f40b18294a1ce719
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:21 2014 +0800
smis: Remove Volume.state, add Volume.admin_state
* Remove Volume.state, add Volume.admin_state
* Remove volume_online() and volume_offline(). We should let iplugin.py
raise NO_SUPPORT instead of silently return pass.
Signed-off-by: Gris Ge <***@redhat.com>
commit 1d096f0c9b11f56a03a78dc5899b0ce2fc89361b
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:20 2014 +0800
nstor: Remove Volume.state, add Volume.admin_state
* Remove Volume.state, add Volume.admin_state
Signed-off-by: Gris Ge <***@redhat.com>
commit 53872d6f2a6b13a31a540e792032488fbf5a1dab
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:19 2014 +0800
lsmcli: Add volume-enable and volume-disable commands
* Add volume_enable() and volume_disable() support.
* Add aliases:
ve == volume-enable
vi == volume-disable
Signed-off-by: Gris Ge <***@redhat.com>
commit ddce3b066a952407a1602542b763e4db68674c68
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:18 2014 +0800
lsmcli: Remove Volume.state, add Volume.admin_state
* Remove Volume.state. Add Volume.admin_state.
The Volume.admin_state will be shown as 'Dsiabled: Yes' or 'Disabled: No'
Example:
lsmcli lv -s
------------------------------------------------
ID | VOL_ID_00000001
Name | Volume 000
SCSI VPD 0x83 | 29D2EBE29486EDA9055AF9234263A664
Block Size | 512
#blocks | 419430400
Size | 214748364800
Disabled | No
Pool ID | POO1
System ID | sim-01
------------------------------------------------
ID | VOL_ID_00000002
Name | Volume 001
SCSI VPD 0x83 | AD1E85E3FA30F423498C5751EC56AB82
Block Size | 512
#blocks | 419430400
Size | 214748364800
Disabled | No
Pool ID | POO1
System ID | sim-01
------------------------------------------------
Signed-off-by: Gris Ge <***@redhat.com>
commit b4df34b048fcc04bc00aeff0dd2745422c51e539
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:17 2014 +0800
Python Library: Rename volume_online to volume_enable()
* Rename volume_online() to volume_enable() and _offline() to _disable().
The word 'online' might mis-leading user to health.
But we actually indicate this method is for volume admin state.
Signed-off-by: Gris Ge <***@redhat.com>
commit 24183251bcbd2aa980e0c5f7cef141f79df6905e
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:16 2014 +0800
Python Library: Remove Volume.state, add Volume.admin_state
* Remove Volume.state
Currently, volume status is fully inherited from pool. There is no need
to maintain two status.
For volume individual thin provisioning status, we can discuss that
when plugin need it.
* Add Volume.admin_state
Indicate whether this volume is disabled by administrator or not.
Just two integer:
ADMIN_STATE_DISABLED = 0
ADMIN_STATE_ENABLED = 1
Signed-off-by: Gris Ge <***@redhat.com>
commit a4fa8fe5ad1f76f9e7a8333f1e4bcc49c08d843d
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:15 2014 +0800
SMIS plugin: Clean up pool status query
* Just use the same status converting way of system.
# Sorry, actual changes in dmtf.py is included by previous patches of
# this same patch set.
Signed-off-by: Gris Ge <***@redhat.com>
commit a115eed01d683e68f66566f18bfe89e247c5f675
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:14 2014 +0800
ONTAP plugin: Improve pool query method
* Use 'raid-status' and 'status' to detect pool status.
* NetApp volume pool status is copy from its aggregate pool status.
* Tested in ONTAP simulator for these status:
STATUS_DEGRADED
STATUS_STOPPED
STATUS_RECONSTRUCTING
STATUS_GROWING
* Change pool.id as the path of NetApp volume.
# This introduced some bug for lsm.Volume.
# It has been fixed by other patches in this patch set.
Signed-off-by: Gris Ge <***@redhat.com>
commit 734e99c13aa05bd21304028417201586a3326340
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:13 2014 +0800
Library: Remove unused pool status
Remove these status:
LSM_POOL_STATUS_STRESSED/Pool.STATUS_STRESSED
LSM_POOL_STATUS_READ_ONLY/Pool.STATUS_READ_ONLY
LSM_POOL_STATUS_DORMAT/Pool.STATUS_DORMAT
LSM_POOL_STATUS_SHRINKING/Pool.STATUS_SHRINKING
Signed-off-by: Gris Ge <***@redhat.com>
commit c91348a89e137dd2315e34426e40a39828544d4d
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:12 2014 +0800
Clean up system status constants
* Removed these system status as no plugin support it:
stress
starting
stopping
stopped
* Updated SMI-S plugin to fit this change:
1. Split DMTF class to dmtf.py(Makefile and RPM SPEC file updated).
2. If facing other status, will mark as STATUS_OTHER and store the
name into system_info.
I tried on many SMI-S providers, I only got degraded.
Signed-off-by: Gris Ge <***@redhat.com>
commit b4f1332eec72b5e1a6a950e3a4b05e0a3156ef7c
Author: Tony Asleson <***@redhat.com>
Date: Thu Aug 21 17:30:15 2014 -0500
C: Remove ambiguity in class checking
The function value_to_* make sure that the value we are converting
too matches the class in question. If for some reason the json
does not match expected we return a NULL, which is the same as if
we had a failure to allocate memory. Added checks before to
ensure that we have the correct json representation of the class
before we convert from Value type to C struct type.
Signed-off-by: Tony Asleson <***@redhat.com>
-----------------------------------------------------------------------
Summary of changes:
c_binding/include/libstoragemgmt/libstoragemgmt.h | 4 +-
.../libstoragemgmt/libstoragemgmt_plug_interface.h | 8 +-
.../include/libstoragemgmt/libstoragemgmt_types.h | 39 +--
.../libstoragemgmt/libstoragemgmt_volumes.h | 8 +-
c_binding/lsm_convert.cpp | 50 ++--
c_binding/lsm_convert.hpp | 35 +++
c_binding/lsm_datatypes.cpp | 8 +-
c_binding/lsm_datatypes.hpp | 2 +-
c_binding/lsm_mgmt.cpp | 8 +-
c_binding/lsm_plugin_ipc.cpp | 73 +++---
packaging/libstoragemgmt.spec.in | 1 +
plugin/Makefile.am | 3 +-
plugin/nstor/nstor.py | 21 +--
plugin/ontap/na.py | 62 +----
plugin/ontap/ontap.py | 283 ++++++++++++--------
plugin/sim/simarray.py | 44 ++--
plugin/sim/simulator.py | 8 +-
plugin/simc/simc_lsmplugin.c | 56 +++-
plugin/smispy/dmtf.py | 215 +++++++++++++++
plugin/smispy/smis.py | 260 ++-----------------
plugin/targetd/targetd.py | 15 +-
python_binding/lsm/_client.py | 14 +-
python_binding/lsm/_data.py | 96 ++------
python_binding/lsm/_iplugin.py | 4 +-
test/plugin_test.py | 178 +++++++++---
test/tester.c | 10 +-
tools/lsmcli/cmdline.py | 28 ++
tools/lsmcli/data_display.py | 87 +++----
28 files changed, 857 insertions(+), 763 deletions(-)
create mode 100644 plugin/smispy/dmtf.py
hooks/post-receive
generated because a ref change was pushed to the repository containing
the project "libstoragemgmt".
The branch, master has been updated
via f715b41caffc29506c1a80be9b9d6abe620578e7 (commit)
via c8e29c2fed746ccd3e90927dad7eaee6c563edcc (commit)
via 7a9769936ae13df8539873ba2f8dee5e83d3ff31 (commit)
via a41fe7a50a47f7f1f9a2eab519dc0d383f4b6a19 (commit)
via 200c9000b3c01604bf409405e6002ae2ff02cb04 (commit)
via c0f7a4a7a5cc2d4698425b284895138dfd5e1787 (commit)
via da0ef5c9ce4a774feb03eaf8d72cc70d5e012b25 (commit)
via 449f8f910dfc845bf27dd8aff445dca9f9460d3f (commit)
via dbb4f35433bef8cb509e662d07ee81049aa38787 (commit)
via efea866cb0512ca857b57e522213ebc98561dbcc (commit)
via be1e953306c7960f61c2ee320af8b512639fb285 (commit)
via b4456ce692aa2633a173b6801f3a2437a3301ce7 (commit)
via 9834c72017167f27c0f722666770d1cf95bcabfe (commit)
via 3b729956ed77856f00d8fcf8f40b18294a1ce719 (commit)
via 1d096f0c9b11f56a03a78dc5899b0ce2fc89361b (commit)
via 53872d6f2a6b13a31a540e792032488fbf5a1dab (commit)
via ddce3b066a952407a1602542b763e4db68674c68 (commit)
via b4df34b048fcc04bc00aeff0dd2745422c51e539 (commit)
via 24183251bcbd2aa980e0c5f7cef141f79df6905e (commit)
via a4fa8fe5ad1f76f9e7a8333f1e4bcc49c08d843d (commit)
via a115eed01d683e68f66566f18bfe89e247c5f675 (commit)
via 734e99c13aa05bd21304028417201586a3326340 (commit)
via c91348a89e137dd2315e34426e40a39828544d4d (commit)
via b4f1332eec72b5e1a6a950e3a4b05e0a3156ef7c (commit)
from 2233cf29c8db406dd419b8b98d0ba835672fc423 (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 f715b41caffc29506c1a80be9b9d6abe620578e7
Author: Gris Ge <***@redhat.com>
Date: Tue Aug 26 11:28:40 2014 +0800
ONTAP plugin: Improve disk status and disk type query
* Fix a trivial problem when no volume/LUN.
* Improve disk type query by using 'effective-disk-type'.
NetApp allowing disks with the same 'effective-disk-type' to create
aggregate(Pool).
* Improve disk status.
* Tested in ONTAP simulator for all coded status except this:
Disk.STATUS_ERROR
# I cannot actually broke a disk in ONTAP simulator.
Changes in V2:
* Remove debug code(print) from ONTAP plugin.
* Hide non-public constants in ONTAP plugin.
Signed-off-by: Gris Ge <***@redhat.com>
commit c8e29c2fed746ccd3e90927dad7eaee6c563edcc
Author: Gris Ge <***@redhat.com>
Date: Tue Aug 26 11:28:39 2014 +0800
SMI-S plugin: Move disk status converting to dmtf.py
* Just move disk status query to dmtf.py.
* Remove Disk.STATUS_OFFLINE as library required.
Signed-off-by: Gris Ge <***@redhat.com>
commit 7a9769936ae13df8539873ba2f8dee5e83d3ff31
Author: Gris Ge <***@redhat.com>
Date: Tue Aug 26 11:28:38 2014 +0800
C Library: Disk status clean up
* Sync with python library for constant value.
* Removed:
LSM_DISK_STATUS_OFFLINE
* Added:
LSM_DISK_STATUS_OTHER
LSM_DISK_STATUS_MAINTENANCE_MODE
LSM_DISK_STATUS_SPARE_DISK
LSM_DISK_STATUS_RECONSTRUCT
Signed-off-by: Gris Ge <***@redhat.com>
commit a41fe7a50a47f7f1f9a2eab519dc0d383f4b6a19
Author: Gris Ge <***@redhat.com>
Date: Tue Aug 26 11:28:37 2014 +0800
Python Library: Disk status clean up
Removed:
Disk.STATUS_OFFLINE
# Blue definition
Added:
Disk.STATUS_REMOVED
# Removed or marked as removed by administrator.
Disk.STATUS_MAINTENANCE_MODE
# Running internal maintenance job. Could be online or stopped meanwhile.
# Example would be NetApp 'disk maint' command.
Disk.STATUS_SPARE_DISK
# Indicate this disk acting as a spare disk.
Disk.STATUS_RECONSTRUCT
# Indicate this disk is reconstructing. Even reconstruction is a status
# of pool, but showing at disk level could provide a much clear view of
# disk replacement or re-syncing.
Signed-off-by: Gris Ge <***@redhat.com>
commit 200c9000b3c01604bf409405e6002ae2ff02cb04
Author: Tony Asleson <***@redhat.com>
Date: Mon Aug 25 17:25:11 2014 -0500
plugin_test.py: Add test for IS_MASKED
Ensure we get an IS_MASKED error if we try to delete an access group
that has a masked volume.
Tested against sim & simc
Signed-off-by: Tony Asleson <***@redhat.com>
commit c0f7a4a7a5cc2d4698425b284895138dfd5e1787
Author: Tony Asleson <***@redhat.com>
Date: Fri Aug 22 17:24:03 2014 -0500
plugin_test.py: Correct random iqn generation
Was creating invalid IQNs.
Signed-off-by: Tony Asleson <***@redhat.com>
commit da0ef5c9ce4a774feb03eaf8d72cc70d5e012b25
Author: Tony Asleson <***@redhat.com>
Date: Fri Aug 22 17:04:41 2014 -0500
Get both simc and sim to work with plugin_test.py
Ensure that the simulated plug-ins work with the plug-in test.
Signed-off-by: Tony Asleson <***@redhat.com>
commit 449f8f910dfc845bf27dd8aff445dca9f9460d3f
Author: Tony Asleson <***@redhat.com>
Date: Fri Aug 22 13:41:26 2014 -0500
C API: Change volume status to admin_state
Volume status or health doesn't have much value as it's really just one
of many items that can be created from a pool which does have a health
status.
There are the C bits to follow on to Gris's python patch set.
Signed-off-by: Tony Asleson <***@redhat.com>
commit dbb4f35433bef8cb509e662d07ee81049aa38787
Author: Tony Asleson <***@redhat.com>
Date: Fri Aug 22 13:37:57 2014 -0500
C API: Rename volume online|offline to enable|disable
C bits for Gris's python patch set
Signed-off-by: Tony Asleson <***@redhat.com>
commit efea866cb0512ca857b57e522213ebc98561dbcc
Author: Tony Asleson <***@redhat.com>
Date: Fri Aug 22 13:32:51 2014 -0500
simarray.py: Fix missing admin_state for volume_replicate
Signed-off-by: Tony Asleson <***@redhat.com>
commit be1e953306c7960f61c2ee320af8b512639fb285
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:24 2014 +0800
ontap: volume admin status related changes
* Fix bug introduced by changing NetApp volume pool id to path.
* Remove Volume.status and add Volume.admin_status
* Add error handling to volume_disable() and volume_enable().
Signed-off-by: Gris Ge <***@redhat.com>
commit b4456ce692aa2633a173b6801f3a2437a3301ce7
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:23 2014 +0800
sim: volume admin status related changes
* Data version bump to 2.8.
* Add sim_vol['admin_state'] storing Volume.admin_state.
* Add support of volume_enable() and volume_disable()
Signed-off-by: Gris Ge <***@redhat.com>
commit 9834c72017167f27c0f722666770d1cf95bcabfe
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:22 2014 +0800
targetd: Remove Volume.state, add Volume.admin_state
* Remove Volume.state, add Volume.admin_state
* Convert num_of_blocks to long.
Signed-off-by: Gris Ge <***@redhat.com>
commit 3b729956ed77856f00d8fcf8f40b18294a1ce719
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:21 2014 +0800
smis: Remove Volume.state, add Volume.admin_state
* Remove Volume.state, add Volume.admin_state
* Remove volume_online() and volume_offline(). We should let iplugin.py
raise NO_SUPPORT instead of silently return pass.
Signed-off-by: Gris Ge <***@redhat.com>
commit 1d096f0c9b11f56a03a78dc5899b0ce2fc89361b
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:20 2014 +0800
nstor: Remove Volume.state, add Volume.admin_state
* Remove Volume.state, add Volume.admin_state
Signed-off-by: Gris Ge <***@redhat.com>
commit 53872d6f2a6b13a31a540e792032488fbf5a1dab
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:19 2014 +0800
lsmcli: Add volume-enable and volume-disable commands
* Add volume_enable() and volume_disable() support.
* Add aliases:
ve == volume-enable
vi == volume-disable
Signed-off-by: Gris Ge <***@redhat.com>
commit ddce3b066a952407a1602542b763e4db68674c68
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:18 2014 +0800
lsmcli: Remove Volume.state, add Volume.admin_state
* Remove Volume.state. Add Volume.admin_state.
The Volume.admin_state will be shown as 'Dsiabled: Yes' or 'Disabled: No'
Example:
lsmcli lv -s
------------------------------------------------
ID | VOL_ID_00000001
Name | Volume 000
SCSI VPD 0x83 | 29D2EBE29486EDA9055AF9234263A664
Block Size | 512
#blocks | 419430400
Size | 214748364800
Disabled | No
Pool ID | POO1
System ID | sim-01
------------------------------------------------
ID | VOL_ID_00000002
Name | Volume 001
SCSI VPD 0x83 | AD1E85E3FA30F423498C5751EC56AB82
Block Size | 512
#blocks | 419430400
Size | 214748364800
Disabled | No
Pool ID | POO1
System ID | sim-01
------------------------------------------------
Signed-off-by: Gris Ge <***@redhat.com>
commit b4df34b048fcc04bc00aeff0dd2745422c51e539
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:17 2014 +0800
Python Library: Rename volume_online to volume_enable()
* Rename volume_online() to volume_enable() and _offline() to _disable().
The word 'online' might mis-leading user to health.
But we actually indicate this method is for volume admin state.
Signed-off-by: Gris Ge <***@redhat.com>
commit 24183251bcbd2aa980e0c5f7cef141f79df6905e
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:16 2014 +0800
Python Library: Remove Volume.state, add Volume.admin_state
* Remove Volume.state
Currently, volume status is fully inherited from pool. There is no need
to maintain two status.
For volume individual thin provisioning status, we can discuss that
when plugin need it.
* Add Volume.admin_state
Indicate whether this volume is disabled by administrator or not.
Just two integer:
ADMIN_STATE_DISABLED = 0
ADMIN_STATE_ENABLED = 1
Signed-off-by: Gris Ge <***@redhat.com>
commit a4fa8fe5ad1f76f9e7a8333f1e4bcc49c08d843d
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:15 2014 +0800
SMIS plugin: Clean up pool status query
* Just use the same status converting way of system.
# Sorry, actual changes in dmtf.py is included by previous patches of
# this same patch set.
Signed-off-by: Gris Ge <***@redhat.com>
commit a115eed01d683e68f66566f18bfe89e247c5f675
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:14 2014 +0800
ONTAP plugin: Improve pool query method
* Use 'raid-status' and 'status' to detect pool status.
* NetApp volume pool status is copy from its aggregate pool status.
* Tested in ONTAP simulator for these status:
STATUS_DEGRADED
STATUS_STOPPED
STATUS_RECONSTRUCTING
STATUS_GROWING
* Change pool.id as the path of NetApp volume.
# This introduced some bug for lsm.Volume.
# It has been fixed by other patches in this patch set.
Signed-off-by: Gris Ge <***@redhat.com>
commit 734e99c13aa05bd21304028417201586a3326340
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:13 2014 +0800
Library: Remove unused pool status
Remove these status:
LSM_POOL_STATUS_STRESSED/Pool.STATUS_STRESSED
LSM_POOL_STATUS_READ_ONLY/Pool.STATUS_READ_ONLY
LSM_POOL_STATUS_DORMAT/Pool.STATUS_DORMAT
LSM_POOL_STATUS_SHRINKING/Pool.STATUS_SHRINKING
Signed-off-by: Gris Ge <***@redhat.com>
commit c91348a89e137dd2315e34426e40a39828544d4d
Author: Gris Ge <***@redhat.com>
Date: Fri Aug 22 22:23:12 2014 +0800
Clean up system status constants
* Removed these system status as no plugin support it:
stress
starting
stopping
stopped
* Updated SMI-S plugin to fit this change:
1. Split DMTF class to dmtf.py(Makefile and RPM SPEC file updated).
2. If facing other status, will mark as STATUS_OTHER and store the
name into system_info.
I tried on many SMI-S providers, I only got degraded.
Signed-off-by: Gris Ge <***@redhat.com>
commit b4f1332eec72b5e1a6a950e3a4b05e0a3156ef7c
Author: Tony Asleson <***@redhat.com>
Date: Thu Aug 21 17:30:15 2014 -0500
C: Remove ambiguity in class checking
The function value_to_* make sure that the value we are converting
too matches the class in question. If for some reason the json
does not match expected we return a NULL, which is the same as if
we had a failure to allocate memory. Added checks before to
ensure that we have the correct json representation of the class
before we convert from Value type to C struct type.
Signed-off-by: Tony Asleson <***@redhat.com>
-----------------------------------------------------------------------
Summary of changes:
c_binding/include/libstoragemgmt/libstoragemgmt.h | 4 +-
.../libstoragemgmt/libstoragemgmt_plug_interface.h | 8 +-
.../include/libstoragemgmt/libstoragemgmt_types.h | 39 +--
.../libstoragemgmt/libstoragemgmt_volumes.h | 8 +-
c_binding/lsm_convert.cpp | 50 ++--
c_binding/lsm_convert.hpp | 35 +++
c_binding/lsm_datatypes.cpp | 8 +-
c_binding/lsm_datatypes.hpp | 2 +-
c_binding/lsm_mgmt.cpp | 8 +-
c_binding/lsm_plugin_ipc.cpp | 73 +++---
packaging/libstoragemgmt.spec.in | 1 +
plugin/Makefile.am | 3 +-
plugin/nstor/nstor.py | 21 +--
plugin/ontap/na.py | 62 +----
plugin/ontap/ontap.py | 283 ++++++++++++--------
plugin/sim/simarray.py | 44 ++--
plugin/sim/simulator.py | 8 +-
plugin/simc/simc_lsmplugin.c | 56 +++-
plugin/smispy/dmtf.py | 215 +++++++++++++++
plugin/smispy/smis.py | 260 ++-----------------
plugin/targetd/targetd.py | 15 +-
python_binding/lsm/_client.py | 14 +-
python_binding/lsm/_data.py | 96 ++------
python_binding/lsm/_iplugin.py | 4 +-
test/plugin_test.py | 178 +++++++++---
test/tester.c | 10 +-
tools/lsmcli/cmdline.py | 28 ++
tools/lsmcli/data_display.py | 87 +++----
28 files changed, 857 insertions(+), 763 deletions(-)
create mode 100644 plugin/smispy/dmtf.py
hooks/post-receive
--
libstoragemgmt
libstoragemgmt