<div dir="ltr">After we agree on the algorithm, the first PR would be to add the necessary framework to the DB to support #676.<div><br></div><div>- Luis</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 16, 2017 at 1:00 PM, Luis Pabon <span dir="ltr">&lt;<a href="mailto:lpabon@chrysalix.org" target="_blank">lpabon@chrysalix.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Great summary.  Yes, the next step should be to figure out how to enhance the ring to return a brick for another zone.  It could be as simple as:<div><br></div><div>If current bricks in set are in different zones:</div><div>    Get a ring</div><div>    Remove disks from the ring in zones already used</div><div>    Return devices until one is found with the appropriate size</div><div>else:</div><div>   Get a ring</div><div>   Return devices until one is found with the appropriate size</div><div><br></div><div>Also, order of the disks may matter.  This part I am not sure of, but, we may need to make sure of the order of the bricks were added to the volume during &#39;create&#39;.  This may be necessary to determine which of the bricks in the brick set are in different zones.</div><div><br></div><div>We may have to add a new DB entry in the Brick Entry.  For example: Brick peers, and Volume ID</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>- Luis</div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 15, 2017 at 2:17 PM, Mohamed Ashiq Liyazudeen <span dir="ltr">&lt;<a href="mailto:mliyazud@redhat.com" target="_blank">mliyazud@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
This mail talks about the PR[1]<br>
<br>
Let me start off with what is planned to do in this.<br>
<br>
We only support this feature for Replicate and Distribute Replicate Volume.<br>
Refer: <a href="https://gluster.readthedocs.io/en/latest/Administrator%20Guide/Managing%20Volumes/#replace-brick" rel="noreferrer" target="_blank">https://gluster.readthedocs.io<wbr>/en/latest/Administrator%20Gui<wbr>de/Managing%20Volumes/#replace<wbr>-brick</a><br>
<br>
Removes all the brick from the device and start these bricks on other devices based on allocator. Heal is triggered automatically for replicate volumes on replace brick. Allocate and create new brick to replace. It stops the brick to be replaced, If it is not already down(kill the brick process). Then gluster replace brick which will replace the brick with new one and also starts the heals.<br>
<br>
If other nodes does not have sufficient storage then this command should fail.<br>
<br>
1) If there are no bricks then tell user, It is clean to remove the device.<br>
2) If there are bricks in the device, then find the volume they are related to from the list of volumes. Brickentry does not have the volume name it is associated to.<br>
3) move the bricks to other devices by calling the allocator for the devices.<br>
4) eliminate the device to be removed and all the nodes which are associated the volume already.<br>
<br>
We missed on the zone handling part. If there is a way to give the already used zone and node for the volume to allocator. Then allocator can return the devices which will be from different zone&#39;s node. I think 2,3,4 will handle if there is only one zone. Let us know if there are any other risks or better ways to use allocator.<br>
<br>
[1] <a href="https://github.com/heketi/heketi/pull/676" rel="noreferrer" target="_blank">https://github.com/heketi/heke<wbr>ti/pull/676</a><br>
<span class="m_5542277147269862789HOEnZb"><font color="#888888"><br>
--<br>
Regards,<br>
Mohamed Ashiq.L<br>
<br>
______________________________<wbr>_________________<br>
heketi-devel mailing list<br>
<a href="mailto:heketi-devel@gluster.org" target="_blank">heketi-devel@gluster.org</a><br>
<a href="http://lists.gluster.org/mailman/listinfo/heketi-devel" rel="noreferrer" target="_blank">http://lists.gluster.org/mailm<wbr>an/listinfo/heketi-devel</a><br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>