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