OpenNebula Eagle (4.0)

May 8th, 2013. The OpenNebula project is proud to announce the immediate availability of OpenNebula 4.0 Eagle. 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. The also new Sunstone Views functionality allows to customize the GUI for each type of user or group, so the interface implements a different provisioning model for each role. 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).

This is a stable release and so a recommended update that incorporates several bug fixes since 4.0 Beta and 4.0 RC. 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.

Each OpenNebula Series is maintained for three years, in few days we will release the first Service Pack for the OpenNebula 3 Series.

As usual OpenNebula releases are named after a Nebula. The Eagle Nebula (catalogued as Messier 16 or M16, and as NGC 6611, and also known as the Star Queen Nebula) is a young open cluster of stars in the constellation Serpens, discovered by Jean-Philippe de Cheseaux in 1745-46. It is located about 7,000 light-years away from Earth.

What's New in OpenNebula 4.0

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.
  • Better VM operations. Now you can undeploy a running VM keeping the instance defined (holding any resource, IP or image) but without consuming any host capacity. The action names are now stable and in their final form. Note that we have change back vm destroy to vm delete to keep the compatibility and coherence with the other resources.
  • 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 these screencasts, or check this screen-shot:

New Sunstone Views

This is a new feature that allows you to customize the UI for different users or user groups, so the interface implements the provisioning model for each role. Sunstone views replaces the 3.x self-service portal. Sunstone views does not require any additional service (apart from the sunstone server). Sunstone ships with two predefined views admin and user, we may add a couple of more pre-defined views for the final release.

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.

Long Term Support of the OpenNebula 3 Series

In few days we will release the first Service Pack of the OpenNebula 3 Series. After its first year, and for two additional years, the Project distributes a Service Pack (SP) for each major release that combines all the patches to easily install or deploy its last update. There may be up to three maintenance releases every year for each Service Pack. C12G Labs is committed to supporting all users that install latest Services Packs.

Availability of OpenNebulaApps 4.0

In few days OpenNebulaApps 4.0 will be also available for download including AppStage, AppFlow and AppMarket for your OpenNebula 4.0 cloud, please stay tuned!. These tools will be incorporated into the main distribution of OpenNebula from version 4.2.

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.

Supported Platform Components

Because OpenNebula is inherently portable to different operating systems and virtualization platforms, most Linux distributions and Hypervisors are supported. However, not all platform configurations and combinations exhibit a similar functionality, performance and stability. You can contact us if you need advise about the best platform configurations and environments for functionality and performance. Please read our Certification Policy for more information.

Certified Platform Components

This is the list of the individual platform components that have been through the complete OpenNebula Quality Assurance and Certification Process.

Certified Platform Component Version
RedHat Enterprise Linux 6.4
Ubuntu Server 12.10
SUSE Linux Enterprise 12.3
CentOS 6.4
openSUSE 12.3
Debian 6.0.7
VMware ESX 5.0
Xen 4.0
KVM Supported version that is included in the kernel for the Linux distribution
Xen Server, Xen Cloud Platform, and Hyper-V  Please contact us if you are interested in these hypervisors

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, and especially to and especially to Produban - Banco Santander, China Mobile, Blackberry, GlobalRap, RedIris, Schneider Electric - Telvent, Qingye Jiang (Eucalyptus), Iftikhar Rathore (CISCO), Joel Merrick (BBC), Bill Campbell (Axcess Finantial), Patrick McGarry (Ceph), and Karanbir Singh (CentOS), Hyun Woo Kim (FermiLab), Márk Gergely, Mihály Héder and Tamás Marlok (MTA SZTAKI), Simon Boulet, Vlastimil Holer, Jon A., Jean-Philippe Garcia Ballester, Matthew Richardson and Dmitri Chebotarov. OpenNebula's Development Portal provides more details about the specific contributions. We would also like to thank all the people that have contributed translations for Sunstone.

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.