<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://reviewboard-openlmi.rhcloud.com/r/27/">http://reviewboard-openlmi.rhcloud.com/r/27/</a>
     </td>
    </tr>
   </table>
   <br />













<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 22nd, 2013, 4:10 p.m. CET, <b>Radek Novacek</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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).</pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I have posted new patchset, now as individual patches. These bugs should be fixed there.</pre>
<br />


<p>- Jan</p>


<br />
<p>On March 22nd, 2013, 3:28 p.m. CET, Jan Safranek wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://reviewboard-openlmi.rhcloud.com/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for OpenLMI Developers.</div>
<div>By Jan Safranek.</div>


<p style="color: grey;"><i>Updated March 22, 2013, 3:28 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
openlmi-storage
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This is quite large diff, because Review Board does not support patch sets. I&#39;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&#39;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&#39;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&#39;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 &#39;__MethodParameters&#39;, Pegasus does not like it
In addition, moved indication properties from CIMInstance construnctor
to have all properties set in the same way.</pre>
  </td>
 </tr>
</table>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>doc/admin/Makefile <span style="color: grey">(67c7e700ed18824ad81891f2e1f22e355229c648)</span></li>

 <li>doc/admin/mof/Makefile <span style="color: grey">(948abd28316c9039d09f6c305a63e3e50888d776)</span></li>

 <li>doc/admin/pic/fs-instance.uml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>doc/admin/usage-fs.rst <span style="color: grey">(PRE-CREATION)</span></li>

 <li>doc/admin/usage.rst <span style="color: grey">(a21ab4d9f643c7fc2599cf73108a0d9ece2fa5fd)</span></li>

 <li>mof/filesystem.mof <span style="color: grey">(2b6eada9926671e34782ee795a6934c1cdb6adc6)</span></li>

 <li>mof/partitions.mof <span style="color: grey">(0594d0339decdae5d8f6b83d85337c0629a87be6)</span></li>

 <li>mof/storage.mof <span style="color: grey">(5a9b03225f9aa301e466c3ce5a8a3d8f55089228)</span></li>

 <li>src/openlmi/storage/FormatProvider.py <span style="color: grey">(72e81409ce13af899400a7c87e18711c9d63e8ff)</span></li>

 <li>src/openlmi/storage/IndicationManager.py <span style="color: grey">(1a39de7b0b9e435694584a0b889d6eaa074eb6de)</span></li>

 <li>src/openlmi/storage/JobManager.py <span style="color: grey">(b863682b6c76f4297d74ada2dc9fc058a9baa519)</span></li>

 <li>src/openlmi/storage/LMI_DiskPartitioningConfigurationService.py <span style="color: grey">(a9f16961a55d0e88b07db340c9fad34cb00ca7a1)</span></li>

 <li>src/openlmi/storage/LMI_FileSystemConfigurationService.py <span style="color: grey">(2a9c94d26cf63c86ce42edf681b6f0716cce7d1a)</span></li>

 <li>src/openlmi/storage/LMI_LVStorageExtent.py <span style="color: grey">(4a166e295351fe89d4e0d75865a39b9050daac9c)</span></li>

 <li>src/openlmi/storage/LMI_LocalFileSystem.py <span style="color: grey">(addad64ce05a208e87ac2845d557bc781130e728)</span></li>

 <li>src/openlmi/storage/LMI_MDRAIDBasedOn.py <span style="color: grey">(e94478af340ad234f7621a61d77182cca910a0d6)</span></li>

 <li>src/openlmi/storage/LMI_MDRAIDFormatProvider.py <span style="color: grey">(b957ecbb4129a2aeebffedc98ac3406af032682c)</span></li>

 <li>src/openlmi/storage/LMI_MDRAIDStorageExtent.py <span style="color: grey">(ce783e8eb97c9a56f2785d677eec7c28c733740c)</span></li>

 <li>src/openlmi/storage/LMI_PVFormatProvider.py <span style="color: grey">(5ec9d3634291d07366d778d3ccbc00b11297039a)</span></li>

 <li>src/openlmi/storage/LMI_StorageConfigurationService.py <span style="color: grey">(33b5590c5f33615c708c1411787344b5978f0446)</span></li>

 <li>src/openlmi/storage/LMI_VGStoragePool.py <span style="color: grey">(622e470e53ced639008b1caf5e61ae65d39caf62)</span></li>

 <li>src/openlmi/storage/LocalFileSystemProvider.py <span style="color: grey">(b2558b81caa850b709024f21079033ea0ef1879c)</span></li>

 <li>src/openlmi/storage/ProviderManager.py <span style="color: grey">(3b107f8d895ea5d4a2912f018e04035733a7a009)</span></li>

 <li>src/openlmi/storage/cimom_entry.py <span style="color: grey">(085eab91260697729234ce1476eccaf38a86e3d2)</span></li>

 <li>src/openlmi/storage/util/storage.py <span style="color: grey">(76b1b039714c07d6081a538d1b077b156dcef60a)</span></li>

 <li>test/test_base.py <span style="color: grey">(392b90610d2d1980f3494a47f9077b1c48c76402)</span></li>

 <li>test/test_create_fs.py <span style="color: grey">(PRE-CREATION)</span></li>

 <li>test/test_create_lv.py <span style="color: grey">(59ccb3dd153699f0f65886ccfdfd53fbdea9c498)</span></li>

 <li>test/test_create_mdraid.py <span style="color: grey">(53b6c79413cb79df95602cfe36d3a0c55b4be1b3)</span></li>

 <li>test/test_create_partition.py <span style="color: grey">(0cf2faeb5de498983f38163f2011868468d3b4c5)</span></li>

 <li>test/test_create_pool.py <span style="color: grey">(49699d51753a4dc055f5ba31b78b1fec56c75026)</span></li>

 <li>test/test_create_vg.py <span style="color: grey">(02c4272e71eac9fdd6e45718a3d72faa7c3b154c)</span></li>

 <li>test/test_set_partition_style.py <span style="color: grey">(81f4ef55534dc8fbc8b455e4f852ef0f7ea303da)</span></li>

 <li>test/test_vgpool_methods.py <span style="color: grey">(e8f6ee9e8417ff1fea6fdfb69d57f4b4a560bbec)</span></li>

</ul>

<p><a href="http://reviewboard-openlmi.rhcloud.com/r/27/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>