<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Please find attached to this email a updated tool that will makes it
    easier to upload an OVF archive file to an oVirt export domain.<br>
    <br>
    This version of the tool has the following improvements:<br>
    <br>
    1. The tool will automatically generate UUIDs for the TemplateID and
    the disk ID.<br>
    2. The tool attempts to outline in the help how an OVF archive
    should be formatted so that a creator will produce archives that are
    consumable by the tool and oVirt.<br>
    3. The makefile has been updated to produce the image uploader's
    RPM.<br>
    <br>
    Sample Usage:<br>
    <br>
    &gt; ovirt-image-uploader.py&nbsp; -n 127.0.0.1:/virt/exports -t
    NEW-IMAGE-NAME-HERE -i -d&nbsp; upload ovf-tgz-here.ovf <br>
    <br>
    // First few lines of the help that attempt to document *how* an
    archive should be formatted...<br>
    keith@whiplash src (master *)]$ python engine-image-uploader.py -h<br>
    Usage: engine-image-uploader.py [options] list <br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; engine-image-uploader.py [options] upload
    [file].[file]...[file]<br>
    <br>
    The image uploader can be used to list export storage domains and
    upload OVF files to<br>
    export storage domains. This tool supports OVF files created in the
    following manner:<br>
    1. The OVF archive must be a gzip archive.<br>
    2. The archive must have the following internal layout:<br>
    &nbsp;&nbsp;&nbsp; |-- images<br>
    &nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; |-- &lt;Image Group UUID&gt;<br>
    &nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |--- &lt;Image UUID (this is the disk image)&gt;<br>
    &nbsp;&nbsp;&nbsp; |-- master<br>
    &nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; |---vms<br>
    &nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |--- &lt;Template UUID&gt;<br>
    &nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |--- &lt;Template UUID&gt;.ovf<br>
    3. The OVF XML file within the archive must have the following
    characteristics:<br>
    3.1. The Content/Name element should be non-nill<br>
    3.2. The Content/TemplateID element should have a UUID matching the
    name of the<br>
    &nbsp;&nbsp;&nbsp;&nbsp; OVF XML file<br>
    3.3. The disk resource types (i.e. ResourceType=17) within
    Content/Section/Item<br>
    &nbsp;&nbsp;&nbsp;&nbsp; should have an InstanceId element should have a UUID that
    matches &lt;Image UUID<br>
    &nbsp;&nbsp;&nbsp;&nbsp; (this is the disk image)&gt;<br>
    3.4. The disk resource types (i.e. ResourceType=17) within
    Content/Section/Item<br>
    &nbsp;&nbsp;&nbsp;&nbsp; should have a HostResource element should have a string in the
    following format<br>
    &nbsp;&nbsp;&nbsp;&nbsp; &lt;Image Group UUID&gt;/&lt;Image UUID (this is the disk
    image)&gt;<br>
    3.5 Each References/<a class="moz-txt-link-freetext" href="File:href">File:href</a> attribute should match 3.4<br>
    3.6 Each References/<a class="moz-txt-link-freetext" href="File:id">File:id</a> attribute should match 3.3<br>
    3.7 Each Section/Disk:diskId attribute should match 3.3<br>
    3.8 Each Section/Disk:fileRef should match 3.4<br>
    4. The tool only supports one disk per Image Group.&nbsp; If you need
    more then you need to<br>
    &nbsp;&nbsp; create multiple Content/Section/Item elements.<br>
    <br>
    <br>
    Cheers,<br>
    Keith<br>
    <br>
    <i><br>
    </i>
  </body>
</html>