OpenNebula Cloud

What is it?

The OpenNebula Cloud offers a virtual computing environment accessible through two different remote interfaces, OCCI and EC2. It allows to launch virtual machines based on a variety of available images with different Operating Systems and configurations.

OpenNebula Cloud Structure

There are, in fact, two clouds offered.

  • One is a development cloud intended to try out the two interfaces offered. Operations upon this cloud will result on virtual networks and machines resource creations, but no real action whatsoever will be performed. This means that there will be the ilusion that a VM is created, but in fact it won't be running anywere. This is a great way to test the interfaces behaviour and to develop clients on top of them. This 'development' cloud is accesible from the following url using both interfaces:
https://devel.cloud.opennebula.org
  • The other, 'real', OpenNebula cloud is intended to be used to ‘get a feel’ of what can be achieved using OpenNebula as an infrastructure tool. Our resources are limited, so virtual machines won’t be powerful:
  • 256 Mb of RAM
  • 1 CPU

First step to use the cloud is to download the OpenNebula software, even though we just will need the client components. The URL to access the cloud is the same for both interfaces:

https://cloud.opennebula.org

Installation and configuration vary slightly depending on which interface you want to use:

OCCI

  • Install the client: No need to compile anything, just check the requirements. In the OpenNebula source code directory run ./install.sh -c occi. Optional configuration can be done by setting the ONE_AUTH and OCCI_URL environment variables, as explained here
  • Using the cloud: Details on how to use the commands, explained with a simple scenario, can be found here

EC2

  • Install the client: No need to compile anything, just check the requirements. In the OpenNebula source code directory run ./install.sh -c ec2. Optional configuration can be done by setting the ONE_AUTH and EC2_URL environment variables, as explained here
  • Using the cloud: Details on how to use the commands, explained with a simple scenario, can be found here

Getting an account

In order to use the OpenNebula Cloud you need an account, that we provide on demand. We just require you to send an email to cloud@opennebula.org asking for one and stating your preferred username.

Using the cloud

Both interfaces give access to the same infrastructure, so resources created by one interface are reflected immediately in the other. Due to their different nature, it is also true that functionality offered by the interfaces vary.

So, for example, using the OCCI interface enables:

  • the definition of virtual networks that can be used to interconnect different virtual machines
<NIC>
	<NAME>MyNetwork</NAME>
	<ADDRESS>10.0.0.1</ADDRESS>
	<SIZE>200</SIZE>
</NIC>
  • the inclusion of more than one image to the VirtualMachine, swap partition or even a blank pre-formatted filesystem
<COMPUTE>
   ...
   <STORAGE>
     <DISK image="1" dev="sda1"/>
     <SWAP size="1024" dev="sda2"/>
     <FS size="512" format="ext3" dev="sda3"/>
   </STORAGE>
   ...
</COMPUTE>

On the other hand, the EC2 service, based on the EC2Query interface, is intended to provide a user experience close to that offered by Amazon EC2. For this reason, virtual machines will have just one image (the one picked to launch the virtual machine) and will get a public address from the “Public EC2” virtual network (that can be seen with the occi-network list command).

So, for example:

  • with ‘econe-describe-images’ a listing of all the available images can be obtained:

<xterm> $ ./econe-describe-images -H Owner ImageId Location


helen 1 /tmp/images/1 … </xterm>

  • if the first image suits us, it can be launched using econe-run-instances:

<xterm> $ ./econe-run-instances -H 1 Owner ImageId InstanceId InstanceType


helen 1 15 m1.small </xterm>

  • and get the IP to connect to the virtual machine with econe-describe-instances:

<xterm> $ ./econe-describe-instances -H Owner Id ImageId State IP Type


helen 15 1 running 147.96.80.33 m1.small </xterm>

Once the VM is up and running, logging into it is just a matter of downloading this key and doing a:

<xterm> $ ssh -i onecloud_key -l oneadmin <ip_of_the_vm> </xterm>