Possible improvements for OpenNebula in future releases

After the release of LXCoNe, we have some suggestions that could improve OpenNebula in future versions, specially to improve it’s support for OS level virtualization technology. @jfontan gave us the idea to write in the forum, so here it is. Some of these suggestions are related to LXC, some are not. We hope this information can be useful.

Several virtualization drivers for a single node
When creating a node in OpenNebula, you can only specify one virtualization driver. This makes sense when using HVM hypervisors, but other hypervisors, such as LXC can coexist. It will be great if, when creating a node, you could specify two virtualization drivers if they can coexist. More info about this issue here

Hot resize computing resources
One of the main advantages that brings OS-level virtualization is the ability and simplicity to add and subtract computing resources while the container is on, but OpenNebula doesn’t allows it. It will be great to implement this.

Hot attaching Network Interface Cards:
In LXCoNe, when several NICs are specified in the template, they will appear up and running once the container is deployed, and they will already be configured according to the information (IP, netmask…) supplied by OpenNebula via the deployment XML file. The idea when hot-attaching in LXCoNe was the same, however, OpenNebula won’t pass this information (IP, netmask, gateway) to the attach_nic script. Because of this, when hot-attaching the new interface, it will appear ready inside the container, but without any configuration, this will be up to the user. Can this information also be given to he attach_nic script?

Mount point for virtual hard drives
With KVM or Xen, once a virtual hard drive is attached, it will appear inside the virtual machine as /dev/sdx. Sdx will be shown by OpenNebula. LXC works differently. When we add a hard drive in the template and then deploy this template, or hot-attach a hard drive in LXC, this hard drive will appear mounted on /media/<DISK_ID>. Could a new field be added for the user to be able to specify any mount point?

Snapshots
When a snapshot is made to a virtual machine, it will automatically disappear once this virtual machine is turned off. We implemented snapshots on LXCoNe, and they can persist if the container is off, but they will disappear from Sunstone after powering off the container. We automatized this using scripts, but it will be great to use OpenNebula for making this snapshots.

Automatic Live Migration
Allow OpenNebula to automatically live-migrate a running virtual machine to a node with low workload once the node where the virtual machine is running have almost consumed all it’s resources.

Displaying error messages on Sunstone
There are several functions defined that can be used to generate a specific error once something goes wrong (execute_and_log, for example). This error message will appear in the logs view. There are some situations where we want the user to notice a warning, or an error. For example, if a hard drive wants to be detached, this will only succeed if no process is using it. We made this on purpose, but if the user doesn’t checks logs (typical case) he will assume something failed when it’s only a protection. Is there any way to display error messages the same way that Sunstone displays them?

2 Likes

Hi,

Sure, this would be a great usage, avoiding unnecessary reboots :slight_smile: Starting with cpu and ram. Storage is far more complicated (lvm or not, exotic FS …)