<div dir="ltr">I didn't see that mention. You mean about legacy volumes and snapshots?</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 11, 2016 at 3:58 PM, Duncan Thomas <span dir="ltr"><<a href="mailto:duncan.thomas@gmail.com" target="_blank">duncan.thomas@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>Ok, you're right about device naming by UUID.<br><br></div>So we have two advantages compared to the existing system:<br><br></div>- Keeping the same volume id (and therefore disk UUID) makes reverting a VM much easier since device names inside the instance stay the same<br></div>- Can significantly reduce the amount of copying required on some backends<br><br></div>These do seem like solid reasons to consider the feature. <br><br></div>If you can solve the backwards compatibility problem mentioned further up this thread, then I think there's a strong case for considering adding this API.<br><br></div>The next step is a spec and a PoC implementation.<br><br><br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On 11 April 2016 at 20:57, Erlon Cruz <span dir="ltr"><<a href="mailto:sombrafam@gmail.com" target="_blank">sombrafam@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">You are right, the instance should be shutdown or the device be unmounted, before 'revert' or removing the old device. That should be enough to avoid corruption. I think the device naming is not a problem if you use the same volume (at least the disk UUID will be the same). </div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 11, 2016 at 2:39 PM, Duncan Thomas <span dir="ltr"><<a href="mailto:duncan.thomas@gmail.com" target="_blank">duncan.thomas@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>You can't just change the contents of a volume under the instance though - at the very least you need to do an unmount in the instance, and a detach is preferable, otherwise you've got data corruption issues.<br><br></div>At that point, the device naming problems are identical.<br></div><div class="gmail_extra"><div><div><br><div class="gmail_quote">On 11 April 2016 at 20:22, Erlon Cruz <span dir="ltr"><<a href="mailto:sombrafam@gmail.com" target="_blank">sombrafam@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">The actual user workflow is:<div><br></div><div> 1 - User creates a volume(s)</div><div> 2 - User attach volume to instance</div><div> 3 - User creates a snapshot</div><div> 4 - Something happens causing the need of a revert</div><div> 5 - User creates a volume(s) from the snapshot(s)</div><div> 6 - User detach old volumes</div><div> 7 - User attach new volumes (and pray so they get the same id) - Nova, should have the ability to honor supplied device names (vdc, vdd, etc), which not always happen[1]. But, does the volume keep the same UUID in the system? Several application use that to boot.</div><div><br></div><div>The suggested workflow would be simpler for a user POV:</div><div><br></div><div><div> 1 - User creates a volume(s)</div><div> 2 - User attach volume to instance</div><div> 3 - User creates a snapshot</div><div> 4 - Something happens causing the need of a revert</div><div> 5 - User revert snapshot(s)</div><div><br></div></div><div><br></div><div> [1] <a href="https://goo.gl/Kusfne" target="_blank">https://goo.gl/Kusfne</a></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 8, 2016 at 5:07 AM, Ivan Kolodyazhny <span dir="ltr"><<a href="mailto:e0ne@e0ne.info" target="_blank">e0ne@e0ne.info</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Chenzongliang,<div><br></div><div>I still don't understand what is difference between proposed feature and 'restore volume from snapshot'? Could you please explain it?</div></div><div class="gmail_extra"><br clear="all"><div><div><div dir="ltr"><div>Regards,<br>Ivan Kolodyazhny,<br><a href="http://blog.e0ne.info/" target="_blank">http://blog.e0ne.info/</a></div></div></div></div><div><div>
<br><div class="gmail_quote">On Thu, Apr 7, 2016 at 12:00 PM, Chenzongliang <span dir="ltr"><<a href="mailto:chenzongliang@huawei.com" target="_blank">chenzongliang@huawei.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="blue" vlink="purple" lang="ZH-CN">
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#44546a" lang="EN-US">Dear Cruz:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#44546a" lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#44546a" lang="EN-US">         Thanks for you kind support, I will review the previous spec according to the following links.  May be more user scenario we should
 considered,such as backup,create volume from snapshot,consistency group and etc,we will spend some time to gather
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#44546a" lang="EN-US">the user's scenarios and determin what to do next step.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#44546a" lang="EN-US"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#44546a" lang="EN-US">Sincerely,<u></u><u></u></span></p>
<p class="MsoNormal" style="text-align:start;word-spacing:0px">
<span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#44546a" lang="EN-US">zongliang chen<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Calibri","sans-serif";color:#44546a" lang="EN-US"><u></u> <u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt">发件人<span lang="EN-US">:</span></span></b><span style="font-size:10.0pt" lang="EN-US"> Erlon Cruz [mailto:<a href="mailto:sombrafam@gmail.com" target="_blank">sombrafam@gmail.com</a>]
<br>
</span><b><span style="font-size:10.0pt">发送时间<span lang="EN-US">:</span></span></b><span style="font-size:10.0pt" lang="EN-US"> 2016</span><span style="font-size:10.0pt">年<span lang="EN-US">4</span>月<span lang="EN-US">5</span>日<span lang="EN-US"> 2:50<br>
</span><b>收件人<span lang="EN-US">:</span></b><span lang="EN-US"> OpenStack Development Mailing List (not for usage questions)<br>
</span><b>抄送<span lang="EN-US">:</span></b><span lang="EN-US"> Zhangli (ISSP); Shenhong (C)<br>
</span><b>主题<span lang="EN-US">:</span></b><span lang="EN-US"> Re: [openstack-dev] [Cinder] About snapshot Rollback?<u></u><u></u></span></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">Hi Chen,<u></u><u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Not sure if I got you right but I brought this topic in #openstack-cinder some days ago. The idea is to be able to rollback a snapshot in Cinder. Today what is possible to do is to create a volume from a snapshot. From
 the user point of view, this is not ideal, as there are several cases, if not the majority of, that the purpose of the snapshot is to revert to a desired state, and not keep the original volume. For some backends, keeping the original volume means space consumption.
 This space problem becomes bold when we think about consistency groups. For consistency groups, some backends might have to copy an entire filesystem for each snapshot, consuming space and time. So, I think it would be desired to have the ability to revert
 snapshots.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">I know there have been efforts in the past[1] to implement that, but for some reason the work was stopped. If you want to retake the effort please create a spec[2]  sol everybody can provide feedback. <u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">Erlon<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">[1] <a href="https://blueprints.launchpad.net/cinder/+spec/cinder-volume-rollback-snapshot" target="_blank">
https://blueprints.launchpad.net/cinder/+spec/cinder-volume-rollback-snapshot</a><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">[2] <a href="https://github.com/openstack/cinder-specs" target="_blank">https://github.com/openstack/cinder-specs</a><u></u><u></u></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">On Thu, Mar 24, 2016 at 6:09 AM, Chenzongliang <<a href="mailto:chenzongliang@huawei.com" target="_blank">chenzongliang@huawei.com</a>> wrote:<u></u><u></u></span></p>
<div>
<div>
<p class="MsoNormal"><span lang="EN-US">Hi all:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">    We are condering add a fucntion rollback_snapshot when we use backup. In the end user's scenario. If a vm fails, we hope that we can use snapshot to to recovery
 the volume's data.  <u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">    Beacuse it can quickly recovery our vm. But if we use the remote data to recovery. We will spend more time.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">    But i'm not sure if the data was recoveried from the backend. whether the host need to rescan the volumes? At the same time. If a volume have been extended,
 whether it can be roolback? <u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">   
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">   I want to know whether the topic have been discussed or have other recommendations to us?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">   
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US">   Thanks<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span lang="EN-US"><br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">
OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><u></u><u></u></span></p>
</div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
</div>
</div>

<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div></div>
</blockquote></div><br></div>
</div></div><br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><br></div></div><span><font color="#888888">-- <br><div><div dir="ltr"><div>-- <br>Duncan Thomas</div></div></div>
</font></span></div>
<br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>
</div></div><br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div><div dir="ltr"><div>-- <br>Duncan Thomas</div></div></div>
</div>
</div></div><br>__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div>