<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
<title></title>
<meta name="GENERATOR" content="OpenOffice.org 3.0  (Linux)">
<meta name="CREATED" content="0;0">
<meta name="CHANGED" content="20090701;13170700">
</head>
<body lang="en-US" dir="LTR">
<h1>OpenNebula Virtual Infrastructure Manager driver</h1>
<p><a name="toc"></a><a href="http://opennebula.org/">OpenNebula</a>
is a Virtual Infrastructure Manager that controls Virtual Machines (VM) in a pool of distributed resources
by orchestrating network, storage and virtualization technologies. The OpenNebula driver lets you manage your private or hybrid (<a href="http://aws.amazon.com/ec2/">Amazon EC2</a> or <a href="http://www.elastichosts.com/">Elastic Hosts</a> based) cloud using a standard libvirt interface, including the API as well as the related
tools and VM description files.</p>
<h2>
<a name="prereq"></a>Deployment pre-requisites</h2>
<ul>
<li>
<p style="margin-bottom: 0in">A working OpenNebula installation,
        version 1.2 or higher.
        </p>
        </li>
</ul>
<h2>
<a name="uris"></a>Connections to OpenNebula driver</h2>
<p>The Uri of the driver protocol is "one". Some example
connection Uris for the driver are:
</p>
<pre>
one:///                      (local access)
one+unix:///                 (local access)
one://example.com/           (remote access)
one+tcp://example.com/       (remote access, SASl/Kerberos)
one+ssh://user@example.com/  (remote access, SSH tunnelled)
</pre>
<h2>
<a name="xmlconfig"></a>Example domain XML config</h2>
<p>There are some limitations on the XML attributes that may be
specified when interfacing OpenNebula. The following xml example
details the attributes and options supported by the OpenNebula
driver:</p>

<h3>Paravirtualized guest direct kernel boot
</h3>
<pre>
&lt;domain type='one'&gt;
  &lt;name&gt;vm01&lt;/name&gt;
  &lt;memory&gt;32768&lt;/memory&gt;
  &lt;vcpu&gt;1&lt;/vcpu&gt;

  &lt;os&gt;
    &lt;type&gt;linux&lt;/type&gt;
    &lt;kernel&gt;/boot/vmlinuz-2.6.24-17-xen&lt;/kernel&gt;
    &lt;initrd&gt;/boot/initrd.img-2.6.24-17-xen&lt;/initrd&gt;
    &lt;cmdline&gt;&lt;/cmdline&gt;
    &lt;root&gt;sda1&lt;/root&gt;
  &lt;/os&gt;

  &lt;devices&gt;
    &lt;disk type='file' device='disk'&gt;
      &lt;source file='/images/sgehosts/01/disk.img'/&gt;
      &lt;target dev='sda1'/&gt;
    &lt;/disk&gt;

    &lt;disk type='file' device='disk'&gt;
      &lt;source file='/images/sgehosts/01/swap.img'/&gt;
      &lt;target dev='sda2'/&gt;
    &lt;/disk&gt;

    &lt;disk type='file' device='cdrom'&gt;
      &lt;source file='/images/iso/cdrom.iso'/&gt;
      &lt;target dev='hdc'/&gt;
      &lt;readonly/&gt;
    &lt;/disk&gt;


    &lt;!--BRIDGE--&gt;
    &lt;interface type='bridge'&gt;
      &lt;source bridge='eth0'/&gt;
      &lt;mac address='00:16:3e:5d:c7:9e'/&gt;
    &lt;/interface&gt;

    &lt;!--ONE Network--&gt;
    &lt;interface type='network'&gt;
      &lt;source network='onenetwork'/&gt;
    &lt;/interface&gt;
  &lt;/devices&gt;
&lt;/domain&gt;
</pre>
<p>
<b>Note:</b> The "&lt;interface type='network'&gt;" will
attach the interface to a previously configured network (named
<tt>onenetwork</tt>) within the <a href="http://opennebula.org/">OpenNebula</a> system, typically with the
<tt>onevnet</tt> CLI command.</p>

<p><b>Note</b>: OpenNebula supports the simultaneous use of different hypervisors, so you can specify any os type (linux or hvm) supported by your cluster.
</p>

<h2>Links</h2>
<ul>
<li><a href="http://www.opennebula.org/doku.php?id=documentation">OpenNebula Documentation</a>
</li>
<li><a href="http://www.opennebula.org/doku.php?id=documentation:rel1.2:ug">OpenNebula User Guide</a>
</li>
</ul>
</body>
</html>
