OpenNebula is a Virtual Infrastructure Engine that manages Virtual Machines (VM) in a pool of distributed resources by orchestrating network, storage and virtualization technologies. The OpenNebula driver lets you manage your private cloud using a standard libvirt interface, including the API as well as the related tools and VM description files.
A working OpenNebula installation, version 1.2 or higher.
"libxmlrpc-c3" >= 1.06.27-1 development package.
The Uri of the driver protocol is "one". Some example connection Uris for the driver are:
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)
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:
<domain type='one'> <name>vm01</name> <memory>32768</memory> <vcpu>1</vcpu> <os> <type>linux</type> <kernel>/boot/vmlinuz-2.6.24-17-xen</kernel> <initrd>/boot/initrd.img-2.6.24-17-xen</initrd> <cmdline></cmdline> <root>sda1</root> </os> <devices> <disk type='file' device='disk'> <source file='/images/sgehosts/01/disk.img'/> <target dev='sda1'/> </disk> <disk type='file' device='disk'> <source file='/images/sgehosts/01/swap.img'/> <target dev='sda2'/> </disk> <disk type='file' device='cdrom'> <source file='/images/iso/cdrom.iso'/> <target dev='hdc'/> <readonly/> </disk> <!--BRIDGE--> <interface type='bridge'> <source bridge='eth0'/> <mac address='00:16:3e:5d:c7:9e'/> </interface> <!--ONE Network--> <interface type='network'> <source network='onenetwork'/> </interface> </devices> </domain>
Note: The "<interface type='network'>" will attach the interface to a previously configured network (named onenetwork) within the OpenNebula system, typically with the onevnet CLI command.