OpenNebula 4.0 Beta (3.9.80)

March 26th, 2013. The project has come a long way since the first “technology preview” of OpenNebula five years ago. During these years we've witnessed the rise and hype of the Cloud, the birth and decline of several virtualization technologies, but specially the encouraging and exciting growth of OpenNebula; both as a technology and as an active and engaged community.

OpenNebula 4.0 is the result of the terrific feedback of the day-to-day operation of virtualized infrastructures by many of you, result of all your contributions, bug reports, patches, and translations, but one and foremost, OpenNebula 4.0 is the realization of a vision of simplicity, openness, code-correctness and a sysadmin-centric approach. This defines our personality as a community, it defines the OpenNebula Way. Now the features that you've been waiting for….

OpenNebula 4.0 includes new features in most of its subsystems. We are showing for the first time a completely redesigned Sunstone, with a fresh and modern look and an updated workflow for most of the dialogs. A whole new set of operations for VMs like system and disk snapshoting, capacity re-sizing, programmable VM actions and IPv6 among others. There are some new drivers also, like Ceph; as well as improvements for VMware, KVM and Xen. The scheduler has received some attention from the OpenNebula team to easily define more placement policies… and much more (see below).

There are some last-minute features that will be probably added in the final release, but we are basically in feature-freeze, concentrated in smooth some rough edges here and there. Note that this is a beta release aimed at testers and developers to try the new features, and send a more than welcomed feedback for the final release. Although this is a major release we've done our best to keep compatibility with OpenNebula 3.8 so any application developed for previous versions should work without effort. We have changed the name of some of the operations over the VM (we have now 32 different management actions) so be sure to check the compatibility and upgrade guides.

What's New in OpenNebula 4.0 Beta

In the following list you can check the highlights of 4.0 organized by component (a detailed list of changes can be found here):

OpenNebula Core: End-user functionality

OpenNebula 4.0 brings multiple new features to manage virtual machines:

  • VM System Snapshots, i.e. including the complete VM state (memory+disk). Snapshots can be listed and reverted freely for running VMs. These feature is supported for KVM and VMware (see more info here).
  • Disk Snapshots, similar to the 3.8 save_as operation but to be performed live, so applications must guarantee FS integrity (more here).
  • Capacity re sizing, to change the CPUs and memory allocated to a VM. These operation is only for off-line re-sizing (check this out).
  • Programmable VM operations, so you want to suspend your VM Friday afternoon and resume it first thing on Monday. You can do this without intervention by programming the suspend and resume operations, see a description here.
  • NIC hotplugging, need another network card in your VM, hot-plug a new one.
  • IPv6 Support, extending OpenNebula's contextualization process you can now easily define site and global unicast addresses. For the sake of completeness the link local address is also generated, (more here).
  • Plain Files Datastore, This is an special datastore to store kernels, ramdisks and files to be used in context. The whole set of OpenNebula features applies, e.g. ACLs, ownership… more information here.
  • User defined VM tags now you can tag VMs with any information (key-value), this is useful to manage your VMs but also to store application specific data (VMs can call-back home), more in the VM guide
  • Powerful CLI, the shell is also important for us, with OpenNebula 4.0 you can easily control your infrastructure, read this.
  • And much more…: one-step template update & instantation, rename virtual resources, user umask, capacity checks for deployment operations…

OpenNebula Core: Internals & Administration Interface

There has been also several improvements for administrators and new features to enhance the robustness and scalability of OpenNebula core:

  • Syslog support, for the oned daemon and the scheduler, read this to configure it.
  • ACLs for clusters, now you can define fine-grain access to the resources of a cluster.
  • Default Quotas, so you can limit resource usage by default, see this.
  • New persistency model, VM disk images can now be “inmutable” to implement advanced transfer mechanisms.
  • Efficient monitoring, we have greatly reduced the latency and overhead of monitoring, read at the end of this post.
  • VM cancellation and cleanup synchronization, the previous destroy mechanism was to aggressive and sometimes images were not properly cleaned-up. The cancellation and clean-up procedure are now sync.
  • Better concurrency for network drivers, to prevent race conditions when instantiating multiple VMs in the same host.

New Sunstone

The UI interface has been redesigned with a fresher and modern look. You can see it in action in this video, or check this screen-shot:

OpenNebula Drivers

The back-end of OpenNebula has been also improved in several areas, as described below:

Authentication drivers

Virtualization Drivers

  • Support for Xen 3 & Xen 4, better defaults are now for both Xen versions without the need of adapting them.
  • New attributes: KVM includes a couple of new attributes, CACHE can be now set in disk attachments and the IO attribute can be defined for DISKS.
  • More defaults: a default can be now defined for the raw attribute. Also VM supports a default NIC model.
  • Custom attributes for VMware VMX files: VMware users need to define the guestOS attribute, this and any other data can be defined in the VMX files. See an example here.

Storage Drivers

  • Improved iSCSI support, to improve the concurrency of the TGT server.
  • Ceph Datastore, a brand new Datastore and Transfer Manager that uses the Ceph FS, read here if you are a Ceph user.

Scheduler

  • Cluster attributes for VM placement, you can include cluster and host attributes in your requirements and rank expressions. This is a very easy way to tag all the hosts of a cluster with a given property, see here examples
  • Affinity policies, There is a special variable, CURRENT_VMS, that can be used to deploy VMs in a Host where other VMs are (not) running, see here examples
  • Any host attribute for scheduling expressions, if you need an even more flexible requirement or rank mechanism you can use Xpath to refer to any host attribute.
  • Scheduler feedback through VM tags, the VM is not deployed?, now the scheduler will send you feedback through the VM properties.

OpenNebula API's

Although OpenNebula 4.0 is a major release, we have kept compatibility at the API level. Legacy method names can be used at the XML-RPC and Ruby and JAVA bindings (it'd be a good idea to start using the new ones, though).

  • Retrieve OpenNebula configuration: New methods to retrieve the running configuration of the OpenNebula daemon.

OCCI & EC2 Interfaces

Migrating from OpenNebula 3.8

There have been minor changes in the OpenNebula DB schema to solve bug related with large deployments, snapshots & generic data. These changes are automatically managed by the migration process, but if you have developed any customization you may need to update it.

A detailed upgrade process can be found in the documentation.

For a complete set of changes to migrate from a 3.x installation please refer to the Compatibility Guide. You should also read this document if you are an OpenNebula 3.x user.

Getting the Software & Documentation

OpenNebula is released under the Apache 2.0 open source license. The complete source tree and binary packages for OpenNebula can be downloaded here.

Please report any bug or send feedback at the development portal or at the mailing list.

The documentation of OpenNebula 4.0 can be found here.

Acknowledgements

The OpenNebula project would like to thank the community members and users who have contributed to this software release by being active with the discussions, answering user questions, or providing patches for bugfixes, features and documentation.

About OpenNebula

More information about the project can be found at the project web page. You may be also interested in checking the OpenNebula Ecosystem that includes many interesting projects contributed by the community to enhance or add new features to OpenNebula.