<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>&nbsp;</o:p></p>
        <p class="MsoNormal">I&#8217;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>&nbsp;</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&#8217;ll be using other existing APIs to attach the disk to the
          necessary VM once the disk is cloned. On the NetApp side,
          we&#8217;ll ensure the disk is coalesced before cloning so as to
          avoid the issues of registering snapshots.</p>
      </div>
    </blockquote>
    &nbsp;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>&nbsp;</o:p></p>
        <p class="MsoNormal">GetUnregisteredImagesQuery will be
          accessible through the disks resource collection on a storage
          domain. A &#8220;disks&#8221; resource collection does not yet exist and
          will need to be added. To access the unregistered images, a
          parameter (maybe &#8220;unregistered=true&#8221;) would be passed. So the
          path to &#8220;GET&#8221; 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>&nbsp;</o:p></p>
        <p class="MsoNormal">ImportImageCommand will be accessible
          through &#8220;POST&#8221;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>&nbsp;</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.&nbsp; I think
    unregistered images are also floating disks.<br>
    <a class="moz-txt-link-freetext" href="http://www.ovirt.org/Features/DetailedFloatingDisk">http://www.ovirt.org/Features/DetailedFloatingDisk</a><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>&nbsp;</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.org/#/c/9603/</a>.
          After several reviews it was found to be lacking in its design
          and was using deprecated APIs that did not yet have
          replacements. I&#8217;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>&nbsp;</o:p></p>
        <p class="MsoNormal">-Chris<o:p></o:p></p>
        <p class="MsoNormal"><o:p>&nbsp;</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>&nbsp;</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">http://lists.ovirt.org/mailman/listinfo/engine-devel</a>
</pre>
    </blockquote>
    <br>
    <br>
    <pre class="moz-signature" cols="72">-- 
---
&#33298;&#26126; 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>