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

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.

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.

Storage Drivers

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.

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.