<html><body>
<p><font size="2" face="sans-serif">Hi Dmitry,</font><br>
<font size="2" face="sans-serif">Currently, the GPFS Cinder driver can use GPFS's file cloning mechanism when creating a bootable volume from Glance if the source image is RAW.  If the source image is not raw, the driver creates the boot volume by converting the source image to RAW.  </font><br>
<br>
<font size="2" face="sans-serif">Regards,<br>
Bill Owen   <br>
billowen@us.ibm.com<br>
GPFS and OpenStack<br>
520-799-4829<br>
</font><br>
<br>
<br>
<font size="1" color="#5F5F5F" face="sans-serif">From:      </font><font size="1" face="sans-serif">Dmitry Borodaenko <dborodaenko@mirantis.com></font><br>
<font size="1" color="#5F5F5F" face="sans-serif">To:        </font><font size="1" face="sans-serif">openstack-dev@lists.openstack.org, </font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Date:      </font><font size="1" face="sans-serif">02/12/2013 09:32 PM</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Subject:   </font><font size="1" face="sans-serif">[openstack-dev] [Cinder] Cloning vs copying images</font><br>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<tt><font size="2">Hi OpenStack, particularly Cinder backend developers,<br>
<br>
Please consider the following two competing fixes for the same problem:<br>
<br>
</font></tt><tt><font size="2"><a href="https://review.openstack.org/#/c/58870/">https://review.openstack.org/#/c/58870/</a></font></tt><tt><font size="2"><br>
</font></tt><tt><font size="2"><a href="https://review.openstack.org/#/c/58893/">https://review.openstack.org/#/c/58893/</a></font></tt><tt><font size="2"><br>
<br>
The problem being fixed is that some backends, specifically Ceph RBD,<br>
can only boot from volumes created from images in a certain format, in<br>
RBD's case, RAW. When an image in a different format gets cloned into<br>
a volume, it cannot be booted from. Obvious solution is to refuse<br>
clone operation and copy/convert the image instead.<br>
<br>
And now the principal question: is it safe to assume that this<br>
restriction applies to all backends? Should the fix enforce copy of<br>
non-RAW images for all backends? Or should the decision whether to<br>
clone or copy the image be made in each backend?<br>
<br>
The first fix puts this logic into the RBD backend, and makes changes<br>
necessary for all other backends to have enough information to make a<br>
similar decision if necessary. The problem with this approach is that<br>
it's relatively intrusive, because driver clone_image() method<br>
signature has to be changed.<br>
<br>
The second fix has significantly less code changes, but it does<br>
prevent cloning non-RAW images for all backends. I am not sure if this<br>
is a real problem or not.<br>
<br>
Can anyone point at a backend that can boot from a volume cloned from<br>
a non-RAW image? I can think of one candidate: GPFS is a file-based<br>
backend, while GPFS has a file clone operation. Is GPFS backend able<br>
to boot from, say, a QCOW2 volume?<br>
<br>
Thanks,<br>
<br>
-- <br>
Dmitry Borodaenko<br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
OpenStack-dev@lists.openstack.org<br>
</font></tt><tt><font size="2"><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></font></tt><tt><font size="2"><br>
<br>
</font></tt><br>
<br>
</body></html>