Review Request 27: Rework all storage methods to return job and be asynchronous.
Radek Novacek
reviewboard at gallagherhome.com
Fri Mar 22 15:10:23 UTC 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard-openlmi.rhcloud.com/r/27/#review23
-----------------------------------------------------------
Ship it!
doc/admin/mof/Makefile
<http://reviewboard-openlmi.rhcloud.com/r/27/#comment29>
The backslash shouldn't be there
src/openlmi/storage/LMI_LocalFileSystem.py
<http://reviewboard-openlmi.rhcloud.com/r/27/#comment30>
Isn't this more like debug messages rather then errors?
I just did a quick check of the changed code, this patch is too complex to do deep check. Please, next time split the review to smaller pieces (per commit perhaps).
- Radek Novacek
On March 22, 2013, 3:28 p.m., Jan Safranek wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard-openlmi.rhcloud.com/r/27/
> -----------------------------------------------------------
>
> (Updated March 22, 2013, 3:28 p.m.)
>
>
> Review request for OpenLMI Developers.
>
>
> Repository: openlmi-storage
>
>
> Description
> -------
>
> This is quite large diff, because Review Board does not support patch sets. I'll do smaller topic-branches next time.
>
> Here is summary from all patches in the series, squashed by post-review:
>
> Added LMI_DeletePartition() to asynchronously remove partitions.
>
>
> Create partitions asynchronously.
>
>
> Added ReturnToStoragePool() and DeleteLV() methods to asynchronously remove LVs.
>
>
> Create logical volumes asynchronously.
>
>
> Added DeleteStoragePool() and DeleteVG() methods to asynchronously remove VGs.
>
>
> Create volume groups asynchronously.
>
>
> Added method to destroy MD RAID asynchronously.
>
>
> Create MD RAID asynchronously.
>
> CreateOrModifyMDRAID() now returns a job.
>
> Added method invoke_async_method() to test framework to call a method and wait for job.
>
>
> Added assertCIMNameEquals() to compare two CIMInstanceNames.
>
> The names must be equal except their hostname, which is not checked.
>
> Ignore MD RAIDs which are not active.
>
> Now that Blivet does not start MD RAIDs on init, we can encounter some
> MDRAIDArrayDevices with status=False, which tells that the RAID
> is not running. We should not report these devices (at least now).
> Added documentation of filesystem management.
>
>
> Allow python to exit the provider even if there are threads running.
>
> The JobManager and IndicationManager threads are marked as daemon so we
> don't need to stop them manually on exit.
> Added logging to init and shutdown CIMOM callbacks.
>
>
> Added test for FileSystemConfigurationService.
>
>
> Add UUID property to LMI_LocalFileSystem.
>
> Also, use device name as ElementName, it's more friendly than uuid.
>
> Added btrfs format support.
>
> The btrfs filesystem can be created and deleted. No subvolumes support.
>
> LMI_LocalFileSystem and its associations now support multiple devices
> composing single filesystem.
> Added get_uuid() to FileSystemProvider
>
> UUID is hard to get for btrfs, let's add special method for it and let btrfs
> override it.
> Return device from get_format_for_id()
>
> In most cases, we need both the format and the device when working with
> device formats. Therefore get_format_for_id() shold return both.
>
> Move the ugly hack to remove MD metadata to MDRAIDStorageExtent.
>
>
> Allow multiple storage actions to be run in one job.
>
> Sometimes we need to execute multiple StorageActions in one
> openlmi.storage.util.storage.do_storage_action call, e.g. when destroying
> btrfs filesystem.
>
> do_storage_action() now accepts array of actions instead of single action.
>
> Also, this patch removes wiping of MD RAID metadata from destroyed arrays,
> the code is obsolete now.
> Added LMI_FileSystemConfigurationService.DeleteFileSystem.
>
>
> Fixed job returning an error
>
> We should pass CIMInstance instead of CIMError as property.
> Added possibility to set AffectedElements when a job finishes.
>
> Job Control Subprofile says, that when a job finishes, it can point to the
> resulting element using LMI_AffectedStorageJobElement. Therefore we should
> add support for it.
> Add indication support to the test framework.
>
>
> Added workaround for rhbz#920763
>
> - we must not use '__MethodParameters', Pegasus does not like it
> In addition, moved indication properties from CIMInstance construnctor
> to have all properties set in the same way.
>
>
> Diffs
> -----
>
> doc/admin/Makefile 67c7e700ed18824ad81891f2e1f22e355229c648
> doc/admin/mof/Makefile 948abd28316c9039d09f6c305a63e3e50888d776
> doc/admin/pic/fs-instance.uml PRE-CREATION
> doc/admin/usage-fs.rst PRE-CREATION
> doc/admin/usage.rst a21ab4d9f643c7fc2599cf73108a0d9ece2fa5fd
> mof/filesystem.mof 2b6eada9926671e34782ee795a6934c1cdb6adc6
> mof/partitions.mof 0594d0339decdae5d8f6b83d85337c0629a87be6
> mof/storage.mof 5a9b03225f9aa301e466c3ce5a8a3d8f55089228
> src/openlmi/storage/FormatProvider.py 72e81409ce13af899400a7c87e18711c9d63e8ff
> src/openlmi/storage/IndicationManager.py 1a39de7b0b9e435694584a0b889d6eaa074eb6de
> src/openlmi/storage/JobManager.py b863682b6c76f4297d74ada2dc9fc058a9baa519
> src/openlmi/storage/LMI_DiskPartitioningConfigurationService.py a9f16961a55d0e88b07db340c9fad34cb00ca7a1
> src/openlmi/storage/LMI_FileSystemConfigurationService.py 2a9c94d26cf63c86ce42edf681b6f0716cce7d1a
> src/openlmi/storage/LMI_LVStorageExtent.py 4a166e295351fe89d4e0d75865a39b9050daac9c
> src/openlmi/storage/LMI_LocalFileSystem.py addad64ce05a208e87ac2845d557bc781130e728
> src/openlmi/storage/LMI_MDRAIDBasedOn.py e94478af340ad234f7621a61d77182cca910a0d6
> src/openlmi/storage/LMI_MDRAIDFormatProvider.py b957ecbb4129a2aeebffedc98ac3406af032682c
> src/openlmi/storage/LMI_MDRAIDStorageExtent.py ce783e8eb97c9a56f2785d677eec7c28c733740c
> src/openlmi/storage/LMI_PVFormatProvider.py 5ec9d3634291d07366d778d3ccbc00b11297039a
> src/openlmi/storage/LMI_StorageConfigurationService.py 33b5590c5f33615c708c1411787344b5978f0446
> src/openlmi/storage/LMI_VGStoragePool.py 622e470e53ced639008b1caf5e61ae65d39caf62
> src/openlmi/storage/LocalFileSystemProvider.py b2558b81caa850b709024f21079033ea0ef1879c
> src/openlmi/storage/ProviderManager.py 3b107f8d895ea5d4a2912f018e04035733a7a009
> src/openlmi/storage/cimom_entry.py 085eab91260697729234ce1476eccaf38a86e3d2
> src/openlmi/storage/util/storage.py 76b1b039714c07d6081a538d1b077b156dcef60a
> test/test_base.py 392b90610d2d1980f3494a47f9077b1c48c76402
> test/test_create_fs.py PRE-CREATION
> test/test_create_lv.py 59ccb3dd153699f0f65886ccfdfd53fbdea9c498
> test/test_create_mdraid.py 53b6c79413cb79df95602cfe36d3a0c55b4be1b3
> test/test_create_partition.py 0cf2faeb5de498983f38163f2011868468d3b4c5
> test/test_create_pool.py 49699d51753a4dc055f5ba31b78b1fec56c75026
> test/test_create_vg.py 02c4272e71eac9fdd6e45718a3d72faa7c3b154c
> test/test_set_partition_style.py 81f4ef55534dc8fbc8b455e4f852ef0f7ea303da
> test/test_vgpool_methods.py e8f6ee9e8417ff1fea6fdfb69d57f4b4a560bbec
>
> Diff: http://reviewboard-openlmi.rhcloud.com/r/27/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Jan Safranek
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fedorahosted.org/pipermail/openlmi-devel/attachments/20130322/01f19619/attachment-0001.html>
More information about the openlmi-devel
mailing list