This is a multi-part message in MIME format.
--------------050809030206070109060801
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
2012-12-20 23:18, Morrissey, Christopher:
Hi All,
I've been working on a bit of functionality for the engine that will
allow a user to query a domain for new disk images
(GetUnregisteredImagesQuery) for which the engine was previously
unaware and a separate command to register those images
(ImportImageCommand). These commands will be exposed through the REST API.
This functionality is needed as we are developing an extension/plugin
to oVirt that will allow a NetApp storage controller to handle cloning
the actual disks outside of oVirt and need to import them once they
are cloned. We'll be using other existing APIs to attach the disk to
the necessary VM once the disk is cloned. On the NetApp side, we'll
ensure the disk is coalesced before cloning so as to avoid the issues
of registering snapshots.
I am just curious about how the third party tool like NetApp to make
sure the disk of a running VM coalesced before cloning? By an agent in
the VM to flush file-system cache out to the disk?
GetUnregisteredImagesQuery will be accessible through the disks
resource collection on a storage domain. A "disks" resource collection
does not yet exist and will need to be added. To access the
unregistered images, a parameter (maybe "unregistered=true") would be
passed. So the path to "GET" the unregistered disk images on a domain
would be something like
/api/storagedomains/f0dbcb33-69d3-4899-9352-8e8a02f01bbd/disks?unregistered=true.
This will return a list of disk images that can be each used as input
to the ImportImageCommand to get them added to oVirt.
ImportImageCommand will be accessible through "POST"ing a disk to
/api/disks?import=true. The disk will be added to the oVirt DB based
on the information supplied and afterward would be available to attach
to a VM.
When querying for unregistered disk images, the
GetUnregisteredImagesQuery command will use the getImagesList() VDSM
command. Currently this only reports the GUIDs of all disk images in a
domain. I had been using the getVolumesList() and getVolumeInfo() VDSM
commands to fill in the information so that valid disk image objects
could be registered in oVirt. It seems these two functions are set to
be removed since they are too invasive into the internal VDSM
workings. The VDSM team will need to either return more information
about each disk as part of the getImagesList() function or add a new
function getImageInfo() that will give the same information for a
given image GUID.
Here is the project proposal for floating disk in oVirt. I think
unregistered images are also floating disks.
http://www.ovirt.org/Features/DetailedFloatingDisk
Note that much of this work had originally been submitted under patch
http://gerrit.ovirt.org/#/c/9603/. After several reviews it was found
to be lacking in its design and was using deprecated APIs that did not
yet have replacements. I'm reworking the code now to conform to this
design and asking for further input from the VDSM, core, and restapi
teams to ensure we can get this done quickly and correctly as it is
needed for the 3.2 release.
-Chris
*Chris Morrissey*
Software Engineer
NetApp Inc.
919.476.4428
_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel
--
---
?? Shu Ming
Open Virtualization Engineerning; CSTL, IBM Corp.
Tel: 86-10-82451626 Tieline: 9051626 E-mail: shuming(a)cn.ibm.com or
shuming(a)linux.vnet.ibm.com
Address: 3/F Ring Building, ZhongGuanCun Software Park, Haidian District, Beijing 100193,
PRC
--------------050809030206070109060801
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">2012-12-20 23:18, Morrissey,
Christopher:<br>
</div>
<blockquote
cite="mid:D290AD8432118048947689BA3AE8A9B3094E3FDC@SACEXCMBX04-PRD.hq.netapp.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle18
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal">Hi All,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’ve been working on a bit of
functionality
for the engine that will allow a user to query a domain for
new disk images (GetUnregisteredImagesQuery) for which the
engine was previously unaware and a separate command to
register those images (ImportImageCommand). These commands
will be exposed through the REST API.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This functionality is needed as we are
developing an extension/plugin to oVirt that will allow a
NetApp storage controller to handle cloning the actual disks
outside of oVirt and need to import them once they are cloned.
We’ll be using other existing APIs to attach the disk to the
necessary VM once the disk is cloned. On the NetApp side,
we’ll ensure the disk is coalesced before cloning so as to
avoid the issues of registering snapshots.</p>
</div>
</blockquote>
I am just curious about how the third party tool like NetApp to
make sure the disk of a running VM coalesced before cloning? By an
agent in the VM to flush file-system cache out to the disk?<br>
<br>
<blockquote
cite="mid:D290AD8432118048947689BA3AE8A9B3094E3FDC@SACEXCMBX04-PRD.hq.netapp.com"
type="cite">
<div class="WordSection1">
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">GetUnregisteredImagesQuery will be
accessible through the disks resource collection on a storage
domain. A “disks” resource collection does not yet exist
and
will need to be added. To access the unregistered images, a
parameter (maybe “unregistered=true”) would be passed. So
the
path to “GET” the unregistered disk images on a domain
would
be something like
/api/storagedomains/f0dbcb33-69d3-4899-9352-8e8a02f01bbd/disks?unregistered=true.
This will return a list of disk images that can be each used
as input to the ImportImageCommand to get them added to
oVirt.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">ImportImageCommand will be accessible
through “POST”ing a disk to /api/disks?import=true. The
disk
will be added to the oVirt DB based on the information
supplied and afterward would be available to attach to a
VM.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">When querying for unregistered disk images,
the GetUnregisteredImagesQuery command will use the
getImagesList() VDSM command. Currently this only reports the
GUIDs of all disk images in a domain. I had been using the
getVolumesList() and getVolumeInfo() VDSM commands to fill in
the information so that valid disk image objects could be
registered in oVirt. It seems these two functions are set to
be removed since they are too invasive into the internal VDSM
workings. The VDSM team will need to either return more
information about each disk as part of the getImagesList()
function or add a new function getImageInfo() that will give
the same information for a given image GUID.</p>
</div>
</blockquote>
<br>
Here is the project proposal for floating disk in oVirt. I think
unregistered images are also floating disks.<br>
<a class="moz-txt-link-freetext"
href="http://www.ovirt.org/Features/DetailedFloatingDisk">ht...
<br>
<blockquote
cite="mid:D290AD8432118048947689BA3AE8A9B3094E3FDC@SACEXCMBX04-PRD.hq.netapp.com"
type="cite">
<div class="WordSection1">
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Note that much of this work had originally
been submitted under patch
<a moz-do-not-send="true"
href="http://gerrit.ovirt.org/#/c/9603/">http://gerrit.ovirt...;.
After several reviews it was found to be lacking in its design
and was using deprecated APIs that did not yet have
replacements. I’m reworking the code now to conform to this
design and asking for further input from the VDSM, core, and
restapi teams to ensure we can get this done quickly and
correctly as it is needed for the 3.2 release.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-Chris<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Chris
Morrissey<o:p></o:p></b></p>
<p class="MsoNormal">Software
Engineer<o:p></o:p></p>
<p class="MsoNormal">NetApp Inc.<o:p></o:p></p>
<p
class="MsoNormal">919.476.4428<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Engine-devel mailing list
<a class="moz-txt-link-abbreviated"
href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a>
<a class="moz-txt-link-freetext"
href="http://lists.ovirt.org/mailman/listinfo/engine-devel">...
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
---
舒明 Shu Ming
Open Virtualization Engineerning; CSTL, IBM Corp.
Tel: 86-10-82451626 Tieline: 9051626 E-mail: <a
class="moz-txt-link-abbreviated"
href="mailto:shuming@cn.ibm.com">shuming@cn.ibm.com</a> or <a
class="moz-txt-link-abbreviated"
href="mailto:shuming@linux.vnet.ibm.com">shuming@linux.vnet.ibm.com</a>
Address: 3/F Ring Building, ZhongGuanCun Software Park, Haidian District, Beijing 100193,
PRC</pre>
</body>
</html>
--------------050809030206070109060801--