<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace"><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 19, 2014 at 11:01 AM, Amit Das <span dir="ltr"><<a href="mailto:amit.das@cloudbyte.com" target="_blank">amit.das@cloudbyte.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 style="font-family:'trebuchet ms',sans-serif">Hi All,</div><div style="font-family:'trebuchet ms',sans-serif">

<br></div><div style="font-family:'trebuchet ms',sans-serif">
Thanks for clarifying the Cinder behavior w.r.t a snapshot & its clones which seems to be independent/decoupled.</div><div style="font-family:'trebuchet ms',sans-serif">The current volume & its snapshot based validations in Cinder holds true for snapshot & its clones w.r.t my storage requirements. </div>


<div style="font-family:'trebuchet ms',sans-serif"><br></div><div style="font-family:'trebuchet ms',sans-serif">Our storage is built on top of ZFS filesystem. </div></div></blockquote><div class="gmail_default" style="font-family:'courier new',monospace">

​Ahh.. yes, we've had similar discussions with Nexenta and other ZFS derivatives on this.</div><div class="gmail_default" style="font-family:'courier new',monospace"><br></div><div class="gmail_default" style="font-family:'courier new',monospace">

The only thing I've thought of here is the use of some trickery in the form of "hidden/system" objects.  It creates a bit of a quota nightmare and admin mess though.  Maybe we can get all the ZFS folks (and I believe Ceph has some similar capabilities here) and come up with a solution that doesn't break the API behaviors.</div>

<div class="gmail_default" style="font-family:'courier new',monospace">​</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">
<div style="font-family:'trebuchet ms',sans-serif">The volume -> snapshot -> clone that I am referring to in turn points to a ZFS dataset -> ZFS snapshot -> ZFS clone.</div><div style="font-family:'trebuchet ms',sans-serif">


<br></div><div style="font-family:'trebuchet ms',sans-serif">The best part of ZFS based snapshots & clones are :</div><div><ul><li><font face="trebuchet ms, sans-serif">these are almost instantaneous ( i.e. copy-on-write based copies)</font></li>


<li><font face="trebuchet ms, sans-serif">these will not consume any additional (initially)</font></li><ul><li><font face="trebuchet ms, sans-serif"><span style="color:rgb(0,0,0)">a clone initially shares all its disk space with the original snapshot, its </span><span style="color:rgb(0,0,0)">used</span><span style="color:rgb(0,0,0)"> property is initially zero. </span></font></li>


<li><font face="trebuchet ms, sans-serif"><span style="color:rgb(0,0,0)">As changes are made to the clone, it uses more space. </span></font></li><li><font face="trebuchet ms, sans-serif"><span style="color:rgb(0,0,0)">The </span><span style="color:rgb(0,0,0)">used</span><span style="color:rgb(0,0,0)"> property of the original snapshot does not consider the disk space consumed by the clone.</span><br>


</font></li></ul></ul><div><font color="#000000" face="trebuchet ms, sans-serif">Further optimizations i.e. cool feature:</font></div><div><ul><li><font color="#000000" face="trebuchet ms, sans-serif">While creating VM clones, a hypervisor driver can delegate part of its cloning process to storage driver & hence, the overall VM cloning will be very very fast.</font></li>


</ul></div><div><br></div><div><font color="#000000" face="Times New Roman" size="3"><br></font></div></div></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr"><div><font style="background-color:rgb(255,255,255)" color="#000000" face="trebuchet ms, sans-serif">Regards,</font></div>


<font style="background-color:rgb(255,255,255)" color="#000000" face="trebuchet ms, sans-serif">Amit</font><div><a href="http://www.cloudbyte.com/" target="_blank"><font style="background-color:rgb(255,255,255)" color="#0000ff" face="trebuchet ms, sans-serif"><i>CloudByte Inc.</i></font></a></div>


</div></div>
<br><br><div class="gmail_quote"><div><div class="h5">On Thu, Jun 19, 2014 at 9:16 PM, John Griffith <span dir="ltr"><<a href="mailto:john.griffith@solidfire.com" target="_blank">john.griffith@solidfire.com</a>></span> wrote:<br>

</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
<div dir="ltr"><div style="font-family:courier new,monospace"><br></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div>On Tue, Jun 17, 2014 at 10:50 PM, Amit Das <span dir="ltr"><<a href="mailto:amit.das@cloudbyte.com" target="_blank">amit.das@cloudbyte.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 style="font-family:trebuchet ms,sans-serif">Hi Stackers,</div><div style="font-family:trebuchet ms,sans-serif">




<br></div><div style="font-family:trebuchet ms,sans-serif">
I have been implementing a Cinder driver for our storage solution & facing issues with below scenario.</div><div style="font-family:trebuchet ms,sans-serif"><br></div><div style="font-family:trebuchet ms,sans-serif">





Scenario - When a user/admin tries to delete a snapshot that has associated clone(s), an error message/log should be shown to the user stating that '<i>There are clones associated to this snapshot. Hence, snapshot cannot be deleted</i>'. </div>




</div></blockquote><div> </div></div><div style="font-family:'courier new',monospace">​What's the use model of "clones associated with the snapshot"?  What are these "clones" from a Cinder perspective.  Easy answer is: don't create them, but I realize you probably have a cool feature or optimization that you're trying to leverage here.​</div>




<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">
<div style="font-family:trebuchet ms,sans-serif"><br></div><div style="font-family:trebuchet ms,sans-serif">Implementation issues - If Cinder driver throws an Exception the snapshot will have error_deleting status & will not be usable. If Cinder driver logs the error silently then Openstack will probably mark the snapshot as deleted.</div>




</div></blockquote><div><br></div><div style="font-family:'courier new',monospace">​So as others point out, from a Cinder perspective this is what I/we would expect.  </div><div style="font-family:'courier new',monospace">




<br></div><div style="font-family:'courier new',monospace">Scott made some really good points, but the point is we do not want to behave differently for every single driver.  The agreed upon mission for Cinder is to actually provide a consistent API and set of behaviors to end users regardless of what backend device they're using (in other words that should remain pretty much invisible to the end-user).</div>




<div style="font-family:'courier new',monospace"><br></div><div style="font-family:'courier new',monospace">What do you use the Clones of the Snapshot for?  Maybe we can come up with another approach that works and keeps consistency in the API.</div>




<div style="font-family:'courier new',monospace"><br></div><div style="font-family:'courier new',monospace"><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div dir="ltr">
<div style="font-family:trebuchet ms,sans-serif"><br></div><div style="font-family:trebuchet ms,sans-serif">What is the appropriate procedure that needs to be followed for above usecase.</div>
<div style="font-family:trebuchet ms,sans-serif"><br></div><div><div dir="ltr"><div><font style="background-color:rgb(255,255,255)" color="#000000" face="trebuchet ms, sans-serif">Regards,</font></div>
<font style="background-color:rgb(255,255,255)" color="#000000" face="trebuchet ms, sans-serif">Amit</font><div><a href="http://www.cloudbyte.com/" target="_blank"><font style="background-color:rgb(255,255,255)" color="#0000ff" face="trebuchet ms, sans-serif"><i>CloudByte Inc.</i></font></a></div>





</div></div>
</div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</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><br>
<br></blockquote></div><br></div></div>
<br></div></div>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</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><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</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><br>
<br></blockquote></div><br></div></div>